mcpField
G
Gemini Context MCP Server

Gemini Context MCP Server

ローカル
github.com/ogoldbergAI・エージェント3081 週間前に更新

Gemini Context MCP Server について

Gemini Context MCP Server は、Cursor などの MCP クライアント向けに、Gemini の大規模なコンテキストウィンドウを活用して AI ツールの機能を拡張する MCP サーバーです。セッション単位のコンテキスト管理と、大きなプロンプトのキャッシュを提供します。

主な機能

  1. 01最大 2M token のコンテキストウィンドウに対応
  2. 02セッション単位のコンテキストの追加、取得、検索
  3. 03保存したコンテキストに対するセマンティック検索
  4. 04TTL 管理を伴う大きなプロンプトのキャッシュ
  5. 05期限切れのセッションとキャッシュの自動削除

活用シーン

  1. 01Cursor で大きなシステムプロンプトを再利用してトークンコストを抑える
  2. 02複数回のやり取りにわたる会話状態の保持
  3. 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

各コマンドは適切な構成ファイルをセットアップし、統合を完了するための手順を提供します。

💻 使用例

初心者向け
サーバーを直接使用する場合:
  1. サーバーを起動します:

    node dist/mcp-server.js
    
  2. 提供されているテストスクリプトを使って操作します:

    # 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 ツール
  1. コンテキスト管理ツール:

    • generate_text - コンテキストを使ってテキストを生成します
    • get_context - セッションの現在のコンテキストを取得します
    • clear_context - セッションのコンテキストをクリアします
    • add_context - 特定のコンテキストエントリを追加します
    • search_context - 意味的に関連するコンテキストを見つけます
  2. キャッシュツール:

    • 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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。