mcp-sage
MCP(モデルコンテキストプロトコル)サーバー。他のLLM(現在はGemini 2.5 Proのみ)にプロンプトを送信するためのツールを提供します。プロンプトには、参照されているすべてのファイルパス(フォルダーの場合は再帰的に)が埋め込まれます。大量のコンテキストを正確に処理できるモデルから、セカンドオピニオンや詳細なコードレビューを取得するのに役立ちます。
根拠
Claude Codeを頻繁に使用しています。私のワークフローに非常によく合う素晴らしい製品です。しかし、大量のコンテキストを備えた新しいモデルは、より多くのコンテキストが必要となる複雑なコードベースを扱う際に非常に便利だと感じています。これにより、Claude Codeを開発ツールとして使い続けながら、Gemini 2.5 Proの大規模なコンテキストを活用して、Claude Codeの限られたコンテキストを補うことができます。
インスピレーション
このプロジェクトは、他の 2 つのオープン ソース プロジェクトからインスピレーションを得ています。
- simonw/files-to-prompt でファイル圧縮を要求
- アイデアを提供してくれたasadm/vibemode さん、そしてリポジトリ全体を Gemini に送信して編集の提案をまとめてもらえるよう促してくれた
概要
このプロジェクトは、次の 2 つのツールを公開する MCP サーバーを実装します。
second-opinion
- プロンプトとファイル/ディレクトリパスのリストを入力として受け取ります
- ファイルを構造化されたXML形式にパックします
- 結合されたコンテンツが Gemini のトークン制限 (100 万トークン) 内であるかどうかを確認します。
- プロンプトとコンテキストの組み合わせをGemini 2.5 Proに送信します
- モデルの応答を返す
expert-review
- コード変更の指示とファイル/ディレクトリパスのリストを入力として受け取ります
- ファイルを構造化されたXML形式にパックします
- 結合されたコンテンツが Gemini のトークン制限 (100 万トークン) 内であるかどうかを確認します。
- SEARCH/REPLACEブロックを使用してモデルに応答をフォーマットするように指示する特別なプロンプトを作成します。
- 結合されたコンテキストと命令をGemini 2.5 Proに送信します
- 簡単に実装できるように、SEARCH/REPLACE ブロックとしてフォーマットされた編集候補を返します。
前提条件
- Node.js (v18以降)
- Google Gemini APIキー
インストール
環境変数
次の環境変数を設定します。
GEMINI_API_KEY
: Google Gemini API キー
使用法
npm run build
でビルドした後、MCP 構成に以下を追加します。
促す
何かについてセカンドオピニオンを得るには、セカンドオピニオンを求めてください。
コードレビューを受けるには、コードレビューまたは専門家によるレビューを依頼してください。
これらは両方とも、コンテキストに含めるファイルのパスを提供することでメリットを得られますが、省略すると、ホスト LLM が何を含めるかを推測する可能性があります。
デバッグと監視
サーバーはMCPログ機能を通じて詳細な監視情報を提供します。これらのログには以下が含まれます。
- トークン使用統計(使用されたトークンとトークン制限)
- リクエストに含まれるファイルと文書の数
- リクエスト処理時間のメトリクス
- トークン制限を超えた場合のエラー情報
ログはMCPプロトコルのnotifications/message
方式を介して送信されるため、JSON-RPC通信に干渉することはありません。ログ機能をサポートするMCPクライアントは、これらのログを適切に表示します。
ログエントリの例:
ツールの使用
セカンドオピニオンツール
second-opinion
ツールは次のパラメータを受け入れます。
prompt
(文字列、必須): Geminiに送信するプロンプトpaths
(文字列の配列、必須): コンテキストとして含めるファイルパスのリスト
MCP ツール呼び出しの例 (JSON-RPC 2.0 を使用):
専門家レビューツール
expert-review
ツールは次のパラメータを受け入れます。
instruction
(文字列、必須): 必要な具体的な変更または改善paths
(文字列の配列、必須): コンテキストとして含めるファイルパスのリスト
MCP ツール呼び出しの例 (JSON-RPC 2.0 を使用):
応答には、提案された変更を実装するために使用できる SEARCH/REPLACE ブロックが含まれます。
テストの実行
ツールをテストするには:
プロジェクト構造
src/index.ts
: ツール定義を含むメインのMCPサーバー実装src/pack.ts
: ファイルを構造化されたXML形式にパックするためのツールsrc/tokenCounter.ts
: プロンプト内のトークンをカウントするためのユーティリティsrc/gemini.ts
: Gemini API クライアント実装test/run-test.js
: セカンドオピニオンツールのテストtest/test-expert.js
: エキスパートレビューツールのテスト
ライセンス
ISC
This server cannot be installed
プロンプトにファイルの内容を埋め込むことで、Gemini 2.5 Pro からセカンドオピニオンや詳細なコードレビューを取得するためのツールを提供する MCP サーバー。これにより、広範なコンテキストを持つ大規模なコードベースを処理できるようになります。