Skip to content

MCP Server

The MCP Server LOP acts as a server that exposes Python functions from a DAT as “tools” that can be called by AI agents and other external applications using the Model Context Protocol (MCP). This allows you to create custom, remotely-callable APIs directly within your TouchDesigner project.

It leverages the fastmcp library to handle the server logic, simplifying the process of creating MCP-compatible tools. It can communicate over stdio or streamable-http, making your TouchDesigner functions accessible to a wide range of MCP clients.

  • Python Packages:
    • fastmcp: The core library for the MCP server.
    • aiohttp: Required for the streamable-http transport mode.
  • ChatTD Operator: Required for dependency management (installing packages) and asynchronous operations.
Status (Status) op('mcp_server').par.Status
Default:
"" (Empty String)
Start Server (Startserver) op('mcp_server').par.Startserver
Default:
None
Stop Server (Stopserver) op('mcp_server').par.Stopserver
Default:
None
Restart Server (Restartserver) op('mcp_server').par.Restartserver
Default:
None
Running (Running) op('mcp_server').par.Running
Default:
false
Transport (Transport) op('mcp_server').par.Transport
Default:
stdio
Host (Host) op('mcp_server').par.Host
Default:
"" (Empty String)
Port (Port) op('mcp_server').par.Port
Default:
0
Server Code DAT (Serverdat) op('mcp_server').par.Serverdat
Default:
None
Edit (open external) (Editserverdat) op('mcp_server').par.Editserverdat
Default:
None
View (View) op('mcp_server').par.View
Default:
server_dat
Status (Status2) op('mcp_server').par.Status2
Default:
"" (Empty String)
Install Dependencies (Installdeps) op('mcp_server').par.Installdeps
Default:
None
Check Dependencies (Checkdeps) op('mcp_server').par.Checkdeps
Default:
None
Bypass (Bypass) op('mcp_server').par.Bypass
Default:
false
Show Built-in Parameters (Showbuiltin) op('mcp_server').par.Showbuiltin
Default:
false
Version (Version) op('mcp_server').par.Version
Default:
"" (Empty String)
Last Updated (Lastupdated) op('mcp_server').par.Lastupdated
Default:
"" (Empty String)
Creator (Creator) op('mcp_server').par.Creator
Default:
"" (Empty String)
Website (Website) op('mcp_server').par.Website
Default:
"" (Empty String)
ChatTD Operator (Chattd) op('mcp_server').par.Chattd
Default:
None