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_docs、get_document の値を入力します。auth_type が none の場合は、認証なしを選択しトークンを空のままにします。Streamable HTTPをサポートするクライアントは、AskMesh固有のアダプターなしで同じエンドポイントに接続できます。

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

Related MCP server: Home File Agent

対応フォーマット

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

MCPコントラクト

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

  • search_docs(query, limit): route、title、url、snippet、score を返します。

  • 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解析、オブジェクトストレージ、ベクター検索、マルチテナント制御プレーンは、今後のリリースで計画されています。

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that exposes one or more documentation folders (Markdown, MDX, TXT) to AI agents, enabling listing, reading, and searching of documentation files.
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server that provides secure read-only access to a local folder, enabling file listing, reading, semantic search (RAG), and indexing status via natural language, integrated with Claude Desktop and a custom agent loop.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    A security-first, read-only MCP server that lets clients browse and read text, PDF, and XLSX files from an explicit allowlist of local folders, with strict path and secret protections.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Local MCP server that extracts text and structure from PDF, DOCX, PPTX, SVG, and PNG files, along with directory and metadata listing, for read-only document analysis by LLM hosts.
    -