Skip to main content
Glama
axysar

touchdesigner-agent-mcp

by axysar

td_glsl

Idempotent

Read or write GLSL shader code for a GLSL TOP/MAT/POP by resolving the docked DAT. Returns code, compile errors, and stage details.

Instructions

Read or write a GLSL shader stage, resolving the correct docked DAT.

A GLSL TOP keeps its source in _pixel_shader / _vertex_shader DATs docked to the parent — never guess that DAT's name or set .text on it directly. Omit code to read; pass code to write (set return_compiled=true to re-cook and surface compile errors). Returns {stage, docked_dat_path, code, errors}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeNoIf provided, write into the docked DAT; if omitted, read instead.
pathYesGLSL TOP/MAT/POP path (e.g. '/project1/glsl1').
stageNoShader stage: 'pixel', 'vertex', or 'compute'.pixel
response_formatNoOutput format: 'json' (default) or 'markdown'.json
return_compiledNoOn write, re-cook and return any compile errors.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

Describes the docked DAT resolution, read/write behavior, and compile error handling via return_compiled. Returns {stage, docked_dat_path, code, errors}. Does not contradict annotations (destructiveHint=false, readOnlyHint=false). Could mention whether write replaces or appends code, but overall very transparent.

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 that front-load the core purpose. No wasted words; each phrase earns its place. The structure logically separates read vs. write and error handling.

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?

The description covers all essential aspects: operation modes, parameter semantics, output structure, and error handling. No gaps remain; the tool's behavior is fully understandable without external references.

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

Parameters5/5

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

All 5 parameters are fully described in the schema (100% coverage). The description adds significant value by explaining the read/write duality of 'code,' the purpose of 'stage,' and the effect of 'return_compiled.' The schema alone would not convey this context.

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 states 'Read or write a GLSL shader stage, resolving the correct docked DAT.' It specifies the action (read/write) and resource (GLSL shader stage), and distinguishes from siblings by highlighting the docked DAT resolution mechanism that no other tool mentions.

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?

Explicit guidance: 'Omit code to read; pass code to write' and 'set return_compiled=true to re-cook and surface compile errors.' Also warns against guessing DAT names or setting .text directly. No alternatives needed as this is the only GLSL shader tool.

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/axysar/touchdesigner-agent-mcp'

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