For AI Agents
This page is written for the agent as much as the human. The CodeXX MCP Server exists to make a C++ codebase legible to a model, so its own docs are published in a machine-friendly form too.
Read these docs as llms.txt
Section titled “Read these docs as llms.txt”The entire documentation set is available as a single plain-text bundle, ready to drop into a model’s context:
/llms.txt— an indexed summary of the docs./llms-full.txt— the complete reference in one file.
Point an agent at /llms-full.txt to teach it the whole product surface in one fetch — no crawling, no HTML.
Start every session with discover
Section titled “Start every session with discover”The server is self-describing. A cold agent’s first call should be discover, which returns:
- the full tool catalog — every tool’s name, access level, and purpose,
- the recommended entry point (
find_symbols), and - a suggested workflow for using the tools together.
An agent that calls discover first can use the server effectively without being pre-taught — the catalog it gets back is always exact for the running version. Pair it with health to confirm the server is live. See Discovery & Facts.
The recommended loop
Section titled “The recommended loop”The toolset rewards a broad-to-narrow approach, which keeps a model’s context small and its answers grounded in tool results rather than guesses:
- Orient —
discover(once), thenfind_symbolsto locate a symbol or enumerate a kind/file. - Get oriented —
symbol_dossierfor a one-call overview before pulling detail. - Drill in —
references,read_symbol_source,navigate_graph, ormemory_layout, as the question demands. - Record —
relabel_symbol/describe_symbolto leave durable notes that resurface next session.
The Typical Agent Session guide walks this loop end to end with concrete calls.
- Identifiers are strings. Symbol IDs are decimal strings — thread them through verbatim; never coerce them to numbers. See Symbols & Identity.
- Prefer qualified names. An unqualified name may resolve ambiguously; the server returns candidates rather than guessing.
- Results are paged and bounded. Navigation and large source reads come back with a “there’s more” signal — check it before concluding you’ve seen everything. See Navigating Code.
- Some results are point-in-time. Navigation handles expire and are invalidated by re-index; memory layout reflects a specific build. Re-query rather than relying on stale results.