AI & agents
Tessero's documentation is machine-ingestible. Point Claude Code, Cursor, Copilot or any agent at these endpoints and it will write Tessero code against the exact current release, fewer hallucinations, faster integration.
Tessero is native PHP with fully verified NumPy and SciPy parity, so there is nothing to guess at and no call-out-to-Python tax. LLMs still write broken numerical code when they guess at an unfamiliar library, so rather than hope the model remembers Tessero, we publish the docs in formats an agent can read directly. Everything below is generated from the same source the site renders, and is version-aware: it reflects the docs version currently being served.
Endpoints
/llms.txt
A curated index of the docs (the llms.txt convention). Start here.
/llms-full.txt
The entire docs corpus plus API signatures and examples in one file, for a single ingest.
/docs/api.json
Normalised, machine-readable API: every class, method and exact signature, with the current version.
/docs/search.json
A flat search index over the docs, API and examples, handy for retrieval tooling.
<any docs URL>.md
Any docs page as clean Markdown, append .md to its URL (e.g. /docs/user-guide/linear-algebra.md, /docs/api/tessero-ndarray.md).
/docs/metrics.md
The generated per-module NumPy/SciPy parity metrics (both backends, fully verified) as Markdown.
/docs/embeddings.json
A precomputed vector index of the docs for semantic retrieval, download it, or POST a query to /docs/semantic-search for nearest matches.
Use it with Claude Code
Drop a pointer into your project's CLAUDE.md (or .cursorrules / Copilot
instructions). The agent will fetch the current docs and API when it needs them:
# TesseroPHP
This project uses TesseroPHP for numerical computing. When writing Tessero code:
- Read the current API signatures: http://tessero.org/docs/api.json
- For anything non-trivial, consult the docs index: http://tessero.org/llms.txt
(or the full corpus in one file: http://tessero.org/llms-full.txt)
- Tessero is PHP: call methods with `->` / `::`, never Python's `.`.
- Never loop in PHP for maths, use NDArray operators, broadcasting and reductions.
- Always `declare(strict_types=1);` and emit explicit `use` imports.
- If numbers look off or an import fails, run `tessero doctor` to self-diagnose the install (backend, BLAS, extension).
You can also pull a page-scoped, profile-aware prompt from the “Build this with Claude Code” card at the top of every docs page, it bakes in the real signatures for that page.
First, a free API key
The machine endpoints (MCP, llms.txt, api.json, the raw .md pages and the
embeddings index) require a free account; there's no cost and no card.
Create an account, then generate a token at
API tokens and send it as a bearer token.
(The human docs pages and /docs/search.json stay open.)
MCP server (first-class agent tools)
Tessero hosts a read-only Model Context Protocol server so Claude Code (and any MCP client) can register the docs as native tools, no copy-pasting URLs. Add it once, passing your token:
claude mcp add --transport http \
--header "Authorization: Bearer <token>" \
tessero http://tessero.org/mcp
MCP endpoint (opens in a new tab): http://tessero.org/mcp
The agent then gets these tools:
get_release, the current version and latest changelog entry.get_api, exact class/method signatures (optionally filtered to a class).get_coverage, per-module NumPy/SciPy parity on both backends (fully verified).search_docs, find a topic across docs, API and examples.read_page, read any docs page as clean Markdown.
Or just fetch the endpoints
Any agent that can make HTTP requests can use these directly; pass your token as a bearer header:
curl -s -H "Authorization: Bearer <token>" http://tessero.org/docs/api.json # exact signatures + current version
curl -s -H "Authorization: Bearer <token>" http://tessero.org/llms.txt # curated docs index (links to .md pages)
curl -s -H "Authorization: Bearer <token>" http://tessero.org/llms-full.txt # full docs in one document
The responses are stable and cache-friendly; the version field in api.json (and
the MCP get_release tool) tells the agent exactly which release it is working against.
Semantic search (embeddings)
For retrieval-augmented tooling, a precomputed vector index is published at
/docs/embeddings.json (unit-normalised vectors + metadata per chunk). You can download it and
run nearest-neighbour search yourself, or POST a query and let the server do it:
curl -s http://tessero.org/docs/semantic-search \
-H "Authorization: Bearer <token>" \
-H 'Content-Type: application/json' \
-d '{"query": "solve a linear system", "limit": 5}'
The default index uses an offline, dependency-free embedder (lexical similarity). Operators can set
EMBEDDINGS_DRIVER=openai with an API key for true semantic vectors; the index rebuilds on the
next docs:embed / deploy.
Keeping it current
These artifacts are regenerated from the library docs on each update, so as new releases land and statistics change, agents reading them stay in sync, no manual step. When the library tags a release, the API reference and these endpoints move with it via the version switcher.