ユーザーが設定したドキュメントを効率的に検索・参照できるMCPサーバーです。
docs-mcpを使用するにはuvが必要です。uvはPythonパッケージとプロジェクト管理のための高速なツールです。
お使いのOSに合わせて選択してください
curl -LsSf https://astral.sh/uv/install.sh | shpowershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"brew install uvpip install uv詳細はuvのインストールガイドを参照してください。
- 📄 ドキュメント一覧表示 - すべてのドキュメントとその説明を一覧表示
- 🔍 grep検索 - 正規表現を使った高速な全文検索
- 🧠 セマンティック検索 - OpenAI Embeddingsを使った意味的な類似検索(要設定)
- 📝 ドキュメント取得 - 指定したドキュメントの全内容を取得
既存のドキュメントがあるプロジェクトですぐに使えます:
# ドキュメント管理用フォルダを作成
mkdir -p my-docs/docs
# ドキュメントファイルをdocs/に配置Claude Desktopの設定(claude_desktop_config.json)に追加:
{
"mcpServers": {
"docs": {
"command": "uvx",
"args": ["docs-mcp"],
"env": {
"DOCS_BASE_DIR": "/path/to/my-docs"
}
}
}
}重要: docs-mcpは常にプロジェクトフォルダ内のdocs/ディレクトリを参照します。
手元にあるMarkdownやテキストファイルをすぐに検索可能にできます:
- プロジェクトフォルダを作成
docs/ディレクトリにドキュメントを配置- Claude Desktopの設定を更新
✅ メリット: コマンドライン操作不要、すぐに使える
❌ デメリット: インポートツールが使えない
GitHubやWebサイトからドキュメントを取り込む場合:
# ドキュメント管理プロジェクトをセットアップ
uv init my-docs
cd my-docs
uv add docs-mcp
# GitHubからドキュメントをインポート
uv run docs-mcp-import-github https://github.com/owner/repo
# 特定のディレクトリだけインポート
uv run docs-mcp-import-github https://github.com/owner/repo/tree/main/docs -o project-docs✅ メリット: 外部ドキュメントを簡単に取り込める
❌ デメリット: uvのセットアップが必要
OpenAI Embeddingsを使った意味的な検索を追加できます:
# 1. OpenAI APIキーを設定
export OPENAI_API_KEY="sk-..."
# 2. メタデータを生成(プロジェクトディレクトリで実行)
uv run docs-mcp-generate-metadataClaude Desktopの設定でAPIキーを追加:
{
"mcpServers": {
"docs": {
"command": "uvx",
"args": ["docs-mcp"],
"env": {
"DOCS_BASE_DIR": "/path/to/my-docs",
"OPENAI_API_KEY": "sk-..." // セマンティック検索が有効になる
}
}
}
}{
"mcpServers": {
"docs": {
"command": "uvx",
"args": ["docs-mcp"],
"env": {
"DOCS_BASE_DIR": "/path/to/my-docs",
"OPENAI_API_KEY": "sk-...",
"DOCS_FOLDERS": "api,guides,examples", // 特定のフォルダのみ読み込み
"DOCS_FILE_EXTENSIONS": ".md,.mdx,.txt,.py" // 対象ファイル拡張子を制限
}
}
}
}list_docs- ドキュメント一覧表示get_doc- ドキュメント内容取得grep_docs- 正規表現検索semantic_search- 意味的な類似検索(要OpenAI APIキー)
docs-mcp-import-url- Webサイトからドキュメントをインポートdocs-mcp-import-github- GitHubリポジトリからインポートdocs-mcp-generate-metadata- セマンティック検索用メタデータを生成
- uv - Python環境とパッケージ管理ツール(
uvxコマンドで実行) - Python 3.12以上(uvが自動的に管理)
- OpenAI APIキー(セマンティック検索を使用する場合のみ)
| 変数名 | 説明 | デフォルト値 |
|---|---|---|
OPENAI_API_KEY |
OpenAI APIキー(セマンティック検索用) | なし |
DOCS_BASE_DIR |
ドキュメントプロジェクトのルート | 現在のディレクトリ |
DOCS_FOLDERS |
読み込むフォルダ(カンマ区切り) | docs/内の全フォルダ |
DOCS_FILE_EXTENSIONS |
対象ファイル拡張子 | デフォルトの拡張子リスト |
クリックして展開
- ドキュメント:
.md,.mdx,.txt,.rst,.asciidoc,.org - 設定:
.json,.yaml,.yml,.toml,.ini,.cfg,.conf,.xml,.csv - コード:
.py,.js,.jsx,.ts,.tsx,.java,.cpp,.c,.h,.go,.rs,.rb,.php - スクリプト:
.sh,.bash,.zsh,.ps1,.bat - Web:
.html,.css,.scss,.vue,.svelte - その他:
.sql,.graphql,.proto,.ipynb,.dockerfile,.gitignore
my-docs/
└── docs/
├── api/
│ └── reference.md
├── guides/
│ └── quickstart.md
└── examples/
└── sample.py
git clone https://github.com/herring101/docs-mcp.git
cd docs-mcp
uv sync
# テスト
uv run pytest tests/
# ビルド
uv buildクリックして展開
Webサイトからドキュメントをインポート
docs-mcp-import-url https://example.com/docs --output-dir importedオプション:
--output-dir,-o: 出力ディレクトリ名(docs/配下に保存)--depth,-d: クロール深度--include-pattern,-i: 含めるURLパターン--exclude-pattern,-e: 除外するURLパターン--concurrent,-c: 同時ダウンロード数
GitHubリポジトリからインポート。ブランチを指定しない場合はデフォルトブランチ(main/master等)を自動検出します。
# リポジトリ全体をインポート
docs-mcp-import-github https://github.com/owner/repo
# 特定のパスのみインポート(docs/importedに保存される)
docs-mcp-import-github https://github.com/owner/repo/tree/main/docs --output-dir imported
# masterブランチのリポジトリも自動検出
docs-mcp-import-github https://github.com/Cysharp/UniTaskオプション:
--output-dir,-o: 出力ディレクトリ名(docs/配下に保存。デフォルト: リポジトリ名)
セマンティック検索用のメタデータを生成
export OPENAI_API_KEY="your-key"
docs-mcp-generate-metadata- APIキーは環境変数で管理
DOCS_FOLDERSとDOCS_FILE_EXTENSIONSでアクセスを制限- 外部ネットワークアクセスはOpenAI APIのみ
よくある問題
- 設定ファイルの構文を確認
DOCS_BASE_DIRが正しいパスを指しているか確認- Claude Desktopを再起動
OPENAI_API_KEYが設定されているか確認docs-mcp-generate-metadataを実行したか確認
- URL/GitHubリポジトリがアクセス可能か確認
- ネットワーク接続を確認
MIT License - LICENSE
CONTRIBUTING.mdを参照してください。