Skip to main content
Glama

Analyze project

analyze_project
Read-only

Analyze a TouchDesigner network to detect dead operators, missing file dependencies, orphan COMPs, and operator dependencies. Reports issues with human-readable reasons for cleanup.

Instructions

Diagnose a network for cleanup: report likely-dead operators (zero wired outputs, unreferenced, not displayed), broken external-file dependencies (file parameters pointing at missing files), orphan COMPs, and a dependency map of which operators reference which. Read-only and conservative — every flagged item carries a human-readable reason. Complements plan_visual (which plans a build) and snapshot_td_graph (which dumps structure).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNoNetwork root to analyze (the COMP whose descendants are scanned)./project1
recursiveNoRecurse into child COMPs (true) or only inspect the root's direct children (false).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYes
recursiveYes
countsYes
unusedYes
broken_file_depsYes
orphan_compsYes
dependency_mapYes
warningsYes
Behavior5/5

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

Annotations declare readOnlyHint=true and openWorldHint=true, and the description adds behavioral context: every flagged item carries a human-readable reason. No contradiction; description enriches understanding beyond annotations.

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?

Two concise sentences with no wasted words. Front-loaded with the core action ('Diagnose a network for cleanup') and efficiently lists outputs and behavioral notes.

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?

With output schema present and annotations, the description adds all necessary context: what the tool does, what it returns, how it behaves (read-only, conservative). No gaps remain.

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% with clear descriptions for both parameters. The description does not add significant meaning beyond the schema, so baseline 3 is appropriate. It is adequate but not enhanced.

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 uses specific verbs ('Diagnose', 'report') and lists concrete outputs (dead operators, broken dependencies, orphan COMPs, dependency map). It clearly distinguishes from sibling tools by naming complements (plan_visual, snapshot_td_graph).

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

Usage Guidelines5/5

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

Explicitly states it is 'Read-only and conservative', provides context for when to use (cleanup diagnosis), and names alternatives that complement it ('Complements plan_visual...'). This gives clear guidance on selection.

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