Read The Full Manual — local document-corpus search MCP server.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"rtfm-mcp","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# rtfm > **rtfm** — Read the ~~F-~~ **Full** Manual. A local MCP server with thin Claude Code and OpenCode fronts that makes large, can't-read-by-hand technical documentation searchable — PDF spec sets, documentation repositories (and, later, public doc sites) — and answers questions strictly from that material, with grounded citations. The server is published as the `rtfm-mcp` Python package. The eternal advice "read the manual" falls apart when the manual is a 400-page protocol spec or a vendor doc-set no human can hold in their head. `rtfm` ingests the **full** manual so the answer is one cited query away. ## Limitations `rtfm` indexes the **extractable text** a document already carries. It does not OCR images and does not execute JavaScript, so image-only/scanned PDFs and image-only or JS-rendered web pages are out of scope — they index as empty. (See [ADR 0005](https://github.com/canlin-zhang/rtfm/blob/main/docs/adr/0005-text-extraction-only-no-ocr.md).) ## Install ### Claude Code ```bash # in Claude Code: /plugin marketplace add canlin-zhang/rtfm /plugin install rtfm@rtfm ``` ### OpenCode ```bash opencode plugin add 'github:canlin-zhang/rtfm#main::path:plugins/opencode' ``` The plugin registers the `rtfm` MCP server and the `read-the-manual` skill. ### Any MCP client (PyPI) The server is also published as `rtfm-mcp`: ```bash uvx --from rtfm-mcp rtfm-server # or: pipx install rtfm-mcp && rtfm-server ``` Point the client's MCP configuration at that command: ```json { "mcpServers": { "rtfm": { "command": "uvx", "args": ["--from", "rtfm-mcp", "rtfm-server"] } } } ``` **Prerequisites:** the plugin builds a private venv under `$CLAUDE_PLUGIN_DATA/venv` (Claude Code) or `~/.rtfm/fronts/<front>/venv` (otherwise), installs the pinned `rtfm-mcp` there once, and runs it from there. It uses `uv` when present (`uv venv --seed` + `uv pip install`); without uv it falls back to `python3 -m venv` + pip, so `python3` with a working…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.