Skip to main content
Glama

Export a SOP's geometry as SVG

export_sop_to_svg
Destructive

Convert TouchDesigner SOP geometry into plotter-ready SVG polylines, with optional scaling, flipping, and styling, returning the SVG string or saving it to a file.

Instructions

Walk a SOP's primitives via the bridge and emit an SVG document of polylines (each primitive becomes one <polyline>). Projects to x/y (drops z), auto-fits viewBox, supports stroke/fill/scale/flip_y. Writes to disk when output_path is supplied and always returns the SVG string in the report. Pen-plotter / laser / print deliverable.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
scaleNoScale factor applied to SOP units (TD SOPs are typically [-1..1]).
flip_yNoFlip Y so the SVG matches TD's viewport orientation.
fill_colorNoCSS color for fills (default 'none' — outlines only, plotter-style). Same allowlist as stroke_color.none
output_pathNoFilesystem path to write the SVG to. Absolute is recommended; relative paths are resolved against the server's current working directory. Omit to only return the SVG inline.
source_pathYesSOP path to export (e.g. '/project1/geo1/circle1').
stroke_colorNoCSS color for polyline strokes (default black). Accepts hex, rgb()/rgba()/hsl()/hsla(), or a named colour; anything that could break out of an SVG attribute is rejected.#000000
stroke_widthNoStroke width in SVG units.
Behavior5/5

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

The description goes well beyond the annotations by detailing the internal process: 'each primitive becomes one <polyline>', projection to x/y, viewBox auto-fit, and the guarantee to 'always return the SVG string in the report'. It also explicitly discloses the disk write side effect, aligning with the destructiveHint annotation. No contradictions.

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?

The description is compact and front-loaded. The first sentence states the core action, follow-up sentences add projection, styling, output behavior, and use case. Every sentence contributes value without redundancy or fluff.

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 tool with no output schema, the description adequately explains what is returned ('SVG string in the report') and the optional side effect. It covers the transformation logic, styling options, and target applications. This is sufficient for an agent to select and invoke the tool confidently.

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% and each parameter already has a detailed description. The tool description references parameters (stroke/fill/scale/flip_y) and the output_path condition, but adds no significant new semantic meaning beyond what the schema already provides. It stays at the baseline for complete schema coverage.

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 and resource: 'Walk a SOP's primitives... emit an SVG document of polylines'. It clearly distinguishes this from other export tools (e.g., export_recipe_bundle, export_look_tox) by explicitly naming SVG output and SOP geometry. Details like 'Projects to x/y (drops z)' further refine the scope.

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 provides clear context by ending with 'Pen-plotter / laser / print deliverable', indicating the intended use cases. It also explains the optional disk write behavior with output_path. However, it does not explicitly exclude alternative tools or state when not to use it, so a small gap remains for a perfect 5.

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