MCP server intelligence profile

TouchDesigner MCP Server

A Model Context Protocol server that enables AI agents to control and operate TouchDesigner projects through creation, modification, and querying of nodes and project structures

Local Only8beeeaaat
Awaiting current scanNpm · 2.0.0

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

1Distribution channel
14Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.

Install and connect

Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.

Install touchdesigner-mcp-server from npm

Version 2.0.0 declares 1 executable entrypoint.

npm install --save-exact touchdesigner-mcp-server@2.0.0
npx -y -p touchdesigner-mcp-server@2.0.0 touchdesigner-mcp-server
MCP client configuration example
{
  "mcpServers": {
    "touchdesigner-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "-p",
        "touchdesigner-mcp-server@2.0.0",
        "touchdesigner-mcp-server"
      ]
    }
  }
}

Identity

Canonical slugtouchdesigner-mcp-11d0e6c3DeploymentLocal Only
Canonical packagenpm:touchdesigner-mcp-serverRepository8beeeaaat/touchdesigner-mcp
First publishedLatest release
Last security verificationClassification confidence90%
PublicationDraftOfficial distributionNot verified

Distributions

ChannelIdentifierCurrent versionVersionsSource
npmtouchdesigner-mcp-server2.0.051Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
npmtouchdesigner-mcp-server2.0.0CurrentSep 5, 202614 toolsSucceeded · 0 resources · 3 promptsEvidence restricted
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

No public current-version evidence is available yet.

Current protocol inventory

2025-06-18Negotiated protocol
TouchDesignerServer-reported name
2Capability groups
Aug 15, 2026Observed

Tools 14

