mcpField
M
MCP Gemini Server

MCP Gemini Server

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

MCP Gemini Server について

MCP Gemini Serverは、AIアシスタントからGoogle's Gemini APIを使ってテキスト生成や分析、チャットを行うためのサーバーです。ローカルHTTPエンドポイントを備え、APIキーを環境変数で設定します。

主な機能

  1. 01Geminiによるテキスト生成
  2. 02種類を指定したテキスト分析
  3. 03複数メッセージのチャット
  4. 04環境変数によるAPIキー設定
  5. 05ヘルスチェックとモデル一覧

活用シーン

  1. 01アシスタントのプロンプトからテキストを生成
  2. 02テキストの要約や感情分析
  3. 03Geminiを介した会話の継続

MCP 対応

`/mcp`エンドポイントでMCPリクエストを受け付け、Google's Gemini APIを使うテキスト生成、分析、チャットの操作を提供します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MCP Gemini サーバー

AI アシスタントが Claude などを通じて Google の Gemini API とやり取りできるようにする、Model Context Protocol(MCP)のサーバー実装です。

プロジェクト概要

このプロジェクトは、Model Context Protocol に準拠したサーバーを実装し、AI アシスタントが Google の Gemini モデルと通信できるようにします。この MCP サーバーを使用すると、AI アシスタントは Gemini API を通じてテキスト生成やテキスト分析をリクエストし、チャットの会話を維持できます。

機能

  • クライアントとサーバー間の通信:クライアントとサーバー間で安全にメッセージを交換するための MCP プロトコルを実装します。
  • メッセージ処理:クライアントからのリクエストを処理し、適切な応答を返します。
  • エラー処理とログ記録:サーバーの動作を記録し、エラーからスムーズに復旧できるようにします。
  • 環境変数のサポート:機密情報を安全に保存するため、.env ファイルを使用します。
  • API のテストとデバッグ:Postman とテストスクリプトを使用した手動および自動テストをサポートします。

インストール

前提条件
  • Python 3.7 以降
  • Google AI API キー
セットアップ
  1. このリポジトリをクローンします:
git clone https://github.com/yourusername/mcp-gemini-server.git
cd mcp-gemini-server
  1. 仮想環境を作成します:
python -m venv venv
  1. 仮想環境を有効化します:

    • Windows:venv\Scripts\activate
    • macOS/Linux:source venv/bin/activate
  2. 依存関係をインストールします:

pip install -r requirements.txt
  1. ルートディレクトリに Gemini API キーを記載した .env ファイルを作成します:
GEMINI_API_KEY=your_api_key_here

使用方法

  1. サーバーを起動します:
python server.py
  1. サーバーはデフォルトで http://localhost:5000/ で実行されます。

  2. POST メソッドを使用して、/mcp エンドポイントに MCP リクエストを送信します。

リクエストの例
import requests

url = 'http://localhost:5000/mcp'
payload = {
    'action': 'generate_text',
    'parameters': {
        'prompt': 'Write a short poem about AI',
        'temperature': 0.7
    }
}

response = requests.post(url, json=payload)
print(response.json())

API リファレンス

エンドポイント
  • GET /health:サーバーが実行中かどうかを確認します
  • GET /list-models:利用可能な Gemini モデルの一覧を取得します
  • POST /mcp:MCP リクエスト用のメインエンドポイント
MCP アクション
1. generate_text

Gemini でテキストを生成します。

パラメーター:

  • prompt(必須):生成に使用するテキストプロンプト
  • temperature(任意):ランダム性を制御します(0.0~1.0)
  • max_tokens(任意):生成するトークンの最大数

例:

{
  "action": "generate_text",
  "parameters": {
    "prompt": "Write a short story about a robot",
    "temperature": 0.8,
    "max_tokens": 500
  }
}
2. analyze_text

テキストを分析します。

パラメーター:

  • text(必須):分析するテキスト
  • analysis_type(任意):分析の種類('sentiment'、'summary'、'keywords'、または 'general')

例:

{
  "action": "analyze_text",
  "parameters": {
    "text": "The weather today is wonderful! I love how the sun is shining.",
    "analysis_type": "sentiment"
  }
}
3. chat

Gemini と会話します。

パラメーター:

  • messages(必須):'role' と 'content' を含むメッセージオブジェクトの配列
  • temperature(任意):ランダム性を制御します(0.0~1.0)

例:

{
  "action": "chat",
  "parameters": {
    "messages": [
      {"role": "user", "content": "Hello, how are you?"},
      {"role": "assistant", "content": "I'm doing well! How can I help?"},
      {"role": "user", "content": "Tell me about quantum computing"}
    ],
    "temperature": 0.7
  }
}

エラー処理

サーバーは適切な HTTP ステータスコードとエラーメッセージを返します。

  • 200:リクエスト成功
  • 400:不正なリクエスト(パラメーターの欠落または無効)
  • 500:サーバーエラー(API の問題など)

テスト

付属のテストスクリプトを使用して、さまざまな機能をテストします。

# Test all functionalities
python test_client.py

# Test specific functionality
python test_client.py text     # Test text generation
python test_client.py analyze  # Test text analysis
python test_client.py chat     # Test chat functionality

MCP プロトコル仕様

ここで実装されている Model Context Protocol は、次の仕様に準拠しています。

  1. リクエスト形式:

    • action:操作を指定する文字列
    • parameters:アクション固有のパラメーターを含むオブジェクト
  2. レスポンス形式:

    • result:操作の結果を含むオブジェクト
    • error:エラーが発生した場合にその内容を説明する文字列

ライセンス

MIT ライセンス

コメント

MCP は初めてですか?

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

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