Skip to main content
Glama
r9s-ai

docs2mcp

by r9s-ai

docs2mcp

Markdown、HTML、またはTXTファイルのディレクトリを、互換性のあるMCPクライアントまたはエージェントがドキュメント取得のために接続できる、リモートで読み取り専用のMCPサーバーに変換します。これにはAskMesh、Claudeインテグレーション、Codex、カスタムMCPクライアントが含まれます。

クイックスタート

uvx docs2mcp serve ./docs \
  --base-url https://docs.example.com/docs \
  --host 0.0.0.0 \
  --port 8765

uvx は、PyPIから分離された環境を作成し、公開されている docs2mcp CLIを手動インストールなしで実行します。チェックアウトからのローカル開発では、代わりに python -m docs2mcp.runtime を使用してください。

ファイル監視と定期的な再調整による増分同期を有効にします:

uvx docs2mcp serve ./docs \
  --host 0.0.0.0 \
  --port 8765 \
  --watch \
  --sync-interval 30

最初の起動時にはディレクトリ全体をスキャンします。その後の変更はドキュメントごとに適用されます。新しいファイルは挿入され、変更されたファイルは再インデックス化され、削除されたファイルは削除され、変更のないファイルはスキップされます。ウォッチャーは短いデバウンス時間を使用し、定期的なスキャンはイベントを確実に発行しないファイルシステム向けのフォールバックを提供します。

DNSリバインディング保護を有効にして特定の公開アドレスにバインドする場合は、受信Hostヘッダーを明示的に許可してください:

uvx docs2mcp serve ./docs \
  --host 0.0.0.0 \
  --port 8765 \
  --allowed-host 'docs.example.com:*'

インストールと起動には同じPythonインタープリターを使用してください。docs2mcpは公式MCP Python SDK mcp>=1.27.0,<2 を必要とします。mcp という名前の古いまたは無関係なパッケージは mcp.server.fastmcp を提供しません。

レガシーの doc2mcp コマンドは、互換性エイリアスとして引き続き利用できます。

プロセスは起動時にMCP接続設定を出力します。認証はオプションです:--token を渡すとBearer認証が有効になり、省略すると認証なしで実行されます。

{
  "endpoint": "http://127.0.0.1:8765/mcp",
  "auth_type": "none",
  "token": null,
  "search_tool": "search_docs",
  "read_tool": "get_document",
  "contract_version": "agent-qa.docs/v1"
}

MCPクライアント設定に、endpoint、認証モード、search_docsget_document の値を入力します。auth_typenone の場合は、認証なしを選択しトークンを空のままにします。Streamable HTTPをサポートするクライアントは、AskMesh固有のアダプターなしで同じエンドポイントに接続できます。

GET /readyz は、ドキュメント数と最新の同期カウンター(追加、更新、削除、スキップ、失敗、所要時間、最後のエラーを含む)を報告します。

Related MCP server: Synapse

対応フォーマット

MVPは .md.markdown.txt.html.htm をサポートしています。インデックス作成にはSQLite FTS5を使用するため、別途ベクトルデータベースは不要です。

MCPコントラクト

サーバーは相互運用可能な agent-qa.docs/v1 ドキュメントコントラクトを実装し、次の2つの読み取り専用ツールを公開します:

  • search_docs(query, limit): routetitleurlsnippetscore を返します。

  • get_document(route, max_characters): ドキュメントのコンテンツ、セクション、引用URLを返します。

search_docs.query はSQLite FTS5構文を使用します。空白はANDクエリ、OR はいずれかの用語にマッチ、引用符で囲まれたテキストは正確なフレーズを検索、NOT は用語を除外、* は前方一致を有効にします。これはセマンティックな自然言語検索ではありません。クライアントはこの構文をユーザーに表示する必要があります。

任意のMCPクライアントから接続する

リモートMCP接続をサポートするクライアントでは、Streamable HTTPエンドポイントと上記2つのツール名を使用してください。AskMeshはサポートされているインテグレーションの1つです。Claudeベースのクライアント、Codex、カスタムエージェントも同じエンドポイントと読み取り専用コントラクトを使用できます。

現在の制限事項

このリリースはシングルホストMVPです。ドキュメントはローカルディレクトリからインポートされ、インデックスはSQLiteに保存されます。Git同期、PDF解析、オブジェクトストレージ、ベクター検索、マルチテナント制御プレーンは、今後のリリースで計画されています。

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Agent-native MCP server over the public saagarpatel.dev corpus. Read-only, stateless.

  • Serve a folder of Markdown notes as an MCP server: hybrid search, reading, and sourced answers.

  • MCP server for accessing curated awesome list documentation

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/r9s-ai/docs2mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server