Product documentation · Current desktop UI

Host MCP integration

Tech Connector uses a hybrid host-control architecture:

  • The planner and workflow engine decide what should happen.
  • Typed operations from dcc_operation_service.py define what may happen.
  • Existing localhost bridges perform the deterministic host call.
  • MCP sidecars expose the same operations to external MCP clients.

MCP is an additional protocol boundary; it does not replace the direct bridge or create a second implementation of Maya, Blender, Unity, or another host API.

Managed hosts

The common host facade supports Maya, Unreal, Blender, Houdini, Unity, MotionBuilder, 3ds Max, Substance Painter, Photoshop, GIMP, and Godot. The packaged managed configuration launches shared sidecars for every listed host except Unreal, which keeps its specialized server for project scans, snapshots, asset inspection, and wrapper generation. Integrations may launch Unreal through the common facade when they need the shared catalog contract. Every host still uses its existing discovered session ports, including multiple simultaneous sessions.

The generated MCP configuration launches shared sidecars with:

python tech_connector/bridges/host_mcp_server.py --host <host-id>

Each server exposes namespaced status, session selection, operation catalog, validation, execution, indexed-project-tool discovery, and native-API discovery tools. It also exposes every registered typed operation as its own MCP tool. For example, Maya tools include maya_status, maya_sessions, maya_run_operation, maya_indexed_tool_catalog, and maya_native_api_catalog.

The execution surface follows the real host transport instead of pretending every application has the same runtime:

  • Maya, Unreal, Blender, Houdini, MotionBuilder, 3ds Max, and Substance Painter support live Python-native namespace discovery and controlled invocation.
  • Indexed Tech Connector project tools are discoverable for every host that has indexed functions and are invokable when that host bridge supports Python execution.
  • Unity, Photoshop, GIMP, and Godot use their registered typed command transports. They do not advertise a Python-native namespace that their bridge cannot execute.
  • Native and indexed callable execution requires the same explicit approval and installation policies as arbitrary host execution. Catalog and schema inspection remain read-only.

For the artist-facing setup flow, status meanings, example prompts, and troubleshooting, see MCP and agent tools.

Safety policy

Read-only typed operations are available by default. A mutating operation requires both:

  1. approved=true on that individual MCP call.
  2. TECH_CONNECTOR_MCP_ALLOW_MUTATION=1 in the server environment.

Arbitrary code and registered script.run or api.call operations additionally require:

TECH_CONNECTOR_MCP_ALLOW_RAW_EXECUTION=1

This separates an approval for one typed edit from permission to execute arbitrary host code. Installations should leave both environment switches unset unless the MCP client and project are trusted.

Runtime and configuration

FastMCP and its runtime type-checking dependency are pinned in the packaged runtime requirements. settings_service.update_mcp_config() replaces managed legacy entries with repository-owned sidecars while preserving unrelated user-managed MCP servers. It probes the active and installed Tech Connector Python runtimes by constructing a real FastMCP server, rather than accepting a shallow package import, and pins a working interpreter instead of relying on an ambiguous python command. Set TECH_CONNECTOR_MCP_PYTHON to an explicit compatible executable when an installation needs to override that selection. The checked-in reference configuration is knowledge/mcp_unreal_maya_knowledge_config.json.

Settings can inspect and import existing Claude Desktop, Claude, Cursor, VS Code, and Codex MCP configurations. Imports preserve existing target servers on name conflicts, reject malformed entries, create a recoverable backup, and never display environment or header values in the server summary.

Network MCP servers are not placed on the local-first startup path by default because an unavailable remote endpoint can delay every prompt before inference begins. The historical Ludus connector can be generated by setting TECH_CONNECTOR_ENABLE_LUDUS_MCP=1, or any remote server can be imported through the MCP Servers manager.

MCPHost receives a role-scoped runtime view of the selected config. General chat loads Knowledge, Maya, and Unreal; a named host role loads Knowledge and that host; plan, docs, and code roles load Knowledge; the broad DCC role retains all managed hosts. User-managed servers remain available in every view. This avoids serially starting unrelated DCC sidecars for ordinary prompts.

Windows uses PTY mode by default. MCPHost 0.34's terminal UI does not reliably accept or emit interactive traffic through ordinary subprocess pipes. Tech Connector launches it in an owned process group and terminates the complete PTY or pipe process tree on Stop.

Use the session tools before a mutation when more than one copy of a host is open. A selected live port pins subsequent calls to that exact application session.