Gemini Context MCP Server について
Gemini Context MCP Server は、Cursor などの MCP クライアント向けに、Gemini の大規模なコンテキストウィンドウを活用して AI ツールの機能を拡張する MCP サーバーです。セッション単位のコンテキスト管理と、大きなプロンプトのキャッシュを提供します。
主な機能
- 01最大 2M token のコンテキストウィンドウに対応
- 02セッション単位のコンテキストの追加、取得、検索
- 03保存したコンテキストに対するセマンティック検索
- 04TTL 管理を伴う大きなプロンプトのキャッシュ
- 05期限切れのセッションとキャッシュの自動削除
活用シーン
- 01Cursor で大きなシステムプロンプトを再利用してトークンコストを抑える
- 02複数回のやり取りにわたる会話状態の保持
- 03複数のキャッシュ済みコンテキストの管理と更新
MCP 対応
本プロジェクトは MCP サーバーであり、generate_text や search_context などのコンテキスト管理ツールに加え、キャッシュの作成、一覧表示、TTL 更新、削除のツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Gemini Context MCP サーバー
Gemini の機能を活用してコンテキスト管理とキャッシュを行う強力な MCP(Model Context Protocol)サーバー実装です。このサーバーは、Gemini の 2M トークンのコンテキストウィンドウの価値を最大限に引き出しつつ、大規模なコンテキストを効率的にキャッシュするためのツールを提供します。
🚀 機能
コンテキスト管理
- 最大 2M トークンのコンテキストウィンドウをサポート - Gemini の広範なコンテキスト機能を活用できます
- セッションベースの会話 - 複数のやり取りにわたって会話の状態を維持します
- スマートなコンテキスト追跡 - メタデータ付きでコンテキストを追加、取得、検索できます
- セマンティック検索 - 意味的な類似性を使って関連するコンテキストを見つけられます
- コンテキストの自動クリーンアップ - セッションとコンテキストは自動的に期限切れになります
API キャッシュ
- 大規模プロンプトのキャッシュ - 大規模なシステムプロンプトや指示を効率的に再利用できます
- コスト最適化 - 頻繁に使用するコンテキストのトークン使用コストを削減します
- TTL 管理 - キャッシュの有効期限を制御できます
- 自動クリーンアップ - 期限切れのキャッシュは自動的に削除されます
🏁 クイックスタート
前提条件
- Node.js 18 以上がインストールされていること
- Gemini API キー(こちらから取得)
インストール
# Clone the repository
git clone https://github.com/ogoldberg/gemini-context-mcp-server
cd gemini-context-mcp-server
# Install dependencies
npm install
# Copy environment variables example
cp .env.example .env
# Add your Gemini API key to .env file
# GEMINI_API_KEY=your_api_key_here
基本的な使い方
# Build the server
npm run build
# Start the server
node dist/mcp-server.js
MCP クライアントとの統合
この MCP サーバーは、さまざまな MCP 互換クライアントと統合できます。
- Claude Desktop - Claude の設定で MCP サーバーとして追加します
- Cursor - Cursor の AI/MCP 設定で構成します
- VS Code - MCP 互換の拡張機能と併用します
各クライアントとの詳細な統合手順については、MCP ドキュメントの MCP クライアント構成ガイドを参照してください。
クライアントのクイックセットアップ
簡略化されたクライアントインストールコマンドを使用します。
# Install and configure for Claude Desktop
npm run install:claude
# Install and configure for Cursor
npm run install:cursor
# Install and configure for VS Code
npm run install:vscode
各コマンドは適切な構成ファイルをセットアップし、統合を完了するための手順を提供します。
💻 使用例
初心者向け
サーバーを直接使用する場合:
-
サーバーを起動します:
node dist/mcp-server.js -
提供されているテストスクリプトを使って操作します:
# Test basic context management node test-gemini-context.js # Test caching features node test-gemini-api-cache.js
Node.js アプリケーションで使用する場合:
import { GeminiContextServer } from './src/gemini-context-server.js';
async function main() {
// Create server instance
const server = new GeminiContextServer();
// Generate a response in a session
const sessionId = "user-123";
const response = await server.processMessage(sessionId, "What is machine learning?");
console.log("Response:", response);
// Ask a follow-up in the same session (maintains context)
const followUp = await server.processMessage(sessionId, "What are popular algorithms?");
console.log("Follow-up:", followUp);
}
main();
パワーユーザー向け
カスタム構成を使用する場合:
// Custom configuration
const config = {
gemini: {
apiKey: process.env.GEMINI_API_KEY,
model: 'gemini-2.0-pro',
temperature: 0.2,
maxOutputTokens: 1024,
},
server: {
sessionTimeoutMinutes: 30,
maxTokensPerSession: 1000000
}
};
const server = new GeminiContextServer(config);
コスト最適化のためにキャッシュシステムを使用する場合:
// Create a cache for large system instructions
const cacheName = await server.createCache(
'Technical Support System',
'You are a technical support assistant for a software company...',
7200 // 2 hour TTL
);
// Generate content using the cache
const response = await server.generateWithCache(
cacheName,
'How do I reset my password?'
);
// Clean up when done
await server.deleteCache(cacheName);
🔌 MCP ツール(Cursor など)での使用
このサーバーは Model Context Protocol(MCP)を実装しているため、Cursor やその他の AI 強化開発環境などのツールと互換性があります。
利用可能な MCP ツール
-
コンテキスト管理ツール:
generate_text- コンテキストを使ってテキストを生成しますget_context- セッションの現在のコンテキストを取得しますclear_context- セッションのコンテキストをクリアしますadd_context- 特定のコンテキストエントリを追加しますsearch_context- 意味的に関連するコンテキストを見つけます
-
キャッシュツール:
mcp_gemini_context_create_cache- 大規模なコンテキスト用のキャッシュを作成しますmcp_gemini_context_generate_with_cache- キャッシュされたコンテキストを使って生成しますmcp_gemini_context_list_caches- 利用可能なすべてのキャッシュを一覧表示しますmcp_gemini_context_update_cache_ttl- キャッシュの TTL を更新しますmcp_gemini_context_delete_cache- キャッシュを削除します
Cursor との接続
Cursor と併用する場合、MCP 構成を通じて接続できます。
{
"name": "gemini-context",
"version": "1.0.0",
"description": "Gemini context management and caching MCP server",
"entrypoint": "dist/mcp-server.js",
"capabilities": {
"tools": true
},
"manifestPath": "mcp-manifest.json",
"documentation": "README-MCP.md"
}
MCP ツールの詳細な使用手順については、README-MCP.mdを参照してください。
⚙️ 構成オプション
環境変数
以下のオプションを含む .env ファイルを作成します。
# Required
GEMINI_API_KEY=your_api_key_here
GEMINI_MODEL=gemini-2.0-flash
# Optional - Model Settings
GEMINI_TEMPERATURE=0.7
GEMINI_TOP_K=40
GEMINI_TOP_P=0.9
GEMINI_MAX_OUTPUT_TOKENS=2097152
# Optional - Server Settings
MAX_SESSIONS=50
SESSION_TIMEOUT_MINUTES=120
MAX_MESSAGE_LENGTH=1000000
MAX_TOKENS_PER_SESSION=2097152
DEBUG=false
🧪 開発
# Build TypeScript files
npm run build
# Run in development mode with auto-reload
npm run dev
# Run tests
npm test
📚 さらに読む
- MCP 固有の使用方法については、README-MCP.mdを参照してください
- 利用可能なツールを理解するには、mcp-manifest.jsonのマニフェストを確認してください
- 使用パターンについては、リポジトリ内のサンプルスクリプトを確認してください
📋 今後の改善点
- コンテキストとキャッシュのデータベース永続化
- キャッシュサイズの管理と削除ポリシー
- ベクトルベースのセマンティック検索
- 分析とメトリクスのトラッキング
- ベクトルストアとの統合
- コンテキスト管理のためのバッチ操作
- ハイブリッドキャッシュ戦略
- プロンプトの自動最適化
📄 ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。