{
  "manifest_version": "0.3",
  "name": "tdmcp",
  "display_name": "TouchDesigner (tdmcp)",
  "version": "0.12.0",
  "description": "AI-native visual creation for TouchDesigner — build real node networks from plain language.",
  "author": {
    "name": "Pantani",
    "url": "https://github.com/Pantani/tdmcp"
  },
  "server": {
    "type": "node",
    "entry_point": "dist/index.js",
    "mcp_config": {
      "command": "node",
      "args": ["${__dirname}/dist/index.js"],
      "env": {
        "TDMCP_TD_HOST": "${user_config.TDMCP_TD_HOST}",
        "TDMCP_TD_PORT": "${user_config.TDMCP_TD_PORT}",
        "TDMCP_BRIDGE_TOKEN": "${user_config.TDMCP_BRIDGE_TOKEN}",
        "TDMCP_RAW_PYTHON": "${user_config.TDMCP_RAW_PYTHON}",
        "TDMCP_TOOL_PROFILE": "${user_config.TDMCP_TOOL_PROFILE}"
      }
    }
  },
  "user_config": {
    "TDMCP_TD_HOST": {
      "type": "string",
      "title": "TouchDesigner host",
      "description": "Hostname/IP of the TouchDesigner Web Server DAT bridge. Use 127.0.0.1 when TouchDesigner runs on this machine.",
      "required": false,
      "default": "127.0.0.1"
    },
    "TDMCP_TD_PORT": {
      "type": "number",
      "title": "TouchDesigner port",
      "description": "Port of the TouchDesigner Web Server DAT bridge (must match the bridge's port).",
      "required": false,
      "default": 9980,
      "min": 1,
      "max": 65535
    },
    "TDMCP_BRIDGE_TOKEN": {
      "type": "string",
      "title": "TouchDesigner bridge token",
      "description": "Optional bearer token shared with the TouchDesigner bridge. Leave blank only on trusted local networks.",
      "sensitive": true,
      "required": false,
      "default": ""
    },
    "TDMCP_RAW_PYTHON": {
      "type": "string",
      "title": "Raw Python tools",
      "description": "Set to off to hide the two client-authored raw-Python escape-hatch tools.",
      "required": false,
      "default": "on"
    },
    "TDMCP_TOOL_PROFILE": {
      "type": "string",
      "title": "Tool profile",
      "description": "Use full for all tools or safe to hide destructive/raw-code tools for autonomous sessions.",
      "required": false,
      "default": "full"
    }
  }
}
