Skip to content

feat(mcp): add touchdesigner (twozero) to the MCP catalog + point the skill at it - #68607

Closed
teknium1 wants to merge 2 commits into
mainfrom
hermes/hermes-7de5b566
Closed

teknium1 wants to merge 2 commits into
mainfrom
hermes/hermes-7de5b566

Conversation

@teknium1

Copy link
Copy Markdown
Collaborator

Summary

The twozero TouchDesigner MCP server is now installable from the Nous MCP catalog (hermes mcp install touchdesigner), with a curated default tool selection, and the touchdesigner-mcp skill points at the catalog instead of hand-writing config.

Previously the skill's setup.sh wrote a raw twozero_td block into mcp_servers via an inline PyYAML script — no tool curation, no probe, outside the catalog's review/pinning posture.

Changes

  • optional-mcps/touchdesigner/manifest.yaml: new catalog entry. HTTP transport (http://127.0.0.1:40404/mcp, the twozero hub), auth: none, no install block (server runs inside TD). tools.default_enabled curates 25 of the 36 tools — the full creative surface (build/wire/params, DAT/CHOP read-write, screenshots, search, errors, perf, docs). Gated off by default: the 7 desktop input-automation tools (synthesized mouse/keyboard, full-screen capture) and 4 admin/dev tools (td_project_quit, td_test_session — which exports chat transcripts / submits reports to the vendor hub, per the no-outbound-telemetry posture — and the Devmode-only dev logs). All enableable via hermes mcp configure touchdesigner.
  • skills/creative/touchdesigner-mcp/SKILL.md: Setup section now leads with hermes mcp install touchdesigner; documents the default-on/off split; migration note for the legacy twozero_td key; version 1.1.0 → 1.2.0.
  • scripts/setup.sh: replaces the inline-PyYAML config write with hermes mcp install touchdesigner; warns if a stale twozero_td entry remains.
  • references/troubleshooting.md: config example updated to the catalog entry shape (old example also used the wrong key, mcpServers).
  • website/docs/.../creative-touchdesigner-mcp.md: regenerated from SKILL.md.

Validation

Check Result
Real-loader E2E (_parse_manifest, list_catalog, get_entry("official/touchdesigner"), _build_server_config) vs temp HERMES_HOME pass — config block {url: http://127.0.0.1:40404/mcp}
default_enabled ∪ excluded == the 36 documented tools, disjoint pass (25 + 11)
scripts/run_tests.sh tests/hermes_cli/test_mcp_catalog.py (incl. shipped-manifest parse + version-lock contracts) pass
bash -n setup.sh pass

No packaging (pyproject/MANIFEST.in) changes — catalog is discovered by directory iteration; no pip-install machinery per standing policy.

Infographic

touchdesigner-mcp-catalog

@github-actions

github-actions Bot commented Jul 21, 2026 •

Copy link
Copy Markdown

૮ >ﻌ< ა ci review

running on 6096ad3

MCP catalog security review

MCP catalog security review · View job

ci-reviewed label is present.

@alt-glitch alt-glitch added type/feature New feature or request comp/plugins Plugin system and bundled plugins tool/mcp MCP client and OAuth tool/skills Skills system (list, view, manage) P3 Low — cosmetic, nice to have labels Jul 21, 2026
teknium1 added 2 commits July 21, 2026 12:40
Adds optional-mcps/touchdesigner: HTTP transport to the twozero plugin's
localhost hub (127.0.0.1:40404/mcp), no auth, no install block. Curates
tools.default_enabled to the 25 creative tools; the 7 desktop
input-automation tools and 4 admin/dev tools (including td_test_session,
which exports transcripts to the vendor hub) are off by default and
enableable via 'hermes mcp configure touchdesigner'.

Updates the touchdesigner-mcp skill to install via the catalog instead of
hand-writing a twozero_td block into config.yaml: SKILL.md setup section,
setup.sh (now calls 'hermes mcp install touchdesigner' and warns about the
legacy twozero_td key), troubleshooting config example, regenerated docs
page. Skill version 1.1.0 -> 1.2.0.
Live testing confirmed TouchDesigner ships Windows/macOS builds only, so the
localhost workflow is impossible on Linux. Drop linux from the skill's
platforms gate, state the constraint (and the remote-TD escape hatch: point
the mcp_servers.touchdesigner url at a Windows/macOS machine that forwards
twozero's localhost-bound port) in SKILL.md and the catalog post_install,
and note TD Non-Commercial is free. Docs page regenerated.
@teknium1
teknium1 force-pushed the hermes/hermes-7de5b566 branch from 673dafb to 6096ad3 Compare July 21, 2026 19:40
@jquesnelle jquesnelle added the ci-reviewed applied to manually approve dangerous changes label Jul 22, 2026
teknium1 added a commit that referenced this pull request Sep 12, 2026
…skill), optional skill retired

The twozero TouchDesigner integration now lives in one installable unit:
plugin-catalog/touchdesigner.yaml points at NousResearch/hermes-plugin-touchdesigner
(portable Agent Plugins v1: mcp.json registers the twozero Streamable HTTP hub, skills/
carries touchdesigner-mcp). `hermes plugins install touchdesigner` + `hermes plugins
enable td` replaces the optional skill whose setup.sh hand-wrote an mcp_servers block.

The manifest name is `td` because Hermes names portable MCP tools
mcp__agent_plugin_<name>_<hash>__<server>__<tool>; twozero's longest tool under a
`touchdesigner` namespace is 71 chars, past the 64-char provider function-name cap.

optional-skills/creative/touchdesigner-mcp and its generated docs (bundled, optional,
zh-Hans) are removed; catalog tables, sidebar and kanban-video-orchestrator references
are updated to point at the plugin. Supersedes #68607 (MCP-catalog-only approach).
teknium1 added a commit that referenced this pull request Sep 12, 2026
…skill), optional skill retired

The twozero TouchDesigner integration now lives in one installable unit:
plugin-catalog/touchdesigner.yaml points at NousResearch/hermes-plugin-touchdesigner
(portable Agent Plugins v1: mcp.json registers the twozero Streamable HTTP hub, skills/
carries touchdesigner-mcp). `hermes plugins install touchdesigner` + `hermes plugins
enable td` replaces the optional skill whose setup.sh hand-wrote an mcp_servers block.

The manifest name is `td` because Hermes names portable MCP tools
mcp__agent_plugin_<name>_<hash>__<server>__<tool>; twozero's longest tool under a
`touchdesigner` namespace is 71 chars, past the 64-char provider function-name cap.

optional-skills/creative/touchdesigner-mcp and its generated docs (bundled, optional,
zh-Hans) are removed; catalog tables, sidebar and kanban-video-orchestrator references
are updated to point at the plugin. Supersedes #68607 (MCP-catalog-only approach).
@teknium1

Copy link
Copy Markdown
Collaborator Author

Superseded by #108908 (merged, f364c19775617acb6c16140b790cda9fb05e1906).

Teknium asked for the MCP server and the skill to ship as ONE plugin in the plugin catalog rather than an MCP-catalog entry plus a separate skill. That's now plugin-catalog/touchdesigner.yaml → https://github.com/NousResearch/hermes-plugin-touchdesigner (portable Agent Plugins v1: mcp.json + skills/touchdesigner-mcp/; skill authorship @kshitijk4poor preserved). The 25/11 tool-curation split from this PR is carried as opt-in guidance in the skill (portable mcp.json has no per-tool filter); the optional-mcps/touchdesigner manifest is not landing.

hermes plugins install touchdesigner
hermes plugins enable td

@teknium1 teknium1 closed this Sep 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-reviewed applied to manually approve dangerous changes comp/plugins Plugin system and bundled plugins P3 Low — cosmetic, nice to have tool/mcp MCP client and OAuth tool/skills Skills system (list, view, manage) type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants