MCP LLMS-TXT ドキュメントサーバー
概要
llms.txtは LLM のウェブサイトインデックスであり、背景情報、ガイダンス、詳細なマークダウンファイルへのリンクを提供しています。Cursor や Windsurf などの IDE や Claude Code/Desktop などのアプリは、 llms.txt
を使用してタスクのコンテキストを取得できます。ただし、これらのアプリはllms.txt
などのファイルの読み取りと処理に、異なる組み込みツールを使用しています。取得プロセスは不透明になる場合があり、ツールの呼び出しや返されたコンテキストを監査する方法が必ずしも存在しない場合があります。
MCPは、開発者がこれらのアプリケーションで使用されるツールを完全に制御する方法を提供します。ここでは、オープンソースのMCPサーバーを作成し、MCPホストアプリケーション(例:Cursor、Windsurf、Claude Code/Desktop)に、(1) ユーザー定義のllms.txt
ファイルリストと、(2) 提供されたllms.txt
ファイル内のURLを読み取るシンプルなfetch_docs
ツールを提供します。これにより、ユーザーは各ツールの呼び出しと返されるコンテキストを監査できます。
llms-txt
langgraph および langchain の llms.txt ファイルは、次の場所にあります。
図書館 | llms.txt |
---|---|
ラングラフPython | https://langchain-ai.github.io/langgraph/llms.txt |
ラングラフJS | https://langchain-ai.github.io/langgraphjs/llms.txt |
ランチェーンPython | https://python.langchain.com/llms.txt |
ランチェーンJS | https://js.langchain.com/llms.txt |
クイックスタート
uvをインストールする
uv
をインストールする他の方法については、公式の uv ドキュメントを参照してください。
使用するllms.txt
ファイルを選択します。
- たとえば、LangGraph
llms.txt
ファイルは次のとおりです。
注: セキュリティとドメインアクセス制御
セキュリティ上の理由から、mcpdoc は厳格なドメイン アクセス制御を実装しています。
- リモート llms.txt ファイル:リモート llms.txt URL(例:
https://langchain-ai.github.io/langgraph/llms.txt
://langchain-ai.github.io/langgraph/llms.txt)を指定すると、mcpdoc は自動的にそのドメイン(langchain-ai.github.io
)のみを許可ドメインリストに追加します。つまり、ツールはそのドメインの URL からのみドキュメントを取得できます。- ローカル llms.txt ファイル: ローカルファイルを使用する場合、ドメインは許可リストに自動的に追加されません。--
--allowed-domains
パラメータを使用して、許可するドメインを明示的に指定する必要があります。
- 追加のドメインの追加: 自動的に含まれるドメイン以外のドメインからの取得を許可するには:
- 特定のドメインを追加するには、
--allowed-domains domain1.com domain2.com
を使用します。- すべてのドメインを許可するには、
--allowed-domains '*'
を使用します(注意して使用してください)このセキュリティ対策により、ユーザーによって明示的に承認されていないドメインへの不正アクセスが防止され、信頼できるソースからのみドキュメントを取得できるようになります。
(オプション) 選択したllms.txt
ファイルを使用して、MCP サーバーをローカルでテストします。
- これはhttp://localhost:8082で実行されるはずです
- MCP インスペクターを実行し、実行中のサーバーに接続します。
- ここで、
tool
呼び出しをテストできます。
カーソルに接続
Cursor Settings
とMCP
タブを開きます。- これにより
~/.cursor/mcp.json
ファイルが開きます。
- 次の内容をファイルに貼り付けます (
langgraph-docs-mcp
という名前を使用し、LangGraphllms.txt
にリンクします)。
Cursor Settings/MCP
タブでサーバーが実行中であることを確認します。- ベストプラクティスは、カーソル グローバル (ユーザー) ルールを更新することです。
- カーソル
Settings/Rules
を開き、User Rules
次のように更新します (または同様の内容にします)。
CMD+L
(Mac の場合) を押すとチャットが開きます。agent
が選択されていることを確認します。
次に、次のようなサンプルプロンプトを試してください。
ウィンドサーフィンに接続する
CMD+L
(Mac の場合) で Cascade を開きます。Configure MCP
クリックして、構成ファイル~/.codeium/windsurf/mcp_config.json
を開きます。- 上記のとおり、
langgraph-docs-mcp
で更新します。
Windsurf Rules/Global rules
次の内容 (または同様の内容) で更新します。
次に、次のサンプルプロンプトを試してください。
- ツール呼び出しを実行します。
Claudeデスクトップに接続
Settings/Developer
を開いて、~/Library/Application\ Support/Claude/claude_desktop_config.json
を更新します。- 上記のとおり、
langgraph-docs-mcp
で更新します。 - Claude デスクトップ アプリを再起動します。
[!Note] Claude Desktop に MCPDoc ツールを追加しようとしたときに Python バージョンの非互換性の問題が発生する場合は、
uvx
コマンドでpython
実行可能ファイルへのファイルパスを明示的に指定できます。
[!Note] 現在 (2025 年 3 月 21 日)、Claude Desktop はグローバル ルールの
rules
をサポートしていないようですので、プロンプトに次の内容を追加します。
- チャット入力の右下にツールが表示されます。
次に、次のサンプルプロンプトを試してください。
- リクエストを処理する際に、ツール呼び出しの承認を求められます。
クロード・コードに接続する
- Claude Codeをインストールした後、ターミナルで次のコマンドを実行して、MCP サーバーをプロジェクトに追加します。
~/.claude.json
更新されていることがわかります。- Claude Code を起動して実行し、ツールを表示してテストします。
[!Note] 現在 (2025 年 3 月 21 日)、Claude Code はグローバル ルールの
rules
をサポートしていないようですので、プロンプトに次の内容を追加します。
次に、次のサンプルプロンプトを試してください。
- ツールの呼び出しを承認するように求められます。
コマンドラインインターフェース
mcpdoc
コマンドは、ドキュメント サーバーを起動するためのシンプルな CLI を提供します。
ドキュメント ソースは次の 3 つの方法で指定でき、これらを組み合わせることもできます。
- YAML 構成ファイルの使用:
- これにより、このリポジトリの
sample_config.yaml
ファイルから LangGraph Python ドキュメントが読み込まれます。
- JSON 構成ファイルの使用:
- これにより、このリポジトリの
sample_config.json
ファイルから LangGraph Python ドキュメントが読み込まれます。
- オプションの名前を使用して llms.txt URL を直接指定します。
- URL は、プレーン URL として指定することも、
name:url
形式を使用してオプションの名前で指定することもできます。 --urls
パラメータを複数回使用して複数の URL を指定できます。- これは、上記の MCP サーバーの
llms.txt
をロードする方法です。
これらの方法を組み合わせてドキュメント ソースをマージすることもできます。
追加オプション
--follow-redirects
: HTTP リダイレクトに従う (デフォルトは False)--timeout SECONDS
: HTTPリクエストのタイムアウト(秒)(デフォルトは10.0)
追加オプションの例:
これにより、LangGraph Python ドキュメントが 15 秒のタイムアウトで読み込まれ、必要に応じて HTTP リダイレクトに従います。
設定形式
YAML と JSON の両方の構成ファイルには、ドキュメント ソースのリストが含まれている必要があります。
各ソースにはllms_txt
URL を含める必要があり、オプションでname
を含めることもできます。
YAML 設定例 (sample_config.yaml)
JSON 設定例 (sample_config.json)
プログラムによる使用
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
任意の llms.txt ソースからドキュメントをロードおよび取得するためのツールを提供する MCP サーバー。これにより、ユーザーは IDE エージェントおよびアプリケーションで LLM のコンテキスト取得を完全に制御できます。
Related Resources
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol (MCP) server that enables LLMs to interact directly the documents that they have on-disk through agentic RAG and hybrid search in LanceDB. Ask LLMs questions about the dataset as a whole or about specific documents.Last updated -1231TypeScriptMIT License
- -securityFlicense-qualityA MCP server that exposes OpenAPI schema information to LLMs like Claude. This server allows an LLM to explore and understand large OpenAPI schemas through a set of specialized tools, without needing to load the whole schema into the contextLast updated -375JavaScript
- -securityAlicense-qualityAn MCP server that enables clients to extract LLM-friendly prompts from documentation in GitHub repositories or hosted websites.Last updated -PythonApache 2.0
- -securityAlicense-qualityAn open-source MCP server that provides applications like Cursor, Windsurf, and Claude with access to llms.txt documentation files, allowing users to control and audit context retrieval.Last updated -4PythonMIT License