Agent Docs について
Agent Docsは、Claude Code、Cursor、Codex、MCPの最新の公式ドキュメントを必要とするエージェント向けのリモートMCPサーバーです。約600ページをインデックス化して毎日更新し、該当箇所の検索とセクションの読み込みを提供します。
主な機能
- 01公式ドキュメントの該当箇所を検索
- 02ドキュメントのセクションを読み込み
- 03インデックスを毎日更新
- 04MCPとRESTのインターフェース
活用シーン
- 01Claude Codeの最新設定方法を調べる
- 02Cursor、Codex、MCPのドキュメントを検索
- 03該当箇所を見つけた後にセクション全体を読む
MCP 対応
リモートMCPサーバーは、該当箇所を探す search_docs と、ページの概要またはセクションを取得する read_section を提供します。MCPクライアントから接続でき、ツール呼び出しにはCohereキーまたは所有者発行のトークンが必要です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://agent-docs-mcp.onrender.com/mcp/claude mcp add --transport http konstantinstarovoytov-agent-docs https://agent-docs-mcp.onrender.com/mcp/{"mcpServers":{"konstantinstarovoytov-agent-docs":{"type":"http","url":"https://agent-docs-mcp.onrender.com/mcp/"}}}Cursor で開く{"servers":{"konstantinstarovoytov-agent-docs":{"type":"http","url":"https://agent-docs-mcp.onrender.com/mcp/"}}}VS Code で開く{"mcpServers":{"konstantinstarovoytov-agent-docs":{"type":"http","url":"https://agent-docs-mcp.onrender.com/mcp/"}}}{"mcpServers":{"konstantinstarovoytov-agent-docs":{"serverUrl":"https://agent-docs-mcp.onrender.com/mcp/"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://agent-docs-mcp.onrender.com/mcp/認証が必要ツール
2| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| limit | integer | いいえ | 返すページ数。1~20(デフォルトは 8)。 |
| query | string | はい | 検索内容を英語で指定します。キーワードまたは短い質問。例:"<product> <feature> <what you need>"。 |
| product | any | いいえ | この製品のみを検索します。現在または以前の会話でユーザーが製品名を挙げている場合に設定してください。それ以外の場合は空欄にします。製品を絞り込まなくても製品固有のページは見つかりますが、誤った製品を指定すると正しいページが表示されません。 |
| response_format | enum | いいえ | `concise`(デフォルト):各該当箇所の先頭 300 文字。選択に十分な情報が得られます。`detailed`:全文(各約 800 トークン)。まず concise を使い、必要なページについて limit を小さくして detailed で再実行してください。concise | detailed |
詳細
Agent Docs
Claude Code、Cursor、Codex、MCP の最新の公式ドキュメントを AI エージェントに提供する MCP サーバーです。
これらのツールは、モデルのトレーニングデータよりも速いペースで変化します。Agent Docs は、これらの公式ドキュメント約 600 ページを検索インデックスに保存し、毎日更新して、エージェントに 2 つのツールを提供します。1 つは該当する箇所を見つけ、もう 1 つはセクション全体を読み込みます。エージェントは実際のドキュメントをもとに回答し、そのドキュメントへのリンクも提示できます。
リモート MCP サーバーとして(また REST 経由で)動作します。無料の Cohere キーでお試しいただけます。
ご自身のペースで順を追ってご覧ください(矢印キーを使用できます)。または、静止画をご覧ください。
静止画で見る 15 のステップ
構築方法と測定内容:ARCHITECTURE.md。
接続
任意の MCP クライアント(Claude Code、Cursor、OpenWebUI など)にサーバーを追加します。
{
"mcpServers": {
"agent-docs": {
"url": "https://agent-docs-mcp.onrender.com/mcp/",
"headers": { "X-Cohere-Api-Key": "<your Cohere key>" }
}
}
}
ツールの呼び出しには、次のいずれかのヘッダーが必要です。
- ご自身の Cohere キー:
X-Cohere-Api-Key: <key>。無料トライアルキーは dashboard.cohere.com で取得できます。このキーは そのリクエストの再ランキングに使用され、保存もログへの記録もされません。上限は IP あたり毎分 30 リクエストです。 - 所有者から提供されたトークン:
Authorization: Bearer <API_TOKEN>。ゲスト トークンを希望する場合は、「Guest token request」というタイトルで issue を作成してください。
サーバーは無料プランで稼働しています。15 分間アイドル状態が続くと、最初のリクエストには 約 1 分かかります。
| ツール | 返される内容 |
|---|---|
search_docs(query, limit=8, product=None, response_format="concise") | 条件に一致する各ページから最適な文章をランキング順に返します。ページの 1 行説明と関連度スコアも含まれます。1 回の呼び出しでは 1 つのトピックについて質問してください。product:claude-code、cursor、codex、mcp |
read_section(url, heading=None, offset=0, outline_depth=2) | 見出しを指定しない場合は、ページの説明とアウトラインを返します(outline_depth=3 でサブセクションも表示)。見出しを指定した場合は、セクション全体を 1 回あたり最大 8,000 文字返します(残りは next_offset で取得できます)。 |
REST 経由:
curl -X POST https://agent-docs-mcp.onrender.com/ask \
-H "Authorization: Bearer $API_TOKEN" -H 'content-type: application/json' \
-d '{"question": "How do I add an MCP server in Claude Code?"}'
ご自身のキーを使う場合は、Authorization の行を
-H "X-Cohere-Api-Key: $COHERE_API_KEY" に置き換えてください。
| エンドポイント | 用途 |
|---|---|
GET /health | 稼働状況の確認。トークン不要 |
POST /ask | 引用付きの文章による回答 |
POST /search | ページの説明を含む文章(search_docs) |
POST /pages | ページカード:説明とアウトライン |
POST /section | ページ内の 1 つのセクション(read_section) |
POST /mcp/ | MCP(ストリーミング可能な HTTP) |
GET /docs | インタラクティブな API ドキュメント(トークンを使って Authorize で認証) |
サーバーを使わずローカルで実行(stdio、トークン不要):
{ "mcpServers": { "agent-docs": { "command": "uv",
"args": ["run", "--directory", "/path/to/agent-docs", "rag-mcp"] } } }
MCP ディレクトリ向け: 接続とツール一覧の取得にキーは不要です(IP あたり毎分 30 リクエスト)。必要なのは tools/call のみです。サーバーはセッションを保持しないため、GET /mcp は 405 を返します。すべてのリクエストは POST で送信してください。
公式 MCP Registry に
io.github.KonstantinStarovoytov/agent-docs として登録されています
(server.json)。
対応範囲
| 製品 | ソース |
|---|---|
| Claude Code(Agent SDK、プラグインを含む) | code.claude.com/docs/llms.txt |
| Cursor | cursor.com/llms.txt |
| Codex | developers.openai.com/codex/llms.txt |
| MCP(最新の仕様、レジストリ、拡張機能) | modelcontextprotocol.io/llms.txt |
仕組み
エージェントは search_docs を呼び出し、文章だけでは不十分な場合に read_section を呼び出します。この処理ではサーバー上で言語モデルを実行しません。エージェントが文章を読み、自ら回答を作成します。
search_docs は次の 4 つのステップで動作します。
- 意味(埋め込み)と完全一致する単語(BM25)の両方で同時に検索するため、「ツールサーバーに接続する」と
claude mcp addのどちらでも適切なページが見つかります。 - 2 つの結果リストを順位に基づいて統合します。同順位の場合は固定順で保持されるため、同じ質問には常に同じ結果が返されます。
- リランカー(Cohere)が上位 20 件を質問とともに読み込み、それぞれの一致度を採点します。
- 各ページから最適な文章を残し、そのページの 1 行説明と、ほかに一致したセクションの見出しを追加します。
read_section は保存済みのページコピーを読み込むため、モデルは呼び出されません。検索は Langfuse でトレースされます。
REST エンドポイント /ask は、エージェントではないクライアント向けです。ロシア語とポーランド語の質問も英語に翻訳します。最適な候補のスコアが 0.55 未満の場合は「ドキュメントには記載されていません」と回答します。チャンクを 8 件選択し(1 つのセクションからは最大 2 件)、gpt-6-luna がそれらを引用した回答を作成します。
毎日更新
**自分のペースで手順を確認する**か、静止画を開いてください。
12の手順を静止画で確認
毎日06:00 UTCにGitHub Actionsのジョブが各ベンダーのページ一覧
(llms.txt)を読み込み、インデックスを更新します。
- 変更されたページは再度埋め込み処理され、変更されていないページはスキップされます。
- 新規ページはまず確認されます。不審なページは、所有者がGitHubの課題でIndexまたはDeclineにチェックを入れるまで保留されます。
- 一覧から消えたページは削除されます。ただし、一度に消えるページが多すぎる場合は削除されません。
- 製品で何が変更されたかをまとめた簡潔なレポートが reports/docs-changes/に掲載されます。
測定結果
各変更は、採用する前にラベル付きの質問で測定しました。うまくいかなかったものも含むすべての実験については、 ARCHITECTURE.mdをご覧ください。
| 変更 | 測定された効果 |
|---|---|
/ask のチャンク数を5個から8個に増加 | 複数パートの質問を完全に網羅:25% → 75% |
| 英語以外の質問を英語に翻訳 | Hit@5:0.958 → 1.000 |
| リランカーの候補数を20個ではなく10個に | 完全に網羅:75% 対 50%(候補を増やすと、2つ目のトピックが押し出されました) |
gpt-5.6-luna ではなく gpt-6-luna | 忠実度:0.975 → 0.994 |
| 同点の場合に固定順序を適用 | 同じ質問には同じ結果が返るようになりました(以前はそうではありませんでした) |
search_docs でページごとに1つの抜粋を取得 | 上位5件に含まれる異なるページ数:3.1 → 5.0、ページのHit@5:0.936 → 0.979 |
ページ内のほかの一致セクションの見出し(other_sections) | ラベル付けされたセクションが表示される割合:0.667 → 0.867。実際のエージェントでは、正確さは同じまま、セクションの読み取り失敗が減少(11 → 1) |
回答が質問の一部を取りこぼす場合でも、検索では通常、適切なテキストが見つかっています。問題はその後、モデルが参照する候補を絞り込む段階で発生します。
実行環境
| 構成要素 | サービス | プラン |
|---|---|---|
| API + MCP サーバー | Render、agent-docs-mcp.onrender.com のサービス agent-docs | 無料ウェブサービス |
| ベクトルインデックス | Qdrant Cloud | 無料の1 GBクラスター |
| トレース、評価用データセット、プロンプト | Langfuse Cloud | 無料のHobbyプラン |
| 日次再インデックス、CI | GitHub Actions | 無料 |
| 埋め込み、回答 | OpenAI(text-embedding-3-small、gpt-6-luna) | 従量課金 |
| リランキング | Cohere(rerank-v4.0-fast) | トライアルキー + フォールバックキー |
デプロイはCIの通過後にのみ実行されます。サービス全体は render.yamlで定義されています。
独自にデプロイする場合: Render → New → Blueprint → このリポジトリの順に選択します。要求されたシークレット(OPENAI_API_KEY、COHERE_API_KEY、任意のCOHERE_API_KEY_FALLBACK、
QDRANT_URL、QDRANT_API_KEY、LANGFUSE_PUBLIC_KEY、LANGFUSE_SECRET_KEY)を入力してください。
API_TOKENは自動生成されます。ホスト名を変更した場合は、
API_ALLOWED_HOSTSも更新してください(MCPトランスポートは不明なホストを拒否します)。ゲストのアクセスを無効にするには、
API_GUEST_TOKENをクリアしてください。
コスト
| 項目 | コスト |
|---|---|
| ホスティング、データベース、トレース、CI | 月額0ドル(無料枠) |
回答1件(/ask) | 約0.0007ドル(OpenAI。リランキングは無料トライアルを利用) |
検索1件(search_docs) | 約0ドル(埋め込み1回 + リランキング1回) |
| 日次再インデックス、変更なし | 0ドル |
| 日次再インデックス、数ページを変更 | 0.01ドル未満(埋め込み + 新しいページごとに短いLLMチェック1回) |
| インデックス全体の再構築 | 約0.10~0.30ドルの一時費用(埋め込み約0.07ドル + ページごとに短いLLMチェック1回) |
無料構成の制限:Cohereのトライアルでは、キーごとに月1,000回のリランキング(キーは2つ)と、毎分10回のリクエストが許可されます。APIは、有料リクエストが毎分60回までに制限されています。
開発
uv sync --locked # Python 3.14
cp .env.example .env # OpenAI, Cohere, Qdrant, Langfuse keys
docker compose up -d # local Qdrant + API on :8080
uv run python -m src.ask "How do skills work?"
uv run pytest -q && uv run ruff check src evals tests && uv run ruff format --check src evals tests && uv run mypy
ローカルで再インデックスを実行するには、uv run python -m src.reindex --dry-run --out /tmp/r
を実行します(書き込みは行われません)。または、GitHub ActionsでReindexワークフローを実行してください。
| フォルダー | 内容 |
|---|---|
src/ingestion/ | ページの選択、チャンク分割、不要データの除外、変更レポート |
src/rag/ | 検索、リランキング、コンテキストの選択、生成 |
src/service/ | REST APIとMCPサーバー(共通のハンドラーを使用) |
src/prompts/ | プロンプト。Langfuseでバージョン管理 |
evals/ | 評価ゲート:データセット、実行ツール、スコアラー(ガイド) |
reports/ | 実験結果と日次変更レポート(インデックス) |
docs/ | 図、アニメーション、調査結果、公開に関するメモ |
data/manifests/ | 各インデックスに含まれるページの一覧 |
scripts/ | 図のレンダリング、プロジェクトのキーを使用するLangfuse CLI |
図:docs/diagrams/*.mmdを編集してから、uv run python scripts/render_diagrams.pyを実行します。
アニメーション:質問のフローはdocs/flow/flows/ask.js、日次再インデックスのフローはdocs/flow/flows/reindex.jsを編集し、
docs/flow/render.shを実行します。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。