Skip to main content
Glama

Manage TouchDesigner community packages

manage_packages
Destructive

Manage TouchDesigner community packages: search, list, install, inspect, and reconcile. Dry-run and consent-first protect live projects during uninstall or pruning.

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?

Beyond the annotations (readOnlyHint=false, destructiveHint=true), the description discloses crucial safety behaviors: reconciliation is dry-run-first, proves marker ownership, requires Delete/Bypass/Keep consent, and legacy uninstall returns a safe plan instead of deleting first. It also explicitly states what the tool never does (run third-party scripts, pip installs, model downloads, external app setup), adding significant context beyond the structured data.

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, with the first sentence front-loading the core purpose, the second detailing the reconciliation safety protocol, and the third clarifying legacy behavior and explicit exclusions. Every sentence adds value, and the description is compact given the 17-parameter complexity.

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?

For a destructive, open-world package manager tool with 17 parameters, the description covers essential context: scope, safety protocols, consent flow, legacy uninstall behavior, and explicit non-actions. It is sufficient for an agent to invoke the tool safely and understand its side effects, even without an output schema.

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?

The schema already provides 100% coverage with detailed parameter descriptions, so the baseline is 3. The tool description does not add any parameter-specific semantics beyond what the schema offers, but it does contextualize actions like 'reconcile' and 'install' that are relevant to parameter usage.

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 opens with a specific verb list ('Search, list, inspect, doctor, install, reconcile, and uninstall') tied to a clear resource ('manifest-driven TouchDesigner community packages') and scope ('user or project scope'). This distinguishes it from sibling tools, which focus on node creation or external integrations, not package lifecycle management.

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?

It clearly states the operational scope ('at explicit user or project scope') and explains the safe reconciliation workflow (dry-run-first, consent before pruning). However, it does not name alternative tools or explicitly state when NOT to use it, though the context is strong enough to infer its package-management niche.

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/Pantani/tdmcp'

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