TouchDesigner МКП
Это реализация сервера MCP (Model Context Protocol) для TouchDesigner. Цель — позволить агентам ИИ контролировать и управлять проектами TouchDesigner.
Обзор
TouchDesigner MCP выступает в качестве моста между моделями ИИ и TouchDesigner WebServer DAT, позволяя агентам ИИ:
- Создание, изменение и удаление узлов
- Запрос свойств узла и структуры проекта
- Программное управление TouchDesigner с помощью скриптов Python
Использование
Требуется установка Docker или Node.js
1. Клонируйте репозиторий:
2. Настройте файл среды и выполните сборку:
Скопируйте файл шаблона и при необходимости настройте TD_WEB_SERVER_HOST и TD_WEB_SERVER_PORT перед созданием образа Docker.
3. Установите API-сервер в свой проект TouchDesigner:
Запустите TouchDesigner и импортируйте компонент td/mcp_webserver_base.tox
непосредственно в проект TouchDesigner, которым вы хотите управлять. Пример: поместите его как /project1/mcp_webserver_base
Импорт tox запустит скрипт td/import_modules.py
, который загружает модули, такие как контроллеры сервера API.
Вы можете проверить журналы загрузки, открыв Textport из меню TouchDesigner.
4. Запустите контейнер сервера MCP.
5. Настройте свой ИИ-агент для использования контейнера Docker:
Пример для Claude Desktop
В системах Windows укажите букву диска, например C:, например C:\\path\\to\\your\\touchdesigner-mcp\\docker-compose.yml
Чтобы использовать готовый JS-код непосредственно из Node.js:
1. Установить пакет
2. Установите API-сервер в свой проект TouchDesigner:
Запустите TouchDesigner и импортируйте компонент some/node_modules/touchdesigner-mcp-server/td/mcp_webserver_base.tox
непосредственно в проект TouchDesigner, которым вы хотите управлять. Пример: поместите его как /project1/mcp_webserver_base
Импорт tox запустит скрипт some/node_modules/touchdesigner-mcp-server/td/import_modules.py
, который загружает модули, такие как контроллеры сервера API.
Вы можете проверить журналы загрузки, открыв Textport из меню TouchDesigner.
3. Настройте своего ИИ-агента:
Пример для Claude Desktop
В системах Windows укажите букву диска, например C:, например C:\\path\\to\\your\\node_modules\\touchdesigner-mcp-server\\dist\\index.js
3. Проверка соединения
Если сервер MCP распознан, настройка завершена. Если он не распознан, попробуйте перезапустить агента AI. Если вы видите ошибку при запуске, попробуйте запустить агента снова после предварительного запуска TouchDesigner. Если сервер API работает правильно в TouchDesigner, агент может использовать предоставленные инструменты для работы TouchDesigner.
Возможности сервера MCP
Этот сервер позволяет выполнять операции на TouchDesigner через протокол контекста модели (MCP) и предоставляет ссылки на различные документы по реализации.
Инструменты
Инструменты позволяют агентам ИИ выполнять действия в TouchDesigner.
Название инструмента | Описание |
---|---|
create_td_node | Создайте новый узел. |
delete_td_node | Удалить существующий узел. |
exec_node_method | Вызов метода Python на узле. |
execute_python_script | Выполнить произвольный скрипт Python в TD. |
get_td_class_details | Получите подробную информацию о классе/модуле TD Python. |
get_td_classes | Получите список классов Python TouchDesigner. |
get_td_info | Получите информацию о среде сервера TD. |
get_td_node_parameters | Получить параметры определенного узла. |
get_td_nodes | Получить узлы по родительскому пути (опционально с фильтрацией). |
update_td_node_parameters | Обновить параметры определенного узла. |
Подсказки
Подсказки предоставляют инструкции агентам ИИ по выполнению определенных действий в TouchDesigner.
Имя подсказки | Описание |
---|---|
Search node | Нечеткий поиск узлов и извлечение информации по имени, семейству, типу. |
Node connection | Предоставьте инструкции по подключению узлов в TouchDesigner. |
Check node errors | Проверить ошибки для указанного узла, рекурсивно для дочерних узлов, если таковые имеются. |
Ресурсы
Не реализовано
Для разработчиков
Создание клиентского и серверного кода API
cp dotenv .env
- Настройте
TD_WEB_SERVER_HOST
иTD_WEB_SERVER_PORT
в файле.env
в соответствии с вашей средой разработки. - Запустите
make build
илиnpm run build
для повторной генерации кода.
Если вам необходимо отразить построенный код, перезапустите сервер MCP и TouchDesigner.
Проверка API-сервера
npm run test
Запуск модульных тестов для кода сервера MCP и интеграционных тестов с TouchDesigner. Вы можете проверить журналы связи, открыв Textport из меню TouchDesigner.npm run dev
Запустить @modelcontextprotocol/inspector для отладки различных функций.
Обзор структуры проекта
Рабочий процесс генерации кода API
В этом проекте используются инструменты генерации кода на основе OpenAPI (Orval / openapi-generator-cli):
Определение API: контракт API между сервером Node.js MCP и сервером Python, работающим внутри TouchDesigner, определен в src/api/index.yml
.
- Генерация сервера Python (
npm run gen:webserver
):- Использует
openapi-generator-cli
через Docker. - Читает
src/api/index.yml
. - Генерирует скелет сервера Python (
td/modules/td_server/
) на основе определения API. Этот код выполняется внутри TouchDesigner через WebServer DAT. - Требуется установленный и запущенный Docker.
- Использует
- Генерация обработчика Python (
npm run gen:handlers
):- Использует пользовательский скрипт Node.js (
td/genHandlers.js
) и шаблоны Mustache (td/templates/
). - Считывает сгенерированный серверный код Python или спецификацию OpenAPI.
- Генерирует реализации обработчиков (
td/modules/mcp/controllers/generated_handlers.py
), которые подключаются к бизнес-логике вtd/modules/mcp/services/api_service.py
.
- Использует пользовательский скрипт Node.js (
- Генерация клиента TypeScript (
npm run gen:mcp
):- Использует
Orval
для генерации клиентского кода API и схем Zod для проверки инструментов из схемы YAML, объединенной сopenapi-generator-cli
. - Генерирует типизированный клиент TypeScript (
src/tdClient/
), используемый сервером Node.js для выполнения запросов к WebServer DAT.
- Использует
Процесс сборки ( 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.
Сервер протокола контекста модели, который позволяет агентам ИИ контролировать и управлять проектами TouchDesigner посредством создания, изменения и запроса узлов и структур проекта.
- Обзор
- Использование
- Клонируйте репозиторий:
- Настройте файл среды и выполните сборку:
- Установите API-сервер в свой проект TouchDesigner:
- Запустите контейнер сервера MCP.
- Настройте свой ИИ-агент для использования контейнера Docker:
- Установить пакет
- Установите API-сервер в свой проект TouchDesigner:
- Настройте своего ИИ-агента:
- Проверка соединения
- Возможности сервера MCP
- Для разработчиков
- Внося вклад
- Лицензия
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 -8439PythonMIT 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 -343MIT 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