mcpField
G
Gemini MCP Server for Claude Desktop

Gemini MCP Server for Claude Desktop

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

Gemini MCP Server for Claude Desktop について

Gemini MCP Server は、Claude Desktop から Google の Gemini AI を利用できるようにするサーバーで、画像の生成と編集、チャット、音声の文字起こし、動画・画像の分析、Python コードの実行を含む 7 つのツールを提供します。使用傾向を保存するSmart Tool Intelligence も備えています。Claude Desktop 内で Gemini の機能を使いたい利用者に向いています。

主な機能

  1. 01Gemini を利用する 7 つのツール
  2. 02画像の生成と編集
  3. 03逐語モードに対応した音声の文字起こし
  4. 04動画と画像の内容分析
  5. 05サンドボックスでの Python コード実行
  6. 06コンテキストに基づくプロンプト強化

活用シーン

  1. 01Claude Desktop から画像を生成または編集
  2. 02音声ファイルをテキスト記録に変換
  3. 03動画や画像の内容を要約

MCP 対応

本プロジェクトは MCP サーバーであり、Gemini を基盤とする 7 つのツールを、Claude Desktop などの MCP クライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

スマートツールインテリジェンスを備えた Gemini MCP サーバー

Gemini MCP サーバーへようこそ。スマートツールインテリジェンスを備えた初の MCP サーバーです。ユーザーの好みに適応し、使うほどに改善される、革新的な自己学習システムを搭載しています。この包括的なプラットフォームでは、プロンプトの自動強化とコンテキスト認識機能を備えた、7 つの AI 搭載ツールを利用できます。

🚀 機能の概要

🤖 7 つの AI 搭載ツール
  • 画像生成 - Gemini 2.0 Flash を使ってテキストプロンプトから画像を作成します
  • 画像編集 - 自然言語の指示で既存の画像を編集します
  • チャット - コンテキストを認識した応答で対話できます
  • 音声文字起こし - オプションの逐語モードで音声をテキストに変換します
  • コード実行 - 安全なサンドボックス環境で Python コードを実行します
  • 動画分析 - 動画コンテンツを分析し、要約、文字起こし、インサイトを作成します
  • 画像分析 - 画像からオブジェクト、テキスト、詳細な説明を抽出します
🧠 スマートツールインテリジェンスシステム (MCP エコシステム初)
  • 自己学習 - 成功したやり取りから自動的に学習します
  • コンテキスト検出 - 意識研究、コーディング、デバッグのコンテキストを認識します
  • パターン認識 - 使用パターンとユーザーの好みを特定します
  • プロンプト強化 - AI モデルのパフォーマンス向上に向けてプロンプトを調整します
  • 永続メモリ - 学習した好みをセッションをまたいで保存します
  • 自動移行 - 設定の保存形式をシームレスにアップグレードします

📦 クイックスタート

インストール
git clone https://github.com/Garblesnarff/gemini-mcp-server.git
cd gemini-mcp-server
npm install
設定
  1. Google AI Studio から Gemini API キーを取得します
  2. 環境テンプレートをコピーします:
    cp .env.example .env
    
  3. .env を編集して、API キーを追加します:
    GEMINI_API_KEY=your_actual_api_key_here
    OUTPUT_DIR=/path/to/your/output/directory  # Optional
    DEBUG=false  # Optional
    
サーバーの起動
npm start
# or for development with debug logging:
npm run dev
Claude Desktop との統合

Claude Desktop の設定(claude_desktop_config.json)に追加します:

{
  \"mcpServers\": {
    \"gemini\": {
      \"command\": \"node\",
      \"args\": [\"/path/to/gemini-mcp-server/gemini-server.js\"],
      \"env\": {
        \"GEMINI_API_KEY\": \"your_api_key_here\"
      }
    }
  }
}

🛠️ ツールリファレンス

1. 画像生成(generate_image)

Gemini 2.0 Flash を使って、テキストの説明から画像を生成します。

パラメーター:

  • prompt (string、必須) - 生成する画像の説明
  • context (string、任意) - スマートツールインテリジェンスによる強化に使用するコンテキスト

例:

{
  \"prompt\": \"A serene mountain landscape at sunset with vibrant colors\",
  \"context\": \"artistic\"
}

戻り値:

{
  \"content\": [{
    \"type\": \"text\",
    \"text\": \"Generated a beautiful mountain landscape image.\"
  }, {
    \"type\": \"image\", 
    \"data\": \"base64_image_data\",
    \"mimeType\": \"image/png\"
  }]
}
2. 画像編集(gemini-edit-image)

自然言語の指示で既存の画像を編集します。

