mcp-docs-server について
mcp-docs-serverは、プロトコル文書を検索するローカルMCPサーバーです。開発者やMCP利用者向けに、BM25で検索結果を順位付けし、URLから文書全体を取得できます。
主な機能
- 01BM25による文書検索
- 02URLから文書全体を取得
- 03Markdownを考慮した関連度評価
- 04stdioによるローカルプロセス通信
活用シーン
- 01開発中にMCPプロトコルの仕様を調査
- 02既知の文書ページの全文を取得
MCP 対応
stdio経由で、MCPクライアントに `search_mcp_docs` と `fetch_mcp_doc` ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| k | number | いいえ | 返す結果の最大数 |
| query | string | はい | 検索クエリ文字列(例:'tool input schema'、'stdio transport') |
詳細
MCP Docs Server
MCP プロトコルのドキュメントを検索するための Model Context Protocol(MCP)サーバーです。公式 MCP SDK を使用して TypeScript で構築されています。
機能
- BM25 検索 - Porter ステミングを使用した BM25 アルゴリズムによる高品質なランキング検索
- 高速起動 - 起動時にドキュメントのタイトルをインデックス化し、内容は必要に応じて取得します
- Markdown 対応 - 関連性を高めるため、ヘッダー、コードブロック、リンクに重み付けします
- stdio トランスポート - 簡単に統合できるよう、ローカルプロセスとして実行します
インストール
クイックスタート(推奨)
MCP クライアントの設定(Claude Desktop、Kiro など)に追加します。
{
"mcpServers": {
"mcp-docs-server": {
"command": "npx",
"args": ["-y", "@praveenc/mcp-docs-server"]
}
}
}
これで完了です。サーバーは自動的にダウンロードされ、実行されます。
グローバルインストール
npm install -g @praveenc/mcp-docs-server
次に、MCP クライアントを設定します。
{
"mcpServers": {
"mcp-docs-server": {
"command": "mcp-docs-server"
}
}
}
ツール
search_mcp_docs
ランキング結果を含む MCP プロトコルのドキュメントを検索します。
パラメーター:
query(string、必須):検索クエリ文字列k(number、任意):返す結果の最大数(デフォルト:5)。一致するドキュメントが少ない場合は、それより少ない数を返します。
例:
{
"query": "transports",
"k": 5
}
戻り値:
[
{
"url": "https://modelcontextprotocol.io/specification/2025-11-25/basic/transports.md",
"title": "Transports",
"score": 15.725,
"snippet": "MCP uses JSON-RPC to encode messages..."
}
]
fetch_mcp_doc
URL を指定してドキュメントの全文を取得します。
パラメーター:
uri(string、必須):modelcontextprotocol.io のドキュメント URL
例:
{
"uri": "https://modelcontextprotocol.io/specification/2025-11-25/server/tools.md"
}
戻り値:
{
"url": "https://modelcontextprotocol.io/specification/2025-11-25/server/tools.md",
"title": "Tools",
"content": "# Tools\n\nTools enable servers to expose executable functionality..."
}
MCP Inspector でのテスト
npx @modelcontextprotocol/inspector npx -y @praveenc/mcp-docs-server
開発
ローカル開発用にリポジトリをクローンします。
git clone https://github.com/praveenc/mcp-docs-server.git
cd mcp-docs-server
npm install
コマンド
# Run in development mode
npm run dev
# Run tests
npm test
# Type check
npm run typecheck
# Build
npm run build
# Test with MCP Inspector (development)
npm run inspect:dev
ローカル MCP クライアント設定(開発用)
{
"mcpServers": {
"mcp-docs-server": {
"command": "npx",
"args": ["tsx", "/path/to/mcp-docs-server/src/index.ts"]
}
}
}
アーキテクチャ
src/
├── index.ts # MCP server entry point
├── config.ts # Configuration
├── tools/
│ └── docs.ts # search_mcp_docs, fetch_mcp_doc
└── utils/
├── cache.ts # Document caching
├── doc-fetcher.ts # HTTP fetching & HTML parsing
├── indexer.ts # BM25 search index
├── logger.ts # Logging utilities
├── stopwords.ts # Stop words list
├── text-processor.ts # Text utilities
└── url-validator.ts # URL validation
検索アルゴリズム
検索では、次の拡張機能を備えた BM25(Best Matching 25)を使用します。
- Porter ステミング - 単語の活用形を一致させます(例:「running」→「run」)
- バイグラム - フレーズの一致を検出します(例:「tool input」)
- 重み付けスコアリング:
- タイトルの一致:3~8 倍のブースト
- ヘッダーの一致:4 倍の重み
- コードブロック:2 倍の重み
- リンクテキスト:2 倍の重み
- ドメイン用語の保持 - 「mcp」、「json」、「stdio」などの技術用語はステミングされません
ライセンス
MIT
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。