agents-docs
Search, file, and manage local markdown technical docs through MCP, including docset sync and model playbooks.
search_docs: header-aware BM25 search across fact categories, docsets, or all.get_doc: fetch raw markdown of a specific fact sheet, spec, or playbook.write_doc: append durable dated technical facts or overwrite a wrong sheet.delete_doc: remove wrong, duplicate, or yanked sheets.list_docs: list indexed docs with category and size.list_catalog: see curated docsets available for 1-click sync.sync_external_doc: fetch a catalog docset or custom llms.txt/raw markdown URL.get_model_playbook: get operational playbooks, strengths, and traps for AI models.
Provides searchable official Cloudflare documentation, allowing agents to look up Workers, Pages, and network APIs.
Provides searchable official FastAPI documentation, allowing agents to retrieve accurate API usage, parameters, and examples.
Provides searchable official Hono documentation, allowing agents to look up web framework APIs and middleware.
Provides searchable official Netlify documentation, enabling agents to retrieve deployment and configuration guidance.
Provides searchable official Next.js documentation, helping agents use current App Router and server/client components correctly.
Provides searchable official Pydantic documentation, helping agents use data validation and settings management APIs.
Provides searchable official React documentation, helping agents use current React 19 APIs and avoid deprecated patterns.
Provides searchable official Resend documentation, enabling agents to send emails and manage email APIs.
Provides searchable official shadcn/ui documentation, enabling agents to use UI components and styling patterns.
Provides searchable official Supabase documentation, enabling agents to retrieve database, auth, and storage APIs.
Provides searchable official Svelte 5 documentation, enabling agents to avoid deprecated APIs and use Runes correctly.
Provides searchable official Tauri 2 documentation, enabling agents to look up desktop app development APIs.
Provides searchable official TypeScript documentation, helping agents retrieve accurate type system information and handbook sections.
Provides searchable official Vite documentation, allowing agents to look up build tool configuration and features.
Provides searchable official WXT documentation, helping agents build browser extensions with current APIs.
Provides searchable official Zod documentation, enabling agents to use schema validation APIs correctly.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@agents-docs search FastAPI docs for dependency injection"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Quickstart
pip install agents-docs && agents-docs initCreates ~/.agents/docs/ (category dirs only), copies skills, and merges MCP into host configs whose directories already exist. Docsets are not seeded. Fetch one with agents-docs sync <name>.
🤖 Agent-Driven Setup: Give your coding agent this repo (clone or URL), then tell it to "install and set up agents-docs."
Source checkouts can also be installed and managed with vand.
Related MCP server: Speakeasy Docs MCP
What it does
Markdown on disk is the store (~/.agents/docs/, override AGENTS_DOCS_PATH). Search is header-aware BM25 in-process. No vector database, no embeddings.
Layer | Where | What lives there |
Fact sheets |
| Append-mostly notes agents file with |
Docsets | one folder per catalog name or ingest | Fetched |
Search. search_docs ranks sections, not whole files. A named catalog docset is fetched when missing and refreshed when stale (7 days, ai-models 1 day).
Catalog sync does not rewrite fact sheets. sync / prune leave stacks|models|apis|platforms|custom alone.
Memory is a different store. User prefs, project decisions, and identity go to agents-memory. Do not dump READMEs or chat logs here. delete_doc is for a wrong, duplicate, or yanked sheet — not because a model is old.
Where it runs
Floor: any MCP client or a terminal. python -m agents_docs serve is enough.
init autowires hosts it finds. It does not install an IDE.
Layer | What you get | Who |
Vault + MCP/CLI | Full tools, or the CLI mirrors below | Any MCP host / any shell |
Autowire on init | Merge | Cursor, Claude Desktop, Zed ( |
MCP without autowire: point the host at python -m agents_docs serve.
MCP tools
Primary surface. Agents file and search facts here.
Tool | What it does |
| Header-aware BM25. |
| Raw markdown of one sheet |
| Append a dated section. |
| Drop a wrong, duplicate, or yanked sheet. No CLI mirror |
| Fact sheets with category and size |
| The 21 names |
| Fetch a catalog name or a custom |
| Model playbook text ( |
Eight tools. Full contract: abi/MCP.md.
CLI
Ops / install / batch. Vault writes mirror MCP. Machine-readable catalog: python -m agents_docs --help-json (do not scrape --help).
Command | Purpose |
| Categories, skills, MCP merge. No docset download |
| List the 21 catalog names |
| Fetch a catalog item or a custom URL |
| Copy a local markdown folder into the store |
| BM25. CLI flag is |
| Installed docsets with file and byte counts |
| Append a fact. Alias: |
| Same text as |
| Strip boilerplate in installed docsets |
| stdio MCP. Also the default when you pass no command |
| Re-copy skills, or re-merge MCP, without the rest of |
ABI
Layout and contracts in abi/:
WHY.md— markdown + BM25 instead of a vector databaseLAYOUT.md—~/.agents/docs/taxonomyMCP.md— tool surfaceCLI.md— commandsCATALOG.md— catalog schemaLLMSTXT.md—llms.txtfetch
Tests
python tests/run_all_tests.pyLicense
MIT. See LICENSE.
Available Tools
8 toolsdelete_docA
Delete a technical fact sheet that is wrong, duplicate, or yanked.
Do not delete because a fact is old. Old-but-still-true model/API notes stay.
Args: name: Document identifier to delete category: Category where the doc resides ('stacks', 'models', 'apis', 'platforms', 'custom')
Inputs: name (required), category. Returns: result
get_docA
Fetch the complete raw markdown of a technical fact sheet, spec, or playbook.
Args: name: Name or relative path of the doc (e.g. 'tailwind-v3', 'stacks/fastapi.md', 'coolify-db', 'ai-models/pricing_and_specs.md') category: Optional category filter ('stacks', 'models', 'apis', 'platforms', 'custom', or 'all').
Inputs: name (required), category. Returns: result
get_model_playbookA
Get self-awareness operational playbooks, strengths, traps, and best practices for AI models. Enables models to understand their own capabilities and optimize tool execution patterns.
Args: model: Model name or family (e.g. 'gemini-3.7-flash', 'claude-3.7-sonnet', 'gpt-4o', 'deepseek-r1', 'qwen', or 'auto').
Inputs: model. Returns: result
list_catalogA
List curated pre-configured framework docsets available for 1-click sync. Includes Svelte 5, FastAPI, Next.js, Supabase, Tailwind v3/v4, Tauri 2, Hono, MCP, WXT.
Inputs: no named parameters. Returns: result
list_docsB
List all indexed technical documents, fact sheets, API specs, and playbooks with category and size.
Args: category: Filter by category ('stacks', 'models', 'apis', 'platforms', 'custom', or 'all')
Inputs: category. Returns: result
search_docsA
Search hard technical facts, API specs, stack rules, model capabilities, and playbooks using header-aware BM25 ranking.
Args: query: Keywords, function signatures, syntax, or technical questions (e.g. 'runes $state', 'HTTPException', 'coolify postgres port', 'cdp tab focus') category: Target category ('stacks', 'models', 'apis', 'platforms', 'custom', or specific docset name, or 'all' to search everything). top_k: Number of relevant sections to return (default 4).
Inputs: query (required), top_k, category. Returns: result
sync_external_docB
Fetch/synchronize an external documentation set from curated catalog or custom llms.txt URL.
Args: name: Name of the catalog item (e.g. 'svelte-5', 'fastapi', 'tailwind-v3') or custom identifier. url: Optional custom URL (pointing to llms.txt, llms-full.txt, or raw markdown).
Inputs: name (required), url. Returns: result
write_docA
Append a durable technical fact (API spec, stack rule, model capability, platform note).
Default appends a dated section. Does not clobber. Use overwrite=True only to replace a wrong sheet. Hard tech facts belong here. User prefs and project fluid facts belong in agents-memory, not docs. delete_doc is for wrong/duplicate/yanked sheets — not for an old model that is still true.
Args: name: Short document identifier (e.g. 'powershell-gotchas', 'stripe-api', 'coolify-db-ports') content: Markdown fact to append (or full replacement when overwrite=True) category: One of 'stacks' (frameworks/libs), 'models' (LLM specs), 'apis' (protocol/APIs), 'platforms' (OS/Infra/DB), 'custom' overwrite: False (default) appends. True replaces the entire file.
Inputs: name (required), content (required), category, overwrite. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 8 tools
Each tool targets a clearly distinct operation: search vs. full fetch, write vs. delete vs. list, external sync vs. catalog listing, and a specialized model playbook. The descriptions explicitly delineate boundaries (e.g., write_doc for facts vs. agents-memory for prefs). No two tools can be easily confused.
All tool names follow a consistent snake_case verb_noun pattern (search_docs, get_doc, write_doc, delete_doc, list_docs, sync_external_doc, get_model_playbook, list_catalog). There are no deviations in casing or verb style.
Eight tools is well-scoped for a documentation management server. Each tool serves a unique purpose—retrieval, mutation, listing, external sync, and playbooks—with no redundancy or bloat.
The surface covers full CRUD (write with overwrite for update, get/search/list, delete) plus external synchronization, catalog browsing, and specialized model playbooks. No obvious gaps in the documentation lifecycle are apparent.
Maintenance
Related MCP Connectors
Cloud or self-hosted knowledge for AI agents: hybrid search, reranking, GraphRAG, scoped MCP tools.
Versioned documentation registry and semantic search for AI tools and coding assistants.
Self-hosted AI workspace: semantic RAG document search, long-term memory, and AI chat via MCP.
Your personal library, readable by AI agents: durable snapshots, hybrid search, 46 MCP tools.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server that gives AI coding agents on-demand access to private project docs via BM25 ranked search. One setup for Claude Code, Cursor, Codex, Gemini CLI, and more. Docs stay private, never in public repos.1516Apache 2.0

Speakeasy Docs MCPofficial
AlicenseNot gradedqualityBmaintenanceA lightweight, domain-agnostic hybrid search engine for markdown corpora, exposed via the Model Context Protocol (MCP), optimized for serving SDK documentation to AI coding agents.9AGPL 3.0- AlicenseAqualityDmaintenanceLocal-first context retrieval engine that serves precise documentation chunks to coding agents via MCP, ensuring high-confidence context for code generation.3MIT
- FlicenseNot gradedqualityDmaintenanceMCP server + RAG chatbot that makes your MDX documentation searchable by AI assistants. Built on BM25 + metadata filtering.-