Skip to main content
Glama

Manage TouchDesigner community packages

manage_packages
Destructive

Manage TouchDesigner community packages at user or project scope. Safely install, uninstall, reconcile, and inspect packages with dry-run planning and explicit consent.

Instructions

Search, list, inspect, doctor, install, reconcile, and uninstall manifest-driven TouchDesigner community packages at explicit user or project scope. Reconciliation is dry-run-first, proves marker ownership, and uses Delete/Bypass/Keep consent before pruning a live package. A legacy uninstall with a live TD target now returns the safe reconciliation plan instead of deleting local state first. This tool never runs third-party scripts, pip installs, model downloads, or external app setup.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pinNoOptional Git ref/tag to stage instead of the manifest default.
yesNoAllow replacement of existing staged files / TD package target when applicable.
nameNoOptional custom TD node name for live import.
queryNoSearch query for action='search'.
scopeNoPackage ownership scope. Project scope uses <project_dir>/.tdmcp/packages.user
actionYesPackage-manager action to run.
dry_runNoFor action='install', plan safely without downloading or mutating by default.
plan_idNoOpaque plan id from the immediately preceding reconciliation dry-run.
installedNoFor action='list', include installed state.
package_idNoPackage id or alias, e.g. 'mediapipe', 'raytk', or 'shader-park-td'.
project_dirNoExplicit local project directory; required when scope='project'.
project_pathNoTouchDesigner project COMP for optional live import./project1
packages_rootNoAdvanced override for package state/cache root. Defaults to ~/.tdmcp/packages.
allow_externalNoAcknowledge optional external dependency guidance; does not configure apps/services.
reconcile_choiceNoFor reconcile apply: keep, bypass, or request native approval to delete.Keep
allow_python_depsNoAcknowledge optional Python dependency guidance; does not run pip.
confirmation_timeout_msNoBounded native Delete/Bypass/Keep broker wait.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Even though destructiveHint and openWorldHint are provided, the description goes well beyond by detailing the reconciliation flow: 'dry-run-first, proves marker ownership, and uses Delete/Bypass/Keep consent before pruning a live package.' It also notes that legacy uninstall now returns a safe plan instead of deleting. This gives critical safety context that annotations do not convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the action list, then safety specifics, then hard exclusions. Every sentence earns its place without redundancy or fluff. The structure is efficient for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a high-complexity tool with 17 parameters and multiple actions, yet the description covers the full action set, scope semantics, safety-critical reconciliation behavior, and strict exclusions. Even without an output schema, the description is sufficient to guide invocation and avoid dangerous mistakes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for all 17 parameters, so the baseline of 3 applies. The description adds some high-level context about scope and dry-run behavior, but does not add detailed parameter-level meaning beyond what the schema already provides. It is neither misleading nor incomplete, but the schema carries the semantic burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly enumerates the actions: 'Search, list, inspect, doctor, install, reconcile, and uninstall' manifest-driven TouchDesigner community packages. This provides a specific verb+resource combination and unmistakably distinguishes it from sibling tools focused on node creation, rendering, or external integrations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context via 'at explicit user or project scope' and explicitly excludes what it never does ('never runs third-party scripts, pip installs, model downloads, or external app setup'). However, it does not name alternative tools or explicitly state 'use this when...' versus other package-related tools, so it slightly misses the full 'when-not' guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lucasmaher-hash/touch-designer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server