mcpField
M
mcp-docs-server

mcp-docs-server

ローカル
github.com/praveenc開発ツール244 週間前に更新

mcp-docs-server について

mcp-docs-serverは、プロトコル文書を検索するローカルMCPサーバーです。開発者やMCP利用者向けに、BM25で検索結果を順位付けし、URLから文書全体を取得できます。

主な機能

  1. 01BM25による文書検索
  2. 02URLから文書全体を取得
  3. 03Markdownを考慮した関連度評価
  4. 04stdioによるローカルプロセス通信

活用シーン

  1. 01開発中にMCPプロトコルの仕様を調査
  2. 02既知の文書ページの全文を取得

MCP 対応

stdio経由で、MCPクライアントに `search_mcp_docs` と `fetch_mcp_doc` ツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"praveenc-mcp-docs-server": {
"command": "npx",
"args": [
"-y",
"@praveenc/mcp-docs-server"
]
}
}
}
起動コマンドnpx -y @praveenc/mcp-docs-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@praveenc/mcp-docs-server0.1.0

ツール

2

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
knumberいいえ返す結果の最大数
querystringはい検索クエリ文字列(例:'tool input schema'、'stdio transport')

詳細

MCP Docs Server

MCP プロトコルのドキュメントを検索するための Model Context Protocol(MCP)サーバーです。公式 MCP SDK を使用して TypeScript で構築されています。

npm version MCP Registry

機能

  • 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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。