touchdesigner-mcp-server
Version:
MCP server for TouchDesigner
140 lines (139 loc) • 5.28 kB
JavaScript
/**
* Generated by orval v8.19.0 🍺
* Do not edit manually.
* TouchDesigner API
* OpenAPI schema for generating TouchDesigner API client code
* OpenAPI spec version: 1.5.0
*/
import { customInstance } from '../../api/customInstance.js';
export const TdNodeFamilyType = {
COMP: 'COMP',
CHOP: 'CHOP',
TOP: 'TOP',
SOP: 'SOP',
DAT: 'DAT',
MAT: 'MAT',
CUSTOM: 'CUSTOM',
};
export const TdPythonClassDetailsType = {
class: 'class',
module: 'module',
function: 'function',
object: 'object',
};
export const TdPythonClassInfoType = {
class: 'class',
module: 'module',
function: 'function',
object: 'object',
};
/**
* @summary Get nodes in the path
*/
export const getNodes = (params, options) => {
return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/nodes`, method: 'GET',
params
}, options);
};
/**
* @summary Create a new node
*/
export const createNode = (createNodeBody, options) => {
return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/nodes`, method: 'POST',
headers: { 'Content-Type': 'application/json', },
data: createNodeBody
}, options);
};
/**
* @summary Delete an existing node
*/
export const deleteNode = (params, options) => {
return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/nodes`, method: 'DELETE',
params
}, options);
};
/**
* Retrieves detailed information about a specific node including its properties, parameters and connections
* @summary Get node detail
*/
export const getNodeDetail = (params, options) => {
return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/nodes/detail`, method: 'GET',
params
}, options);
};
/**
* @summary Update node properties
*/
export const updateNode = (updateNodeBody, options) => {
return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/nodes/detail`, method: 'PATCH',
headers: { 'Content-Type': 'application/json', },
data: updateNodeBody
}, options);
};
/**
* Collects TouchDesigner error messages for a node and its children
* @summary Get node errors
*/
export const getNodeErrors = (params, options) => {
return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/nodes/errors`, method: 'GET',
params
}, options);
};
/**
* Returns a list of Python classes, modules, and functions available in TouchDesigner
* @summary Get a list of Python classes and modules
*/
export const getTdPythonClasses = (options) => {
return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/td/classes`, method: 'GET'
}, options);
};
/**
* Returns detailed information about a specific Python class, module, or function including methods, properties, and documentation
* @summary Get details of a specific Python class or module
*/
export const getTdPythonClassDetails = (className, options) => {
return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/td/classes/${className}`, method: 'GET'
}, options);
};
/**
* Retrieve Python help() documentation for TouchDesigner modules, classes, or utilities like tdu.
* @summary Get module/class Python help documentation
*/
export const getModuleHelp = (params, options) => {
return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/td/modules/help`, method: 'GET',
params
}, options);
};
/**
* Call a method on the node at the specified path (e.g., /project1).
* This allows operations equivalent to TouchDesigner's Python API such as
* `parent_comp = op('/project1')` and `parent_comp.create('textTOP', 'myText')`.
* @summary Call a method of the specified node
*/
export const execNodeMethod = (execNodeMethodBody, options) => {
return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/td/nodes/exec`, method: 'POST',
headers: { 'Content-Type': 'application/json', },
data: execNodeMethodBody
}, options);
};
/**
* Execute a Python script directly in TouchDesigner.
* Multiline scripts and scripts containing comments are supported.
* The script can optionally set a `result` variable to explicitly return a value.
* This endpoint allows you to interact with TouchDesigner nodes programmatically.
* @summary Execute python code on the server
*/
export const execPythonScript = (execPythonScriptBody, options) => {
return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/td/server/exec`, method: 'POST',
headers: { 'Content-Type': 'application/json', },
data: execPythonScriptBody
}, options);
};
/**
* Returns information about the TouchDesigner
* @summary Get TouchDesigner information
*/
export const getTdInfo = (options) => {
return customInstance({ url: `${process.env.TD_WEB_SERVER_HOST}:${process.env.TD_WEB_SERVER_PORT}/api/td/server/td`, method: 'GET'
}, options);
};