MCP Gemini Server について
MCP Gemini Serverは、AIアシスタントからGoogle's Gemini APIを使ってテキスト生成や分析、チャットを行うためのサーバーです。ローカルHTTPエンドポイントを備え、APIキーを環境変数で設定します。
主な機能
- 01Geminiによるテキスト生成
- 02種類を指定したテキスト分析
- 03複数メッセージのチャット
- 04環境変数によるAPIキー設定
- 05ヘルスチェックとモデル一覧
活用シーン
- 01アシスタントのプロンプトからテキストを生成
- 02テキストの要約や感情分析
- 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 キー
セットアップ
- このリポジトリをクローンします:
git clone https://github.com/yourusername/mcp-gemini-server.git
cd mcp-gemini-server
- 仮想環境を作成します:
python -m venv venv
-
仮想環境を有効化します:
- Windows:
venv\Scripts\activate - macOS/Linux:
source venv/bin/activate
- Windows:
-
依存関係をインストールします:
pip install -r requirements.txt
- ルートディレクトリに Gemini API キーを記載した
.envファイルを作成します:
GEMINI_API_KEY=your_api_key_here
使用方法
- サーバーを起動します:
python server.py
-
サーバーはデフォルトで
http://localhost:5000/で実行されます。 -
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 は、次の仕様に準拠しています。
-
リクエスト形式:
action:操作を指定する文字列parameters:アクション固有のパラメーターを含むオブジェクト
-
レスポンス形式:
result:操作の結果を含むオブジェクトerror:エラーが発生した場合にその内容を説明する文字列
ライセンス
MIT ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。