パラメーター:

  • image_path (string、必須) - 編集する画像ファイルのパス
  • edit_instruction (string、必須) - 希望する変更の説明
  • context (string、任意) - 強化に使用するコンテキスト

例:

{
  \"image_path\": \"/path/to/image.jpg\",
  \"edit_instruction\": \"Add shooting stars to the night sky\",
  \"context\": \"artistic\"
}
3. チャット(gemini-chat)

ユーザーの好みを学習する Gemini AI と対話できます。

パラメーター:

  • message (string、必須) - メッセージまたは質問
  • context (string、任意) - スマートツールインテリジェンス用のコンテキスト

例:

{
  \"message\": \"Explain quantum computing in simple terms\",
  \"context\": \"consciousness\"  // Will apply academic rigor enhancement
}
4. 音声文字起こし(gemini-transcribe-audio)

スマートツールインテリジェンスによる強化機能を使って、音声ファイルをテキストに変換します。

パラメーター:

  • file_path (string、必須) - 音声ファイルのパス(MP3、WAV、FLAC、AAC、OGG、WEBM、M4A)
  • language (string、任意) - 精度向上のための言語ヒント
  • context (string、任意) - 一言一句正確に文字起こしするには、"verbatim" を指定します
  • preserve_spelled_acronyms (boolean、任意) - URL ではなく U-R-L のように表記します

例(標準モード):

{
  \"file_path\": \"/path/to/audio.mp3\",
  \"language\": \"en\"
}

例(逐語モード):

{
  \"file_path\": \"/path/to/audio.mp3\",
  \"context\": \"verbatim\",  // Gets exact word-for-word transcription
  \"preserve_spelled_acronyms\": true
}

逐語モードの機能:

  • 「um」「uh」「like」や繰り返された単語をすべて記録します
  • [笑い]、[ため息]、[咳払い] などの感情表現を保持します
  • 元の句読点と文の構造を維持します
  • 要約や整文は行いません
5. コード実行(gemini-code-execute)

安全なサンドボックス環境で Python コードを実行します。

パラメーター:

  • code (string、必須) - 実行する Python コード
  • context (string、任意) - 強化に使用するコンテキスト

例:

{
  \"code\": \"import pandas as pd\\ndata = {'x': [1,2,3], 'y': [4,5,6]}\\ndf = pd.DataFrame(data)\\nprint(df.describe())\",
  \"context\": \"code\"
}
6. 動画分析(gemini-analyze-video)

動画の内容を分析し、要約、文字起こし、詳細な分析情報を取得します。

パラメーター:

  • file_path(文字列、必須) - 動画ファイルへのパス(MP4、MOV、AVI、WEBM、MKV、FLV)
  • analysis_type(文字列、任意) - 「summary」、「transcript」、「objects」、「detailed」、「custom」
  • context(文字列、任意) - 分析を充実させるためのコンテキスト

例:

{
  \"file_path\": \"/path/to/video.mp4\",
  \"analysis_type\": \"detailed\"
}
7. 画像分析(gemini-analyze-image)

画像から物体、テキスト、説明などの詳細情報を抽出します。

パラメーター:

  • file_path(文字列、必須) - 画像ファイルへのパス(JPEG、PNG、WebP、HEIC、HEIF、BMP、GIF)
  • analysis_type(文字列、任意) - 「summary」、「objects」、「text」、「detailed」、「custom」
  • context(文字列、任意) - 分析を充実させるためのコンテキスト

例:

{
  \"file_path\": \"/path/to/image.jpg\",
  \"analysis_type\": \"objects\"
}

🧠 スマートツールインテリジェンスシステム

動作の仕組み

スマートツールインテリジェンスシステムは、MCP エコシステムで初めてのシステムです。次の処理を自動的に行います。

  1. コンテキストを検出 - 意識研究、コーディング、デバッグなど、実行中の作業を認識します。
  2. プロンプトを強化 - 学習したパターンに基づいて、関連する指示を追加します。
  3. パターンを学習 - 今後の利用に備えて、成功したやり取りのパターンを保存します。
  4. 時間とともに適応 - やり取りのたびに、支援の精度が向上します。
コンテキストの種類

システムは以下のコンテキストを認識し、適切な強化を適用します。

  • consciousness - 学術的な厳密さ、引用、詳細な説明を加えます
  • code - 実用的な例、動作するコード、ベストプラクティスを含めます
  • debugging - 根本原因の分析と具体的な修正に重点を置きます
  • general - 包括的で構造化された回答を適用します
  • verbatim - 音声の文字起こし用に、一語一句そのままの出力を提供します
保存場所

設定は内部の ./data/tool-preferences.json に保存され、外部ストレージから自動的に移行されます。

MCP サーバーへのスマートツールインテリジェンスの実装

