Skip to main content

An MCP server that enables efficient searching and referencing of user-configured documents

Project description

docs-mcp

Test License: MIT

ユーザーが設定したドキュメントを効率的に検索・参照できるMCPサーバーです。

前提条件

docs-mcpを使用するにはuvが必要です。uvはPythonパッケージとプロジェクト管理のための高速なツールです。

uvのインストール

お使いのOSに合わせて選択してください

macOS/Linux

curl -LsSf https://astral.sh/uv/install.sh | sh

Windows

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Homebrew (macOS)

brew install uv

pipでのインストール

pip 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/ディレクトリを参照します。

セットアップガイド

方法1: 既存のドキュメントで使う

手元にあるMarkdownやテキストファイルをすぐに検索可能にできます:

  1. プロジェクトフォルダを作成
  2. docs/ディレクトリにドキュメントを配置
  3. Claude Desktopの設定を更新

メリット: コマンドライン操作不要、すぐに使える
デメリット: インポートツールが使えない

方法2: インポートツールを活用する

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-metadata

Claude 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"  // 対象ファイル拡張子を制限
      }
    }
  }
}

利用可能なツール

MCPツール(Claude内で使用)

  • 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

コマンドラインツールの詳細

クリックして展開

docs-mcp-import-url

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: 同時ダウンロード数

docs-mcp-import-github

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/配下に保存。デフォルト: リポジトリ名)

docs-mcp-generate-metadata

セマンティック検索用のメタデータを生成

export OPENAI_API_KEY="your-key"
docs-mcp-generate-metadata

セキュリティ

  • APIキーは環境変数で管理
  • DOCS_FOLDERSDOCS_FILE_EXTENSIONSでアクセスを制限
  • 外部ネットワークアクセスはOpenAI APIのみ

トラブルシューティング

よくある問題

Claude Desktopに表示されない

  • 設定ファイルの構文を確認
  • DOCS_BASE_DIRが正しいパスを指しているか確認
  • Claude Desktopを再起動

セマンティック検索が動作しない

  • OPENAI_API_KEYが設定されているか確認
  • docs-mcp-generate-metadataを実行したか確認

インポートが失敗する

  • URL/GitHubリポジトリがアクセス可能か確認
  • ネットワーク接続を確認

ライセンス

MIT License - LICENSE

コントリビューション

CONTRIBUTING.mdを参照してください。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

docs_mcp-0.1.1.tar.gz (83.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

docs_mcp-0.1.1-py3-none-any.whl (23.1 kB view details)

Uploaded Python 3

File details

Details for the file docs_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: docs_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 83.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.13

File hashes

Hashes for docs_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ea77f6787f8244c13a3f32ebe82455f626b3280a479698c6bd52a6cbef93f3e4
MD5 849d7d03cf781ecb19b5c6ad39950794
BLAKE2b-256 fe58429cfa14dca1f0a73ec45cc18674d8aab00a19375c15f655303ca058dc99

See more details on using hashes here.

File details

Details for the file docs_mcp-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: docs_mcp-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 23.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.13

File hashes

Hashes for docs_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 17463aafa8276e6c70bbd00ef24e423216eb4e7d8a62759fa09e9901c56464a2
MD5 fcd6c731a1f512d860688875b6c52844
BLAKE2b-256 3d22fc04b59daa49e853b5bae724f729217aa68487a8930923df33ecb763d7a1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page