Interactive Drawing MCP について
Tkinterの描画ウィンドウと16×16グリッドを操作するツールを組み合わせたMCPサーバーの例です。GooseなどのMCPクライアントで描画でき、グリッド状態をセッション間で保存します。
主な機能
- 01インタラクティブな16×16描画グリッド
- 02描画セッションの開始
- 03個別セルの切り替え
- 04グリッド状態のテキスト取得
- 05状態のJSON保存
活用シーン
- 01ツール呼び出しによるパターン描画
- 02現在のグリッド状態の確認
- 03保存済みの描画状態からの再開
MCP 対応
セッション開始、セル切り替え、グリッド状態取得のツールを提供します。Goose AIのツール呼び出しをTkinterの画面に反映します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
インタラクティブ描画 MCP
このプロジェクトは、インタラクティブな描画インターフェースを備えた Model Context Protocol(MCP)サーバーのサンプルです。Tkinter をグラフィカルインターフェースとして使用し、描画用の独立した UI ウィンドウを含む MCP 拡張機能の構築方法を紹介します。
機能
-
描画グリッドインターフェース:
- 16x16 のグリッドを用意し、各セルを塗りつぶしまたは空の 2 つの状態に切り替えられます。
- すべてのセルをリセットするグリッドクリアボタンを備えています。
-
サーバーの機能:
- 描画セッションの開始:新しいセッションを初期化し、UI を起動します。
- セルの切り替え:コマンドインターフェースを介して、個々のセルの色を切り替えます。
- グリッドの状態の取得:現在のグリッド設定をテキスト形式で取得します。
-
永続化:セッション間で一貫性を保つため、グリッドの状態を JSON ファイル(
board_state.json)に保存します。 -
UI と状態の同期:
- リアルタイム UI 更新:バックグラウンドスレッドがグリッド状態ファイルの更新を継続的に監視し、変更を視覚的に反映します。
インストール
オプション 1:ソースからインストール
-
このリポジトリをクローンします:
git clone https://github.com/AaronGoldsmith/interactive_draw_mcp cd interactive_draw_mcp -
パッケージをインストールします:
pip install -e .
使用方法
スタンドアロン MCP サーバーとして
サーバーを実行して描画ウィンドウを開きます:
interactive-draw-mcp
Goose で使用する
オプション 1:Goose CLI を使用(推奨)
拡張機能を有効にして Goose を起動します:
# Local Development
goose session --with-extension "python -m interactive-draw-mcp"
ツール
- サーバーツール:
start_drawing_session():描画セッションを初期化し、UI を開きます。toggle_cell_color(row, col):指定したrowとcolのセルの色を切り替えます。get_grid_state():グリッドの現在の状態を文字列形式で返します。
リソースと参考情報
- 着想元:この MCP は Kvadratni/tik-tak-toe-mcp から着想を得ています。
アーキテクチャの概要
このプロジェクトのアーキテクチャでは、次の点を紹介しています。
- MCP サーバー:明確に定義されたツールを介して、Goose AI と描画インターフェース間の通信を管理します。
- インタラクティブ UI:グリッドの視覚的なインターフェースを提供します。
- Goose AI との統合:Goose AI からのツール呼び出しはグリッドの状態に直接反映され、その逆も同様です。
メリット
- 責務の分離:サーバーロジックと UI 表示を明確に分離します。
- ユーザーエクスペリエンスの向上:テキストベースのコマンドインターフェースに加え、直感的な視覚フィードバックを提供します。
- 拡張性:AI とインタラクティブ UI を活用する、より高度なアプリケーションへ拡張できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。