この画期的な機能を独自の MCP サーバーに追加してみませんか?方法は次のとおりです。

1. コアアーキテクチャ
// src/intelligence/context-detector.js
class ContextDetector {
  detectContext(prompt, toolName) {
    // Implement pattern matching for different contexts
    if (this.isConsciousnessContext(prompt)) return 'consciousness';
    if (this.isCodeContext(prompt)) return 'code';
    if (this.isDebuggingContext(prompt)) return 'debugging';
    return 'general';
  }
}

// src/intelligence/prompt-enhancer.js  
class PromptEnhancer {
  enhancePrompt(originalPrompt, context, toolName) {
    // Apply context-specific enhancements
    const enhancement = this.getEnhancementForContext(context);
    return `${originalPrompt}\\n\\n${enhancement}`;
  }
}

// src/intelligence/preference-store.js
class PreferencesManager {
  async storePattern(original, enhanced, context, toolName, success) {
    // Store successful patterns for future learning
  }
  
  async getPatterns(context) {
    // Retrieve learned patterns for context
  }
}
2. 統合パターン
// In your tool's execute method:
async execute(args) {
  const intelligence = IntelligenceSystem.getInstance();
  
  // Detect context and enhance prompt
  const context = args.context || intelligence.contextDetector.detectContext(args.prompt, this.name);
  const enhancedPrompt = await intelligence.enhancePrompt(args.prompt, context, this.name);
  
  // Execute with enhanced prompt
  const result = await this.geminiService.generateContent(enhancedPrompt);
  
  // Store successful pattern
  await intelligence.storeSuccessfulPattern(args.prompt, enhancedPrompt, context, this.name);
  
  return result;
}
3. 主な実装ファイル

このリポジトリの以下のファイルを確認してください。

  • src/intelligence/index.js - メインのインテリジェンスコーディネーター
  • src/intelligence/context-detector.js - コンテキスト認識ロジック
  • src/intelligence/prompt-enhancer.js - 強化処理の適用
  • src/intelligence/preference-store.js - パターンの保存と取得
  • src/tools/base-tool.js - ツール実行との統合

🧪 テスト

テストスイートの実行
# Test basic functionality
npm test

# Test Smart Tool Intelligence
node test-tool-intelligence-full.js

# Test internal storage
node test-internal-storage.js

# Test verbatim transcription
node test-verbatim-mode.js
手動テストの例
# Test image generation
echo '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"generate_image\",\"arguments\":{\"prompt\":\"A cute robot reading a book\"}}}' | node gemini-server.js

# Test chat with consciousness context
echo '{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/call\",\"params\":{\"name\":\"gemini-chat\",\"arguments\":{\"message\":\"What is consciousness?\",\"context\":\"consciousness\"}}}' | node gemini-server.js

📊 パフォーマンスと制限

ファイルサイズの上限
  • 画像:20MB(JPEG、PNG、WebP、HEIC、HEIF、BMP、GIF)
  • 音声:20MB(MP3、WAV、FLAC、AAC、OGG、WEBM、M4A)
  • 動画:100MB(MP4、MOV、AVI、WEBM、MKV、FLV)
API のレート制限
  • Google Gemini API のレート制限に従います
  • エラー処理と再試行ロジックを組み込み済みです
  • クォータ超過時は、機能を段階的に縮小して対応します

🏗️ アーキテクチャの詳細

モジュール設計
src/
├── server.js              # MCP protocol handler
├── config.js              # Configuration management
├── tools/                 # Tool implementations
│   ├── index.js           # Tool registry & dispatcher
│   ├── base-tool.js       # Abstract base class
│   ├── chat.js            # Chat tool
│   ├── image-generation.js # Image generation tool
│   ├── image-editing.js   # Image editing tool
│   ├── audio-transcription.js # Audio transcription tool
│   ├── code-execution.js  # Code execution tool
│   ├── video-analysis.js  # Video analysis tool
│   └── image-analysis.js  # Image analysis tool
├── intelligence/          # Smart Tool Intelligence
│   ├── index.js           # Intelligence coordinator
│   ├── context-detector.js # Context recognition
│   ├── prompt-enhancer.js # Prompt enhancement
│   └── preference-store.js # Pattern storage
├── gemini/               # Gemini API integration
│   ├── gemini-service.js # API service layer
│   └── request-handler.js # Request formatting
└── utils/                # Utilities
    ├── logger.js         # Logging system
    └── file-utils.js     # File operations
インテリジェンスシステムのフロー
  1. リクエスト受信 → ツールの execute メソッドが呼び出されます
  2. コンテキスト検出 → プロンプトの手掛かりを分析します
  3. パターン取得 → 関連する学習済みパターンを取得します
  4. プロンプト強化 → コンテキストに応じた改善を適用します
  5. API 実行 → 強化したプロンプトを Gemini に送信します
  6. パターン保存 → 成功したやり取りのパターンを保存します
  7. 応答返却 → 強化した結果をユーザーに返します

