Integrations
Required for code generation during development, used to generate API client/server schemas for the TouchDesigner integration.
Required runtime environment for the TouchDesigner MCP server, enabling the bridge between AI models and TouchDesigner.
Used within TouchDesigner for scripting and controlling nodes, allowing AI agents to execute Python code to manipulate TouchDesigner projects.
タッチデザイナーMCP
これはTouchDesigner用のMCP(Model Context Protocol)サーバーの実装です。AIエージェントがTouchDesignerプロジェクトを制御・操作できるようにすることを目的としています。
概要
TouchDesigner MCP は、AI モデルと TouchDesigner WebServer DAT 間のブリッジとして機能し、AI エージェントが次のことを実行できるようにします。
- ノードの作成、変更、削除
- クエリノードのプロパティとプロジェクト構造
- PythonスクリプトでTouchDesignerをプログラム的に制御する
使用法
Node.jsのインストールが必要です
1. touchdesigner-mcp-serverパッケージをインストールする
mkdir some && cd ./some
(必要な場合) npm install touchdesigner-mcp-server
2. TouchDesignerに接続する
TouchDesignerにmcp_webserver_base.toxを配置する
TouchDesignerを起動し、 td/mcp_webserver_base.tox
コンポーネントをTouchDesignerプロジェクトの直下にインポートします。例: /project1/mcp_webserver_base
に配置します。
tox をインポートすると、API サーバー コントローラーなどのモジュールをロードするtd/import_modules.py
スクリプトがトリガーされます。
TouchDesigner メニューから Textport を開くと、ブート ログを確認できます。
3. TouchDesigner MCPサーバーを構成する
TouchDesigner を実行している状態で、AI エージェント (Claude Desktop、Cursor、VSCode CopilotChat など) を MCP サーバーに接続するように構成します。
例: クロードデスクトップ
Windows システムの場合は、C: などのドライブ文字を含めてください (例: C:\\path\\to\\your\\node_modules\\touchdesigner-mcp-server\\dist\\index.js
MCPサーバーが認識されればセットアップは完了です。認識されない場合はエージェントを再起動してください。起動時にエラーが表示される場合は、TouchDesignerを起動した後にエージェントを再度起動してみてください。TouchDesignerでAPIサーバーが動作している場合、エージェントは付属のツールを介してTouchDesignerを利用できます。
MCP サーバーの機能
このサーバーは、モデル コンテキスト プロトコル (MCP) を介して TouchDesigner での操作を可能にし、さまざまな実装ドキュメントへの参照を提供します。
ツール
ツールを使用すると、AI エージェントは TouchDesigner でアクションを実行できます。
ツール名 | 説明 |
---|---|
create_td_node | 新しいノードを作成します。 |
delete_td_node | 既存のノードを削除します。 |
exec_node_method | ノード上で Python メソッドを呼び出します。 |
execute_python_script | TD で任意の Python スクリプトを実行します。 |
get_td_class_details | TD Python クラス/モジュールの詳細を取得します。 |
get_td_classes | TouchDesigner Python クラスのリストを取得します。 |
get_td_info | TD サーバー環境に関する情報を取得します。 |
get_td_node_parameters | 特定のノードのパラメータを取得します。 |
get_td_nodes | 親パスの下のノードを取得します (オプションでフィルタリング可能)。 |
update_td_node_parameters | 特定のノードのパラメータを更新します。 |
プロンプト
プロンプトは、AI エージェントに TouchDesigner で特定のアクションを実行するための指示を提供します。
プロンプト名 | 説明 |
---|---|
Search node | ノードをあいまい検索し、名前、ファミリ、タイプに基づいて情報を取得します。 |
Node connection | TouchDesigner 内でノードを接続するための手順を提供します。 |
Check node errors | 指定されたノードのエラーをチェックし、子ノードがある場合は再帰的にチェックします。 |
リソース
実装されていません
開発者向け
MCP サーバーコードの構築
- リポジトリをクローンする
- 依存関係をインストールする
- 環境ファイルの設定とビルド
TouchDesignerのセットアップ
1.コード生成:
npm run build
実行して次のコードを生成します。
- MCP サーバーコード
- TouchDesigner WebServer DAT の API サーバー コード
2. MCP サーバーの WebServer を TouchDesigner にインポートします。
TouchDesignerを起動し、 td/mcp_webserver_base.tox
コンポーネントをプロジェクトの直下にインポートします。toxをインポートすると、 td/import_modules.py
スクリプトが起動し、APIサーバーコントローラーなどのモジュールが読み込まれます。
3. API サーバーの動作を確認します。
td/modules
ディレクトリ内の Python モジュールがmcp_webserver_base
コンポーネントからアクセスできることを確認してくださいnpm run test
を実行して、MCP サーバーコードと TouchDesigner 接続の単体テストと統合テストを実行してください。通信ログは、TouchDesigner メニューから Textport を開くことで確認できます。
npm run dev
を使用して @modelcontextprotocol/inspector でデバッグできます。
TIPS mcp_webserver_base.tox
には、MCPサーバーとTouchDesignerをリンクするように設定されたWebServer DATが含まれています。このDATがアクティブで、 .env
ファイルのTD_WEB_SERVER_URL
で指定されたポート(デフォルト: 9981
)で実行されていることを確認してください。ポートを変更するには、以下の手順を実行してください。
.env
のTD_WEB_SERVER_PORT
変更するnpm run build
を再実行します。- mcp_webserver_base (WebServer DAT) のポート番号を変更し、DAT を再起動します。
MCP対応AIエージェントとの接続
TouchDesigner を実行している状態で、AI エージェント (Cursor、Claude Desktop、VSCode CopilotChat など) を MCP サーバーに接続するように構成します。
例: クロードデスクトップ
Windows システムの場合は、C: などのドライブ文字を含めてください (例: C:\\path\\to\\your\\touchdesigner-mcp\\dist\\index.js
セットアップ後のプロジェクト構造
APIコード生成ワークフロー
このプロジェクトでは、OpenAPI ベースのコード生成ツール (Orval / openapi-generator-cli) を使用します。
API 定義: Node.js MCP サーバーと TouchDesigner 内で実行される Python サーバー間の API 契約はsrc/api/index.yml
で定義されます。
- Python サーバー生成 (
npm run gen:webserver
):- Docker 経由で
openapi-generator-cli
を使用します。 src/api/index.yml
を読み取ります。- API定義に基づいてPythonサーバーのスケルトン(
td/modules/td_server/
)を生成します。このコードはWebServer DATを介してTouchDesigner内で実行されます。 - Docker がインストールされ、実行されている必要があります。
- Docker 経由で
- Python ハンドラー生成 (
npm run gen:handlers
):- カスタム Node.js スクリプト (
td/genHandlers.js
) と Mustache テンプレート (td/templates/
) を使用します。 - 生成された Python サーバー コードまたは OpenAPI 仕様を読み取ります。
td/modules/mcp/services/api_service.py``td/modules/mcp/controllers/generated_handlers.py
) を生成します。
- カスタム Node.js スクリプト (
- TypeScript クライアントの生成 (
npm run gen:mcp
):Orval
を使用して、openapi-generator-cli
によってバンドルされたスキーマ YAML から、ツール検証用の API クライアント コードと Zod スキーマを生成します。- Node.js サーバーが WebServer DAT にリクエストを行うために使用する、型指定された TypeScript クライアント (
src/tdClient/
) を生成します。
ビルド プロセス ( npm run build
) では、必要なすべての生成ステップ ( npm run gen
) が実行され、その後に TypeScript コンパイル ( tsc
) が実行されます。
貢献
皆様のご協力をお待ちしております!
- リポジトリをフォークする
- 機能ブランチを作成する (
git checkout -b feature/amazing-feature
) - 変更を加える
- テストを追加してすべてが機能することを確認する(
npm test
) - 変更をコミットします (
git commit -m 'Add some amazing feature'
) - ブランチにプッシュします (
git push origin feature/amazing-feature
) - プルリクエストを開く
実装を変更するときは、常に適切なテストを含めてください。
ライセンス
マサチューセッツ工科大学
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
AI エージェントがノードとプロジェクト構造の作成、変更、クエリを通じて TouchDesigner プロジェクトを制御および操作できるようにするモデル コンテキスト プロトコル サーバー。
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol server that allows AI assistants to interact with Appwrite's API, providing tools to manage databases, users, functions, teams, and other resources within Appwrite projects.Last updated -8436PythonMIT License
- -securityAlicense-qualityA Model Context Protocol server that enables AI agents to interact with ClickUp workspaces, allowing task creation, management, and workspace organization through natural language commands.Last updated -203MIT License
- -securityAlicense-qualityA Model Context Protocol server that enables AI assistants to interact with Fingertip's site management capabilities, allowing them to list, view details of, and create websites.Last updated -1TypeScriptMIT License
- -security-license-qualityA Model Context Protocol server implementation that enables AI assistants to interact with Linear project management systems, allowing them to create, retrieve, and modify data related to issues, projects, teams, and users.Last updated -202TypeScript