🚀 ユニバーサルドキュメンテーションMCPサーバー
この高性能なMCP(Model Context Protocol)サーバーは、任意のドキュメンテーションウェブサイトをAIがアクセス可能な知識ベースに変換します。もともとはGitBook用に開発されましたが、Vercelドキュメント、Next.jsサイト、Docusaurusなど、多くのドキュメントプラットフォームで動作します。即時起動、インテリジェントキャッシュ、自動ドメイン検出などの機能を備えています。

✨ 主な機能
- ⚡ 即時起動 - SQLiteストレージを使用し、サブ秒単位でサーバーを初期化します
- 🔍 高度な検索 - FTS5全文検索を使用し、曖昧一致とランキング機能を備えています
- 🧠 スマート自動検出 - ドメイン、キーワード、ブランディングを自動的に検出します
- 📝 Markdown最適化 - 構文ハイライト付きのコードブロックを含む書式を保持します
- 🔄 バックグラウンド更新 - 非ブロッキングの変更検出とキャッシュのリフレッシュを行います
- 🌐 ユニバーサルサポート - GitBook、Vercelドキュメント、Next.jsサイトなど、多くのドキュメントプラットフォームで動作します
- 📡 デュアルインターフェース - MCPツールとREST APIエンドポイントの両方をサポートします
- 🚀 本番環境対応 - レート制限、エラーハンドリング、堅牢なキャッシュ機能を備えています
🚀 クイックスタート
💡 おすすめ: 最高の体験を得るために、インタラクティブクリエイターを使用してください!
🎨 Web UI管理ダッシュボード
git clone https://github.com/tcsenpai/mcpbook/
cd mcpbook
npm run ui:build
npm run ui
Web UIは以下の機能を提供します:
- 🚀 ビジュアルサーバー作成 - ライブURL検証付きのステップバイステップウィザード
- 📊 サーバー管理 - リアルタイムステータス付きでサーバーを起動/停止/削除する
- 📋 Claudeデスクトップ統合 - 1クリックで設定をコピーまたはCLI経由で追加する
- 🖥️ ライブターミナル - リアルタイムフィードバックとコマンド実行
- ⚠️ 安全機能 - 確認ダイアログとキャンセル機能
⭐ 1コマンドセットアップ
git clone https://github.com/tcsenpai/mcpbook/
cd mcpbook
npm exec create-gitbook-mcp
以上で完了です! 🎉 インタラクティブウィザードは以下のことを行います:
- ✨ スマートデフォルトでセットアップを案内する
- 🔍 ドキュメンテーションサイトからドメイン/キーワードを自動検出する
- 📦 整理されたディレクトリにインストールする (
~/.config/mcpbooks/servers/[name])
- 🌍 必要に応じてグローバルにインストールする (
your-server-nameコマンドとしてアクセス可能)
- 🤖 Claudeデスクトップを自動設定する (オプション)
- 🚀 すべてを事前キャッシュして、即時サーバー起動を可能にする
🛠️ 手動セットアップ(上級者向け)
-
インストールと設定
npm install
echo "GITBOOK_URL=https://docs.yoursite.com" > .env
-
自動検出でビルド
npm run build
-
サーバーを起動
npm start
-
MCPインスペクターでテスト
npx @modelcontextprotocol/inspector node dist/index.js
📦 インストールオプション
オプション1: ローカル開発
git clone <repository>
cd mcpbook
npm install
npm run build
npm start
オプション2: グローバルインストール
npm install -g .
your-mcp-server-name
オプション3: Claudeデスクトップ統合
{
"mcpServers": {
"gitbook": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": {
"GITBOOK_URL": "https://docs.yoursite.com"
}
}
}
}
設定ファイルの場所:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\\Claude\\claude_desktop_config.json
オプション4: StreamableHTTPトランスポート
npm run start:http
node dist/index.js --streamable-http --port=3002
オプション5: REST APIサーバー
npm run start:api
PORT=8080 npm run start:api
🌐 プラットフォーム互換性
もともとはGitBook用に設計されましたが、このMCPサーバーは多くのドキュメントプラットフォームと実績のある互換性を持っています:
✅ 動作が保証されている
- GitBook (元のターゲットプラットフォーム)
- カスタムGitBookインスタンス
🎯 正常にテストされている
- Vercelホストのドキュメント (
docs.vercel.com, aptos.dev)
- Next.jsドキュメントサイト
- 一貫したナビゲーションを持つ静的サイトジェネレーター
- ほとんどのHTMLベースのドキュメントプラットフォーム
🔧 動作原理
スクレイパーは以下のことをインテリジェントに行います:
- リンククローリングを通じてナビゲーションを検出する
- 任意のHTML構造からコンテンツを抽出する
- 異なるレイアウトに自動的に適応する
- さまざまな認証とルーティングパターンを処理する
💡 プロの秘訣: サイトに一貫したナビゲーションとアクセス可能なコンテンツがあれば、私たちのスクレイパーはおそらく動作します!自動検出機能が異なるサイト構造に自動的に適応します。
⚙️ 設定
自動検出(おすすめ)
GITBOOK_URL=https://docs.yoursite.com
AUTO_DETECT_DOMAIN=true
AUTO_DETECT_KEYWORDS=true
サーバーは自動的に以下のことを行います:
- ドメイン固有のツール名を生成する (
stripe_docs_search, api_docs_get_page)
- コンテンツから関連するキーワードを抽出する
- より良いAI統合のためにコンテキストを持った説明を作成する
手動設定
# ターゲットGitBook(必須)
GITBOOK_URL=https://docs.yoursite.com
# カスタムブランディング(オプション)
SERVER_NAME=my-api-docs
SERVER_DESCRIPTION=API documentation and guides
DOMAIN_KEYWORDS=api,rest,graphql,endpoints
TOOL_PREFIX=api_
# パフォーマンスチューニング
CACHE_TTL_HOURS=1
MAX_CONCURRENT_REQUESTS=5
SCRAPING_DELAY_MS=100
設定例
APIドキュメンテーション:
GITBOOK_URL=https://api-docs.yourservice.com
TOOL_PREFIX=api_
DOMAIN_KEYWORDS=api,rest,endpoints,authentication
→ 結果: api_search_content, api_get_page など
製品ドキュメンテーション:
GITBOOK_URL=https://help.yourproduct.com
TOOL_PREFIX=help_
DOMAIN_KEYWORDS=tutorial,guide,troubleshooting
→ 結果: help_search_content, help_get_page など
🛠️ 利用可能なツール
サーバーは自動的に接頭辞が付けられた7つのMCPツールを公開しています:
コアツール
| ツール |
説明 |
パラメーター |
{prefix}_search_content |
ランキング付きの高度な検索 |
query: 検索用語 |
{prefix}_get_page |
特定のページコンテンツを取得する |
path: ページパス (例: "/api/auth") |
{prefix}_list_sections |
目次を取得する |
なし |
{prefix}_get_section_pages |
セクション内のすべてのページを取得する |
section: セクション名 |
{prefix}_refresh_content |
キャッシュを強制的にリフレッシュする |
なし |
{prefix}_get_code_blocks |
構文ハイライト付きでコードを抽出する |
path: ページパス |
{prefix}_get_markdown |
整形されたMarkdownを取得する |
path: ページパス |
MCPプロンプト
explain_section - 包括的なチュートリアルを生成する
summarize_page - 簡潔な要約を作成する
compare_sections - ドキュメンテーションセクションを比較する
api_reference - APIドキュメンテーションとして整形する
quick_start_guide - クイックスタートガイドを生成する
🌐 HTTPインターフェース
サーバーはMCP StreamableHTTPと従来のREST APIの両方をサポートしています:
StreamableHTTP MCPプロトコル:
curl http://localhost:3001/health
curl -X POST http://localhost:3001/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'
REST API (別のサーバー):
curl "http://localhost:3000/api/search?q=authentication"
curl "http://localhost:3000/api/page/api/authentication"
curl "http://localhost:3000/api/page/api/authentication/markdown"
curl "http://localhost:3000/api/page/api/authentication/code"
curl "http://localhost:3000/api/sections"
curl "http://localhost:3000/api/sections/API/pages"
curl "http://localhost:3000/api/status"
curl -X POST "http://localhost:3000/api/refresh"
🎯 使用例
自動検出結果
docs.stripe.com → stripe_search_content, stripe_get_page
docs.react.dev → react_search_content, react_get_page
api.yourcompany.com → api_search_content, api_get_page
- 汎用サイト →
docs_search_content, docs_get_page
MCPツールの使用例
{"tool": "api_search_content", "arguments": {"query": "oauth authentication"}}
{"tool": "api_get_page", "arguments": {"path": "/auth/oauth"}}
{"tool": "api_get_code_blocks", "arguments": {"path": "/sdk/quickstart"}}
{"tool": "api_refresh_content", "arguments": {}}
🏗️ アーキテクチャ
- SQLiteストレージ - FTS5全文検索付きで高速起動
- バックグラウンド更新 - 非ブロッキングの変更検出
- 自動検出 - ドメインとキーワードの抽出
- 並列スクレイピング - 設定可能な並列度
- スマートキャッシュ - 変更されたコンテンツのみを更新
主要コンポーネント
GitBookScraper - ウェブスクレイピングとコンテンツ抽出
SQLiteStore - FTS5検索付きの高性能ストレージ
DomainDetector - 自動的なドメインとキーワード検出
GitBookMCPServer - ツールハンドラー付きのMCPサーバー
GitBookRestAPI - ウェブ統合用のHTTPエンドポイント
🔧 開発
npm run dev
npm run build
npm run auto-detect
npm run build:clean
npx @modelcontextprotocol/inspector node dist/index.js
🌍 ユニバーサルGitBookサポート
任意の公開GitBookで動作します。以下を含みます:
- APIドキュメンテーション - Stripe、Twilioなど
- フレームワークドキュメント - React、Vue、Angular
- 製品ガイド - ヘルプセンターとチュートリアル
- 開発者リソース - SDKとリファレンス
- 会社ウィキ - 内部ドキュメンテーション
⚡ パフォーマンス
- 即時起動: SQLiteキャッシュを使用してサブ秒単位で初期化
- バックグラウンド更新: 非ブロッキングの変更検出
- スマートインデックス: ランキング付きのFTS5全文検索
- 効率的なストレージ: 低速なJSON解析の代わりにSQLiteを使用
- メモリ最適化: 完全なメモリキャッシュの代わりにオンデマンドでロード
🚧 制限事項
- 公開GitBookのみ - 公開アクセス可能なサイトが必要
- 静的コンテンツ - 公開されたHTMLをスクレイピングし、APIベースではない
- 手動リフレッシュ - リアルタイム更新はない(リフレッシュツールを使用)
- テキスト中心 - テキストコンテンツを抽出し、インタラクティブ要素は抽出しない
📄 ライセンス
MIT
ヘルプが必要ですか? MCPドキュメンテーションを確認するか、イシューを開いてください。