Client Setup¶
Maya MCP is a local stdio server, but the config file shape depends on the client.
For Codex CLI and Claude Code on Windows, py -m maya_mcp.server is usually more reliable than depending on the maya-mcp console script being on the active PATH.
The server key or name is user-defined; these examples use maya consistently.
Codex CLI / IDE Extension¶
Codex reads MCP server config from ~/.codex/config.toml. The CLI and IDE extension share that config.
Installed package:
Source checkout or Windows-friendly setup:
Use the PYTHONPATH line only when running from a source checkout.
Use python instead of py on platforms that do not provide the Windows launcher.
Claude Code¶
Claude Code project-scoped MCP servers live in .mcp.json.
Installed package:
Source checkout or Windows-friendly setup:
{
"mcpServers": {
"maya": {
"command": "py",
"args": ["-m", "maya_mcp.server"],
"env": {
"PYTHONPATH": "src"
}
}
}
}
VS Code¶
Current VS Code docs support workspace-level MCP config in .vscode/mcp.json.
Minimal example:
With environment overrides:
{
"servers": {
"maya": {
"type": "stdio",
"command": "maya-mcp",
"env": {
"MAYA_MCP_PORT": "7002",
"MAYA_MCP_SCRIPT_DIRS": "C:/maya-scripts;D:/shared-maya-scripts"
}
}
}
}
Use this when:
- Maya is listening on a non-default port
- you want to enable script discovery from approved folders
Other MCP Clients¶
Some clients use a generic mcpServers object instead of VS Code's servers object. For those clients, the equivalent configuration usually looks like this:
If your client has its own config file shape, keep the launch command the same and adapt only the surrounding JSON.
FastMCP Project Config¶
This repo includes fastmcp.json, which follows current FastMCP project-configuration guidance.
That matters if you want to:
- run the server with
fastmcp run - keep a portable server config checked into the repo
- use the same config across local tooling and IDEs
Example:
Recommended First Calls¶
After the client can start the server, test in this order:
health.checkmaya.connectscene.info
If health.check already reports ok, you usually do not need to call maya.connect manually.
Common Mistakes¶
- The client starts a different Python environment than the one where
maya-mcpis installed. - Maya is using a different
commandPortport than the server expects. MAYA_MCP_SCRIPT_DIRSuses relative paths instead of absolute directories.script.runis expected to work without settingMAYA_MCP_ENABLE_RAW_EXECUTION=true.