mcpField
M
MCP based Math Drawing Client

MCP based Math Drawing Client

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

MCP based Math Drawing Client について

Geminiで数学の質問を処理し、結果をキャンバスに描くPythonアプリケーションです。計算結果を視覚化したいユーザー向けで、反復的な問題解決と描画ツールを備えています。

主な機能

  1. 01Geminiによる数学問題の解決
  2. 02数学計算と文字列操作
  3. 03長方形とテキストの描画
  4. 04最大9回の反復処理
  5. 05キャンバスの消去と色の選択

活用シーン

  1. 01計算結果を長方形内に描画
  2. 02単語をASCII値に変換し合計を可視化

MCP 対応

クライアントはstdioでMCPサーバーに接続し、ツール一覧を同期して、計算と描画のための数学的な質問を送信します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

MCP ベースの数学描画クライアント

数学描画クライアント(talk2mcp_math_draw_client.py)は、数学的な計算と視覚的な描画機能を組み合わせた Python アプリケーションです。Gemini AI モデルを使用して数学に関するクエリを処理し、適切な応答を生成します。

機能

現在実装されている機能
  • 数学の問題解決における Gemini AI との連携
  • 数学的な結果を視覚的に表現する描画機能
  • 反復的な問題解決アプローチ(最大 9 回の反復)
  • 基本的な数学演算と ASCII 値の計算に対応
  • キャンバス上への結果の自動描画
  • 基本的なエラー処理と復旧
  • シンプルなキャンバス操作
  • 基本的なテキスト配置
  • 操作のタイムアウト処理(LLM の操作は 10 秒でタイムアウト)
  • セッション管理
  • パラメーター検証を伴うツール実行

サーバー要件

  1. MCP サーバーのセットアップ:

    • Python 3.x 環境
    • MCP サーバーパッケージがインストールされていること
    • 必要なサーバー依存関係:
      • mcp パッケージ
      • AI 連携用の google-generativeai
      • 環境管理用の python-dotenv
  2. サーバー設定:

    • ポート設定(デフォルト:8080)
    • 数学演算用のメモリ割り当て
    • キャンバスサイズの設定(デフォルト:1920x1080)
    • 最大同時接続数
    • 操作のタイムアウト設定
  3. サーバーツール:

    • 数学計算エンジン
    • 描画キャンバスマネージャー
    • ツール実行ハンドラー
    • セッションマネージャー
    • エラー処理システム

前提条件

  • Python 3.x
  • 必要な Python パッケージ:
    • python-dotenv
    • google-generativeai
    • mcp パッケージ

環境のセットアップ

  1. プロジェクトのルートに .env ファイルを作成します
  2. Gemini API キーを追加します:
    GEMINI_API_KEY=your_api_key_here
    

サーバーのセットアップ

  1. サーバーの依存関係をインストールします:

    pip install mcp google-generativeai python-dotenv
    
  2. config.json でサーバー設定を構成します:

    {
      "server": {
        "port": 8080,
        "max_connections": 10,
        "timeout": 30,
        "canvas": {
          "width": 1920,
          "height": 1080
        }
      }
    }
    
  3. MCP サーバーを起動します:

    python example2-3_server.py
    

利用可能なツール

現在実装されているツール
  1. 数学演算:

    • 基本的な算術演算(加算、減算、乗算、除算)
    • 高度な数学関数(指数関数、対数関数)
    • ASCII 値の計算
    • 文字列の操作と変換
    • 配列操作
    • 素数の計算
    • 階乗の計算
    • フィボナッチ数列の生成
  2. 描画ツール:

    • 寸法を指定した長方形の描画
    • 書式を指定した基本的なテキスト配置
    • キャンバスのクリアとリセット
    • 座標に基づく描画
    • シンプルな色の選択
    • 基本的なレイヤー管理
今後予定されているツール
  1. 数学演算の強化
  2. 高度な描画機能:
  3. 分析ツール:
  4. ユーティリティツール:

インストール

  1. リポジトリをクローンします
  2. 必要なパッケージをインストールします:
    pip install python-dotenv google-generativeai mcp
    
  3. 上記の説明に従って環境変数を設定します

使い方

  1. MCP サーバーを起動します(「サーバーのセットアップ」セクションを参照)
  2. サーバーが稼働していて、アクセス可能であることを確認します
  3. クライアントを実行します:
    python talk2mcp_math_draw_client.py
    

サーバーとクライアント間の通信

  1. 接続プロトコル:

    • クライアントがサーバーとの接続を確立
    • 認証ハンドシェイク
    • ツールリストの同期
    • セッションの初期化
  2. データフロー:

    • クライアントが数学に関するクエリを送信
    • サーバーがリクエストを処理
    • 結果がクライアントに返される
    • 描画コマンドが実行される
    • ステータス更新が通知される
  3. エラー処理:

    • 接続の再試行メカニズム
    • セッションの復旧
    • ツール実行のフォールバック
    • リソースのクリーンアップ

クエリの例

  1. 基本的な数学の描画:
Calculate the sum of ASCII values for the word "HELLO" and draw it inside a rectangle at the center of the canvas.
  1. 複雑な数学の可視化:
Find the exponential values of first 5 prime numbers, sum them up, and display the result in a blue rectangle at coordinates (500, 300).
  1. 複数の操作:
Convert the word "MATH" to ASCII values, calculate their sum, find the square root, and display the result in a red rectangle with white text.
  1. 高度な描画:
Draw a rectangle at (200, 200) with width 400 and height 300, then place the result of (2^10 + 3^5) inside it with centered text.

仕組み

  1. クライアントは、stdio 通信を使用して MCP サーバーに接続します
  2. Gemini AI モデルを使用して数学的な問い合わせを処理します
  3. 結果はキャンバスに自動的に描画されます
  4. システムは反復的なアプローチ(最大 9 回の反復)を使用して、複雑な問題を解決します
  5. 結果は見やすい形式で表示されます
  6. 各操作はツールスキーマに照らして検証されます
  7. エラー処理とタイムアウトの仕組みを備えています

エラー処理

クライアントには、次のような堅牢なエラー処理が含まれています。

  • API タイムアウト(LLM 操作では 10 秒のタイムアウト)
  • 無効な入力
  • 接続の問題
  • ツール実行エラー
  • 描画ツールの失敗
  • パラメーター検証エラー
  • セッション管理の問題

貢献

問題や機能改善のリクエストをお気軽に送信してください。

ライセンス

Apache License, Version 2.0(「ライセンス」)に基づいてライセンスされています。 ライセンスに従わない限り、このファイルを使用することはできません。 ライセンスのコピーは、次の場所から入手できます。

http://www.apache.org/licenses/LICENSE-2.0

適用される法律で義務付けられている場合、または書面で合意されている場合を除き、 本ソフトウェアは「現状のまま」提供され、明示的か黙示的かを問わず、 いかなる保証もありません。 ライセンスに基づく権利および制限については、 ライセンスを参照してください。

トラブルシューティング

  1. よくある問題:

    • 接続タイムアウト
    • 描画ツールの失敗
    • メモリの問題
    • パフォーマンスの問題
    • 認証エラー
  2. 解決策:

    • サーバーの状態を確認する
    • ネットワーク接続を確認する
    • キャッシュと一時ファイルを消去する
    • 依存関係を更新する
    • システムリソースを確認する

パフォーマンスのヒント

  1. 最適化:

    • 適切なキャンバスサイズを使用する
    • 同時実行する操作を制限する
    • 未使用のリソースを消去する
    • メモリ使用量を監視する
    • 効率的なアルゴリズムを使用する
  2. ベストプラクティス:

    • 定期的なバックアップ
    • システムの更新
    • リソースの監視
    • エラーログの記録
    • パフォーマンステスト

コメント

MCP は初めてですか?

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

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