MCP Server with Gemini AI Integration について
Gemini AIと、数学、文字列処理、Keynote操作のツールを備えたMCPサーバーを組み合わせたプロジェクトです。自然言語で計算や簡単なプレゼンテーション操作を行いたいユーザー向けで、付属クライアントはサーバーの起動とツール選択を自動化できます。
主な機能
- 01基本・高度な数学演算
- 02文字列からASCII値への変換
- 03Keynoteでの四角形描画と文字追加
- 04Gemini AIによる自然言語タスクの解釈
- 05クライアントによるサーバー起動と接続
活用シーン
- 01自然言語で階乗や三角関数を計算
- 02文字列のASCII値を確認
- 03Keynoteで文字入りの四角形を作成
- 04Gemini AIでタスクを分解して実行
MCP 対応
MCPサーバーは数学、文字列処理、Keynoteのツールをクライアントに公開します。付属のPythonクライアントはGemini AIで自然言語の依頼を解釈してツールを選択し、サーバーを自動起動できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Gemini AI 統合 MCP サーバー
このプロジェクトでは、Gemini AI と統合したマルチコンポーネントプラットフォーム(MCP)サーバーを実装しています。自然言語によるコマンドを使って、さまざまな数学演算や複雑なタスクを実行できます。
特長
-
数学演算
- 基本的な算術演算(加算、減算、乗算、除算)
- 高度な数学演算(累乗、平方根、立方根)
- 特殊関数(階乗、対数、三角関数)
- リスト演算(リストの合計、指数の合計)
-
文字列処理
- 文字列を ASCII 値に変換
- 文字配列を処理
-
Keynote との統合
- Keynote アプリケーションを開く
- 任意の寸法で長方形を描画
- 図形にテキストを追加
-
AI を活用したタスク実行
- Gemini AI による自然言語処理
- 反復的な問題解決
- ユーザーの問い合わせに基づくツールの自動選択
前提条件
- Python 3.8 以降
- Google Gemini API キー
- macOS(Keynote との統合に必要)
インストール
- リポジトリをクローンします:
git clone <repository-url>
cd <repository-name>
- 仮想環境を作成して有効化します:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- 依存関係をインストールします:
pip install -r requirements.txt
- プロジェクトのルートに
.envファイルを作成し、Gemini API キーを追加します:
GEMINI_API_KEY=your_api_key_here
プロジェクト構成
mcp_server.py:MCP サーバーの実装とツール定義が含まれていますtalk2mcp.py:MCP サーバーおよび Gemini AI と連携するクライアントアプリケーションです.env:API キーの設定ファイルですrequirements.txt:プロジェクトの依存関係です
使用方法
アプリケーションは、次の 2 つの方法で起動できます。
方法 1:サーバーとクライアントを別々に起動する
- 1 つ目のターミナルで MCP サーバーを起動します:
python mcp_server.py
- 別のターミナルでクライアントアプリケーションを実行します:
python talk2mcp.py
方法 2:クライアントのみを起動する(推奨)
クライアントアプリケーションは、サーバーがまだ起動していない場合、自動的に起動できます。次のコマンドを実行するだけです:
python talk2mcp.py
クライアントは次の処理を行います:
- サーバーが起動しているか確認します
- 必要に応じてサーバーを起動します
- 自動的に接続を確立します
- 問い合わせの入力を促します
アプリケーションの使用
-
入力を促されたら、問い合わせを入力します。例:
- 「5 と 3 を足して」
- 「INDIA の各文字の ASCII 値を調べて」
- 「Keynote アプリを起動して、300x400 の長方形を描いて」
- 「5 の階乗を計算して」
-
アプリケーションを終了するには、「exit」と入力します。
注:方法 2 を使用する場合、クライアントアプリケーションを終了すると、サーバーも自動的に停止します。
使用可能なツール
システムでは、次のツールを使用できます。
-
数学ツール
add(a: int, b: int):2 つの数値を加算しますsubtract(a: int, b: int):2 つの数値を減算しますmultiply(a: int, b: int):2 つの数値を乗算しますdivide(a: int, b: int):2 つの数値を除算しますpower(a: int, b: int):累乗を計算しますsqrt(a: int):平方根を計算しますcbrt(a: int):立方根を計算しますfactorial(a: int):階乗を計算しますlog(a: int):対数を計算しますsin(a: int)、cos(a: int)、tan(a: int):三角関数
-
文字列処理ツール
strings_to_chars_to_int(string: str):文字列を ASCII 値に変換しますint_list_to_exponential_sum(int_list: list):指数の合計を計算します
-
Keynote ツール
open_keynote():Keynote アプリケーションを開きますdraw_rectangle_in_keynote(shapeWidth: int, shapeHeight: int):長方形を描画しますadd_text_to_keynote_shape(text: str):図形にテキストを追加します
デモ
Gemini AI と統合した MCP サーバーの動作デモをご覧ください。
上の画像をクリックすると、YouTube でデモ動画を視聴できます。
エラー処理
システムには、次のような包括的なエラー処理が含まれています。
- AI の応答に対するタイムアウト処理
- 型変換の検証
- ツールの利用可否の確認
- パラメーターの検証
デバッグ
次のようなデバッグ情報がコンソールに出力されます。
- ツールの実行詳細
- パラメーターの処理
- 結果のフォーマット
- エラーメッセージとスタックトレース
貢献方法
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更をコミットします
- ブランチにプッシュします
- プルリクエストを作成します
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細については LICENSE ファイルをご覧ください。
謝辞
- 自然言語処理機能を提供する Google Gemini AI
- ツール管理を担う MCP フレームワーク
- このプロジェクトで使用しているさまざまなライブラリを提供する Python コミュニティ
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。