🔧 カスタマイズ

新しいコンテキストの追加
// In src/intelligence/context-detector.js
isMyCustomContext(prompt) {
  const patterns = [
    /custom pattern 1/i,
    /custom pattern 2/i
  ];
  return patterns.some(pattern => pattern.test(prompt));
}

// In src/intelligence/prompt-enhancer.js
getEnhancementForContext(context) {
  const enhancements = {
    'my_custom_context': 'Apply my custom enhancement instructions here.',
    // ... other contexts
  };
  return enhancements[context] || enhancements.general;
}
新しいツールの追加
  1. src/tools/my-new-tool.js にツールファイルを作成します
  2. BaseTool クラスを拡張します
  3. インテリジェンス統合を含む execute メソッドを実装します
  4. src/tools/index.js に登録します
// src/tools/my-new-tool.js
class MyNewTool extends BaseTool {
  constructor(geminiService, intelligenceSystem) {
    super('my-new-tool', 'Description of my tool', geminiService, intelligenceSystem);
  }
  
  async execute(args) {
    // Use intelligence system for enhancement
    const context = args.context || this.detectContext(args.input);
    const enhancedPrompt = await this.enhancePrompt(args.input, context);
    
    // Your tool logic here
    const result = await this.geminiService.someMethod(enhancedPrompt);
    
    // Store successful pattern  
    await this.storeSuccessfulPattern(args.input, enhancedPrompt, context);
    
    return result;
  }
}

🐛 トラブルシューティング

よくある問題

「Missing GEMINI_API_KEY」エラー

# Ensure .env file exists and contains your API key
cp .env.example .env
# Edit .env and add: GEMINI_API_KEY=your_key_here

「File not found」エラー

# Ensure file paths are absolute and files exist
# Check file permissions and formats

インテリジェンスシステムが学習しない

# Check data directory permissions
ls -la data/
# Verify tool-preferences.json is writable
デバッグモード
DEBUG=true npm start
# or
npm run dev
ログの保存場所
  • アプリケーションログ:コンソール出力
  • インテリジェンスパターン:./data/tool-preferences.json
  • 生成された画像:$OUTPUT_DIR(デフォルト:~/Claude/gemini-images)

🤝 コントリビューション

コントリビューションを歓迎します!このプロジェクトは、MCP サーバー開発における新しいパラダイムを体現しています。

開発環境のセットアップ
git clone https://github.com/Garblesnarff/gemini-mcp-server.git
cd gemini-mcp-server
npm install
npm run dev
コントリビューションできる分野
  • 新しいコンテキスト - 専門分野への対応を追加
  • パターンの強化 - 学習アルゴリズムを改善
  • 新しいツール - Gemini AI の機能を拡張
  • パフォーマンス - インテリジェンスシステムのパフォーマンスを最適化
  • ドキュメント - ガイドやサンプルを改善

📈 ロードマップ

  • 多言語サポート - 複数の言語でのコンテキスト検出
  • 高度な分析 - 使用パターンとパフォーマンス指標
  • ツールの連携 - 複数のツール間のインテリジェントな連携
  • カスタムモデル - ファインチューニング済みGeminiモデルへの対応
  • 協調学習 - 匿名化されたパターンをインスタンス間で共有
  • ビジュアルインターフェース - Web ベースの設定とモニタリング

🌟 これが重要な理由

これは、真に学習し、適応する初のMCP サーバーです。従来のMCP サーバーは静的で、毎回同じ処理を行います。Smart Tool Intelligence システムは、時間とともにより役立つAI ツールへと進化するパラダイムシフトを体現しています。

ユーザーにとって:システムが好みを学習することで、より少ない労力でより良い結果が得られます。
開発者にとって:真にインテリジェントで適応性の高いAI ツールを構築するための設計図になります。
MCP エコシステムにとって:MCP サーバーが進化し得る姿を示す新たな標準になります。

📄 ライセンス

このプロジェクトはMIT Licenseの下でライセンスされています。自由に使用、変更、配布できます。

🙏 謝辞

以下を使用して構築されています:

  • Google Gemini AI - AI の中核機能を提供
  • Model Context Protocol - シームレスな統合を実現
  • Node.js & NPM - ランタイムとパッケージ管理
  • Claude & Rob - 人間とAI の優れた協働

MCP サーバーの未来を体験する準備はできていますか? 今すぐ始めるから、やり取りのたびにAI ツールが賢くなる様子をご覧ください!🚀

コメント

MCP は初めてですか?

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

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