Anthropic Docs
FreeNot checkedOffline mirror + MCP server for Anthropic docs (Claude API, Claude Code, MCP spec, Help Center). Local full-text search + git-based change tracking.
About
Offline mirror + MCP server for Anthropic docs (Claude API, Claude Code, MCP spec, Help Center). Local full-text search + git-based change tracking.
README
Offline mirror + MCP server for the entire Anthropic documentation universe — Claude API, Claude Code, Model Context Protocol, and the Claude Help Center. Search 1,100+ pages locally from Claude Code, Claude Desktop, or any MCP client, with git-based tracking of what the official docs changed each week.
Why: LLMs' built-in knowledge of Anthropic's own APIs is chronically outdated, and the docs move fast (weekly changelogs, new APIs, deprecations). A local, refreshable mirror gives your agent authoritative answers — and git diff tells you exactly what Anthropic changed, including edits that never make it into a changelog.
No HTML scraping involved: everything comes from the official LLM-friendly endpoints (llms.txt indexes + per-page .md).
Quick start
Requires Python 3.9+ (crawler, stdlib-only) and uv (server; resolves its own dependencies).
git clone https://github.com/YUYUqueen/anthropic-docs-mcp.git
cd anthropic-docs-mcp
# 1. Build the corpus (~1,100 pages, ~50 MB, a few minutes)
python3 crawl.py
# 2. Register the MCP server with Claude Code (available in all projects)
claude mcp add --scope user anthropic-docs -- uv run "$(pwd)/mcp_server.py"
For Claude Desktop, add to your MCP config:
{
"mcpServers": {
"anthropic-docs": {
"command": "uv",
"args": ["run", "/absolute/path/to/anthropic-docs-mcp/mcp_server.py"]
}
}
}
Tools
| Tool | What it does |
|---|---|
search_docs |
Full-text search with title-weighted ranking, snippets, per-site filtering, pagination — plus semantic layer/doc_type filters and native-language matching when metadata exists |
read_doc |
Read one page by relative path; long docs paginate automatically |
find_related |
Look up every page about an entity (e.g. "prompt caching"): primary pages, related pages, co-occurring entities (requires metadata) |
recent_changes |
What the official docs changed recently, from the corpus's git history |
Optional: semantic metadata layer
If you have the Claude Code CLI installed, you can enrich the corpus with per-page structured metadata — extraction runs through your Claude subscription (headless claude -p with Haiku), so there is no API bill:
python3 extract_metadata.py --limit 8 # sample first
python3 extract_metadata.py # full corpus (~1,100 calls, incremental, resumable)
python3 build_topics.py # aggregate into TOPICS.md + entity_index.json
This unlocks: layer/doc_type filters on search_docs, one-line summaries in results (language set via SUMMARY_LANG, default English), native-language queries matching English docs, the find_related reverse index, and a content-first TOPICS.md topic map. Re-run both scripts after each crawl; only changed pages are re-extracted.
What gets crawled
| Directory | Source | Scope |
|---|---|---|
docs/platform/ |
platform.claude.com | All guides + API reference for REST, Python, and TypeScript (7 other SDK languages excluded — edit SDK_LANGS_EXCLUDED in crawl.py to change) |
docs/claude-code/ |
code.claude.com/docs | Everything |
docs/mcp/ |
modelcontextprotocol.io | Everything |
docs/support/ |
support.claude.com | English articles |
English only by design: it is the only complete, always-current locale, and your MCP client's model can answer in any language anyway.
Keeping it fresh & tracking changes
The crawler is incremental (content-hash comparison; unchanged pages are skipped) and safe to re-run. To also get recent_changes and a reviewable history of what Anthropic edits each week, keep the corpus in its own directory with its own git repo (in this repo docs/ is gitignored so Anthropic's content never ends up in forks):
export ANTHROPIC_DOCS_DIR=~/anthropic-docs # both scripts honor this
git init "$ANTHROPIC_DOCS_DIR" # once
python3 crawl.py --git-commit # crawl + commit a snapshot when anything changed
Schedule it weekly (cron, launchd, or a Claude Code scheduled task). Then, inside the corpus directory:
git log --oneline # every docs snapshot
git diff HEAD~1 --stat -- docs/ # what changed since last crawl
git diff HEAD~1 -- indexes/ # pages Anthropic added or removed
ANTHROPIC_DOCS_DIR overrides the corpus location for both scripts (defaults to the repo directory).
Copyright note
This repository contains tooling only. The crawled content belongs to Anthropic / the Model Context Protocol project — build your mirror locally and don't redistribute the docs/ output (it's .gitignored for that reason).
License
MIT — see LICENSE. Not affiliated with Anthropic.
Installing Anthropic Docs
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/YUYUqueen/anthropic-docs-mcpFAQ
Is Anthropic Docs MCP free?
Yes, Anthropic Docs MCP is free — one-click install via Unyly at no cost.
Does Anthropic Docs need an API key?
No, Anthropic Docs runs without API keys or environment variables.
Is Anthropic Docs hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Anthropic Docs in Claude Desktop, Claude Code or Cursor?
Open Anthropic Docs on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Anthropic Docs with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