ToolCategoryAnnotationsRisk
create_td_nodeCreate a new node in TouchDesigner
Input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "parentPath": {
      "type": "string",
      "description": "Path to the parent node (e.g., /project1)"
    },
    "nodeType": {
      "type": "string",
      "description": "Type of the node to create (e.g., textTop)"
    },
    "nodeName": {
      "description": "Name of the new node (optional)",
      "type": "string"
    },
    "detailLevel": {
      "type": "string",
      "enum": [
        "minimal",
        "summary",
        "detailed"
      ],
      "description": "Response detail level for tool output (minimal, summary, or detailed)"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "yaml",
        "markdown"
      ],
      "description": "Structured output format for formatted responses"
    }
  },
  "required": [
    "parentPath",
    "nodeType"
  ],
  "additionalProperties": false
}
delete_td_nodeDelete an existing node in TouchDesigner
Input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "nodePath": {
      "type": "string",
      "description": "Path to the node to delete. e.g., \"/project1/geo1\""
    },
    "detailLevel": {
      "type": "string",
      "enum": [
        "minimal",
        "summary",
        "detailed"
      ],
      "description": "Response detail level for tool output (minimal, summary, or detailed)"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "yaml",
        "markdown"
      ],
      "description": "Structured output format for formatted responses"
    }
  },
  "required": [
    "nodePath"
  ],
  "additionalProperties": false
}
describe_td_toolsGenerate a filesystem-oriented manifest of available TouchDesigner tools
Input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "detailLevel": {
      "type": "string",
      "enum": [
        "minimal",
        "summary",
        "detailed"
      ],
      "description": "Response detail level for tool output (minimal, summary, or detailed)"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "yaml",
        "markdown"
      ],
      "description": "Structured output format for formatted responses"
    },
    "filter": {
      "type": "string",
      "minLength": 1,
      "description": "Optional keyword to filter by tool name, module path, or parameter description"
    }
  },
  "additionalProperties": false
}
exec_node_methodExecute a method on a specific node in TouchDesigner
Input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "nodePath": {
      "type": "string",
      "description": "Path to the node (e.g., /project1/null1)"
    },
    "method": {
      "type": "string",
      "description": "Name of the method to call"
    },
    "args": {
      "description": "List of arguments for the method call",
      "type": "array",
      "items": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          }
        ]
      }
    },
    "kwargs": {
      "description": "Keyword arguments for the method call",
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "detailLevel": {
      "type": "string",
      "enum": [
        "minimal",
        "summary",
        "detailed"
      ],
      "description": "Response detail level for tool output (minimal, summary, or detailed)"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "yaml",
        "markdown"
      ],
      "description": "Structured output format for formatted responses"
    }
  },
  "required": [
    "nodePath",
    "method"
  ],
  "additionalProperties": false
}
execute_python_scriptExecute a Python script in TouchDesigner (detailLevel=minimal|summary|detailed, responseFormat=json|yaml|markdown)
Input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "script": {
      "type": "string",
      "description": "e.g., \"op('/project1/text_over_image').outputConnectors[0].connect(op('/project1/out1'))\""
    },
    "detailLevel": {
      "type": "string",
      "enum": [
        "minimal",
        "summary",
        "detailed"
      ],
      "description": "Response detail level for tool output (minimal, summary, or detailed)"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "yaml",
        "markdown"
      ],
      "description": "Structured output format for formatted responses"
    }
  },
  "required": [
    "script"
  ],
  "additionalProperties": false
}
get_td_class_detailsGet information about a TouchDesigner class/module (detailLevel+limit supported)
Input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "className": {
      "type": "string",
      "description": "Name of the class or module. e.g., \"textTOP\""
    },
    "detailLevel": {
      "type": "string",
      "enum": [
        "minimal",
        "summary",
        "detailed"
      ],
      "description": "Response detail level for tool output (minimal, summary, or detailed)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Maximum number of items to include in formatted output"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "yaml",
        "markdown"
      ],
      "description": "Structured output format for formatted responses"
    }
  },
  "required": [
    "className"
  ],
  "additionalProperties": false
}
get_td_classesList TouchDesigner Python classes/modules (detailLevel+limit supported)
Input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "detailLevel": {
      "type": "string",
      "enum": [
        "minimal",
        "summary",
        "detailed"
      ],
      "description": "Response detail level for tool output (minimal, summary, or detailed)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Maximum number of items to include in formatted output"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "yaml",
        "markdown"
      ],
      "description": "Structured output format for formatted responses"
    }
  },
  "additionalProperties": false
}
get_td_infoGet server information from TouchDesigner
Input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "detailLevel": {
      "type": "string",
      "enum": [
        "minimal",
        "summary",
        "detailed"
      ],
      "description": "Response detail level for tool output (minimal, summary, or detailed)"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "yaml",
        "markdown"
      ],
      "description": "Structured output format for formatted responses"
    }
  },
  "additionalProperties": false
}
get_td_module_helpRetrieve Python help() text for a TouchDesigner module or class
Input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "moduleName": {
      "type": "string",
      "description": "Module or class name (e.g., \"noiseCHOP\", \"td.noiseCHOP\", \"tdu\")."
    },
    "detailLevel": {
      "type": "string",
      "enum": [
        "minimal",
        "summary",
        "detailed"
      ],
      "description": "Response detail level for tool output (minimal, summary, or detailed)"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "yaml",
        "markdown"
      ],
      "description": "Structured output format for formatted responses"
    }
  },
  "required": [
    "moduleName"
  ],
  "additionalProperties": false
}
get_td_node_errorsCheck node and descendant errors reported by TouchDesigner
Input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "nodePath": {
      "type": "string",
      "description": "Absolute path to the node to inspect. e.g., \"/project1/text1\""
    },
    "detailLevel": {
      "type": "string",
      "enum": [
        "minimal",
        "summary",
        "detailed"
      ],
      "description": "Response detail level for tool output (minimal, summary, or detailed)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Maximum number of items to include in formatted output"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "yaml",
        "markdown"
      ],
      "description": "Structured output format for formatted responses"
    }
  },
  "required": [
    "nodePath"
  ],
  "additionalProperties": false
}
get_td_node_parametersGet node parameters with concise/detailed formatting (detailLevel+limit supported)
Input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "nodePath": {
      "type": "string",
      "description": "Node path. e.g., \"/project1/textTOP\""
    },
    "detailLevel": {
      "type": "string",
      "enum": [
        "minimal",
        "summary",
        "detailed"
      ],
      "description": "Response detail level for tool output (minimal, summary, or detailed)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Maximum number of items to include in formatted output"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "yaml",
        "markdown"
      ],
      "description": "Structured output format for formatted responses"
    }
  },
  "required": [
    "nodePath"
  ],
  "additionalProperties": false
}
get_td_nodesList nodes under a path with token-optimized output (detailLevel+limit supported)
Input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "parentPath": {
      "type": "string",
      "description": "Parent path  e.g., \"/project1\""
    },
    "pattern": {
      "default": "*",
      "description": "Pattern to match against node names e.g., \"null*\"",
      "type": "string"
    },
    "includeProperties": {
      "default": false,
      "description": "Whether to include full node properties in the response (default false for better performance)",
      "type": "boolean"
    },
    "detailLevel": {
      "type": "string",
      "enum": [
        "minimal",
        "summary",
        "detailed"
      ],
      "description": "Response detail level for tool output (minimal, summary, or detailed)"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 500,
      "description": "Maximum number of items to include in formatted output"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "yaml",
        "markdown"
      ],
      "description": "Structured output format for formatted responses"
    }
  },
  "required": [
    "parentPath"
  ],
  "additionalProperties": false
}
get_top_imageCapture the current output of a TOP node as an image so it can be viewed directly (maxSize optionally downscales the longer side)
Input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "maxSize": {
      "description": "Maximum length of the image's longer side in pixels. The TOP is downscaled (aspect ratio preserved) only if it exceeds this value; omit to capture at native resolution.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 4096
    },
    "nodePath": {
      "type": "string",
      "minLength": 1,
      "description": "Path to the TOP node to capture, e.g. '/project1/moviefilein1'"
    }
  },
  "required": [
    "nodePath"
  ],
  "additionalProperties": false
}
update_td_node_parametersUpdate parameters of a specific node in TouchDesigner
Input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "nodePath": {
      "type": "string",
      "description": "Path to the node (e.g., /project1/null1)"
    },
    "properties": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "detailLevel": {
      "type": "string",
      "enum": [
        "minimal",
        "summary",
        "detailed"
      ],
      "description": "Response detail level for tool output (minimal, summary, or detailed)"
    },
    "responseFormat": {
      "type": "string",
      "enum": [
        "json",
        "yaml",
        "markdown"
      ],
      "description": "Structured output format for formatted responses"
    }
  },
  "required": [
    "nodePath",
    "properties"
  ],
  "additionalProperties": false
}

Resources 0

  • None observed.

Resource templates 0

  • None observed.

Prompts 3

  • Check node errorsCheck node errors

    Fuzzy search for node and return errors in TouchDesigner.

  • Node connectionNode connection

    Connect nodes between each other in TouchDesigner.

  • Search nodeSearch node

    Fuzzy search for node

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

TouchDesigner MCP Server questions

How do I install TouchDesigner MCP Server?

Install the selected package version with: npm install --save-exact touchdesigner-mcp-server@2.0.0

What tools does TouchDesigner MCP Server provide?

TouchDesigner MCP Server exposed 14 tools during independent protocol observation, including create_td_node, delete_td_node, describe_td_tools, exec_node_method, execute_python_script, get_td_class_details, get_td_classes, get_td_info, and others.

Is TouchDesigner MCP Server secure?

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

Official vs Community MCP Servers

Let’s talk about MCP security.

Share your details and our security team will contact you.