Gemini Docs MCP Server
Gemini Docs MCP サーバー
説明
このプロジェクトは、200万トークンという巨大なコンテキストウィンドウを持つGemini APIを用いて、様々な技術のドキュメントへのアクセスを可能にするMCPサーバーを実装します。どのクライアントでも動作するはずですが、特にRoo/Cline環境を対象としています。
このアプローチには、単に Web を閲覧したり検索エンジンを使用したりする場合に比べていくつかの利点があります。
厳選されたナレッジ ベースへのアクセス: LLM は特定のドキュメント セットを使用して、モデルを混乱させる可能性のあるジャンク結果や誤検知を回避します。
**コンテキスト ウィンドウの制限を克服:**ドキュメントを直接提供することで、LLM は Web 検索のみで可能な情報よりも多くの情報にアクセスできます。
綿密に検討された、的確な回答: LLMはドキュメントから抜粋した情報を提供するだけでなく、対象となる技術の仕様全体を考慮した、論理的に根拠のある回答を作成します。これにより、「Xを実行する別の方法は何かありますか?」や「このスニペットは慣用的な表現ですか?」といった、より複雑な質問にも対応できます。
また、従来の RAG システムの問題点もいくつか克服しています。
チャンク化の必要はありません。LLMは、ドキュメントを小さな部分に分割したり、すべての可能な方法を苦労してテストして選択したりすることなく、ドキュメント全体に一度にアクセスできます。
リトリーバーは不要: Gemini API 自体が、ドキュメント全体にアクセスできる強力なリトリーバーとして機能するため、カスタム リトリーバーを実装する必要はありません。
**ベクトル化、ベクトルDB、その他の複雑なシステムは不要です。**プレーンテキストを直接操作し、すべてを一度に確認できるため、類似性検索にベクトルは必要ありません。関連性があれば、すぐに認識できます。
ただし、いくつか制限があります。
**リアルタイム更新なし:**ドキュメントは静的であり、リアルタイムで更新されません。つまり、手動でドキュメントを更新するか、自動化された方法を提供しない限り、LLMは最新の機能やテクノロジーの変更を把握できない可能性があります。
トークンの数が多いからといって、コンテキストウィンドウが無限大になるわけではありません。LLMは一度に約200万トークンしか認識できないため、一部のテクノロジーのドキュメント全体を把握できない可能性があります。これは特に、膨大な量のドキュメントを持つ大規模で複雑なスタックの場合に当てはまります。
それほど速くはありません。Gemini 1.5 Pro(Flashではありません)を使用しており、大量のドキュメントを読み込んでいるため、応答に時間がかかる可能性があります。特に最初のクエリでは、サーバーがドキュメントをAPIにアップロードする必要があるため、応答に時間がかかる可能性があります。
Related MCP server: MCPDocSearch
特徴
クライアントが「ドキュメントに質問する」アプローチを採用して、あまり知られていない技術やあまり知られていない技術を含む任意の数の技術を学習およびデバッグできるようにします。
Gemini API を使用して、ドキュメントに関する質問に回答します。
ドキュメントを照会するための複数のツールをサポートしています。
can_x_be_done: 特定のタスクが特定のテクノロジーで実行できるかどうかを確認します。hints_for_problem: 特定の問題を解決するためのヒントを取得します。is_this_good_practice: コード スニペットが適切なプラクティスに従っているかどうかを確認します。how_to_do_x: 特定のタスクの例と代替アプローチを取得します。
デバッグ用のログ システムを提供します (
--verboseフラグで有効化)。
はじめる
Smithery経由でインストール
Smithery経由で Claude Desktop 用の Gemini Docs Server を自動的にインストールするには:
npx -y @smithery/cli install @M-Gonzalo/cosa-sai --client claudeこのMCPサーバーはクライアントによって自動的に起動および管理されます。有効にするには、設定ファイル(例: ~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json )で設定する必要があります。通常、クライアントには設定ファイルを開くボタンがあります。
このサーバーの構成は次のとおりです。
{
"command": "bun",
"args": [
"--watch",
"path/to/repo/cosa-sai-mcp/src/index.ts",
"--verbose"
],
"env": {
"GEMINI_API_KEY": "<your_gemini_api_key>"
},
"disabled": false,
"alwaysAllow": [
"can_x_be_done",
"hints_for_problem",
"is_this_good_practice",
"how_to_do_x"
],
"timeout": 60 // in seconds
}ナレッジベースの入手とサニタイズ
このMCPサーバーでは、質問に答えるためのドキュメントのナレッジベースが必要です。このナレッジベースは、公開リポジトリのダウンロード、ウェブサイトのスクレイピング、その他の方法など、手動で入手する必要があります。
オプションのサニテーション プロセスを実行して、元のドキュメントからスタイルやその他の不要なコンテンツを削除できます。
そのための基本的なツールをいくつかご紹介します。より良い解決策を推奨します。
ナイーブ・スクラッパー:
wget --mirror --convert-links --adjust-extension --page-requisites --no-parent --directory-prefix=./local_copy --no-verbose --show-progress $1Markdown風への簡単かつ簡単な変換ツール:
#!/bin/bash
directory="${1:-.}" # Default to current directory if no argument is provided
output_file="${2:-concatenated.md}" # Default output file name
echo "Concatenating files in '$directory' into '$output_file'..."
# Clear output file if it exists
truncate -s 0 "$output_file"
# Find all files (excluding directories) and process them
find "$directory" -type f -name '*.html' | while IFS= read -r file; do
echo "=== ${file#./} ===" >> "$output_file"
cat "$file" \
| grep -v 'base64' \
| html2markdown >> "$output_file"
echo -e "\n" >> "$output_file"
done
echo "Done! Output saved to '$output_file'"使用法
このサーバーは次のツールを提供します。
**can_x_be_done:**特定のタスクが特定のテクノロジーで実行できるかどうかを確認します。
入力:
docs、prompt、x、technology出力:
success、data
**hints_for_problem:**特定の問題を解決するためのヒントを取得します。
入力:
docs、prompt、problem、context、environment出力:
success、data
**is_this_good_practice:**コード スニペットが適切なプラクティスに従っているかどうかを確認します。
入力:
docs、prompt、snippet、context出力:
success、data
**how_to_do_x:**特定のタスクの例と代替アプローチを取得します。
入力:
docs、prompt、x、technology出力:
success、data
貢献
貢献を歓迎します!以下のガイドラインに従ってください。
リポジトリをフォークします。
機能またはバグ修正用の新しいブランチを作成します。
変更を加えて、説明的なコミット メッセージを付けてコミットします。
プルリクエストを送信します。
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています。
免責事項
これはプロジェクトの初期段階であり、バグや制限事項が含まれている可能性があります。問題を発見した場合はご報告ください。また、改善点や新機能のご提案もお気軽にお寄せください。
This server cannot be deployed
Maintenance
Related MCP Connectors
Provide your AI coding tools with token-efficient access to up-to-date technical documentation for…
Versioned documentation registry and semantic search for AI tools and coding assistants.
Provides access to Google's public developer documentation.
Search and read Vector Panda docs: API operations, pricing, storage tiers, measured benchmarks.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context.711 npm1MIT
- AlicenseNot gradedqualityNot gradedmaintenanceCrawls documentation websites and provides semantic search capabilities over the content through vector embeddings, enabling natural language queries of technical documentation.2MIT
- AlicenseAqualityBmaintenanceProvides AI-powered search and documentation tools using Google Vertex AI or Gemini API with real-time web search grounding, enabling technical queries, code analysis, documentation retrieval, and architecture recommendations to overcome LLM knowledge gaps.776 npm7MIT
- AlicenseNot gradedqualityCmaintenanceTransforms static gemini-cli documentation into a queryable RAG service, enabling developers to ask questions about Gemini CLI in natural language and receive instant, accurate answers based on the official documentation directly within their workflow.9MIT