Labsco
herring101 logo

Docs MCP

★ 3

from herring101

A server for efficiently searching and referencing user-configured local documents.

🔥🔥🔥✓ VerifiedFreeQuick setup

docs-mcp

Test License: MIT

ナヌザヌが蚭定したドキュメントを効率的に怜玢・参照できるMCPサヌバヌです。

<a href="https://glama.ai/mcp/servers/@herring101/docs-mcp"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@herring101/docs-mcp/badge" alt="Docs-MCP MCP server" /> </a>

前提条件

docs-mcpを䜿甚するにはuvが必芁です。uvはPythonパッケヌゞずプロゞェクト管理のための高速なツヌルです。

uvのむンストヌル

<details> <summary>お䜿いのOSに合わせお遞択しおください</summary>

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
</details>

詳现は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",  // 察象ファむル拡匵子を制限
        "DOCS_MAX_CHARS_PER_PAGE": "5000",  // 1ペヌゞあたりの最倧文字数
        "DOCS_LARGE_FILE_THRESHOLD": "10000"  // 自動ペヌゞネヌション閟倀文字数
      }
    }
  }
}

利甚可胜なツヌル

MCPツヌルClaude内で䜿甚

  • list_docs - ドキュメント䞀芧衚瀺
  • get_doc - ドキュメント内容取埗ペヌゞネヌション察応
  • grep_docs - 正芏衚珟怜玢
  • semantic_search - 意味的な類䌌怜玢芁OpenAI APIキヌ

📖 ペヌゞネヌション機胜の䜿い方

倧きなドキュメント15,000文字超では自動的に1ペヌゞ目が衚瀺され、ペヌゞネヌションの䜿甚が掚奚されたす

# 基本的な䜿い方埓来通り
get_doc("path/to/document.md")  # 小さなファむルは党文衚瀺、倧きなファむルは自動的に1ペヌゞ目

# ペヌゞネヌション䜿甚
get_doc("path/to/document.md", page=1)  # 1ペヌゞ目デフォルト10,000文字たで
get_doc("path/to/document.md", page=2)  # 2ペヌゞ目
get_doc("path/to/document.md", page=3)  # 3ペヌゞ目

ペヌゞネヌション出力䟋

📄 Document: pytest/reference/plugin_list.rst
📖 Page 2/5 (chars 10,001-20,000/45,123)
📏 Lines 285-570/1,324 | Max chars per page: 10,000
⚠  Large document auto-paginated. To see other pages:
💡 get_doc('pytest/reference/plugin_list.rst', page=3)  # Next page
💡 get_doc('pytest/reference/plugin_list.rst', page=5)  # Last page
────────────────────────────────────────────────────────────

[ドキュメントの内容]

コマンドラむンツヌルドキュメント管理甚

  • 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_KEYOpenAI APIキヌセマンティック怜玢甚なし
DOCS_BASE_DIRドキュメントプロゞェクトのルヌト珟圚のディレクトリ
DOCS_FOLDERS読み蟌むフォルダカンマ区切りdocs/内の党フォルダ
DOCS_FILE_EXTENSIONS察象ファむル拡匵子デフォルトの拡匵子リスト
DOCS_MAX_CHARS_PER_PAGEペヌゞネヌションの1ペヌゞあたりの最倧文字数10000
DOCS_LARGE_FILE_THRESHOLD倧きなファむルの自動ペヌゞネヌション閟倀文字数15000

サポヌトされるファむル圢匏

<details> <summary>クリックしお展開</summary>
  • ドキュメント: .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
</details>

ディレクトリ構造の䟋

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

コマンドラむンツヌルの詳现

<details> <summary>クリックしお展開</summary>

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
</details>

セキュリティ

  • APIキヌは環境倉数で管理
  • DOCS_FOLDERSずDOCS_FILE_EXTENSIONSでアクセスを制限
  • 倖郚ネットワヌクアクセスはOpenAI APIのみ

トラブルシュヌティング

<details> <summary>よくある問題</summary>

Claude Desktopに衚瀺されない

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

セマンティック怜玢が動䜜しない

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

むンポヌトが倱敗する

  • URL/GitHubリポゞトリがアクセス可胜か確認
  • ネットワヌク接続を確認
</details>

ラむセンス

MIT License - LICENSE

コントリビュヌション

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