maya-mcp-server

maya-mcp-server

MCP server for interacting with Autodesk Maya sessions, enabling multi-session management, arbitrary Python execution, and streaming output capture.

Category
访问服务器

README

maya-mcp-server

MCP server for interacting with Autodesk Maya sessions.

Features

  • Multi-session support: Manage multiple Maya sessions from a single MCP server. The server scans for new Maya sessions that have been started and shutdown by the user.
  • Full Python expressiveness: Execute arbitrary Python code. Agents can create virtual python modules to expose functions for execution, including by the user.
  • Streaming output: Capture stdout/stderr from Maya sessions via MCP resources. Agents can monitor output from their code or user activity.
  • Simple Maya-side setup: No modules to install in Maya: leverages Maya's command port to bootstrap itself.
  • Easy installation: Install and run via uvx maya-mcp-server

screen_recording_4x.gif

Installation

# Using uvx (recommended)
uvx maya-mcp-server

# Or install with pip
pip install maya-mcp-server

Usage

Claude Code Configuration

Add to your Claude Code MCP configuration, run:

claude mcp add --transport stdio maya -- uvx maya-mcp-server

The default scope is "local", which adds it to your ~/.claude.json keyed to a particular project directory. Setting --scope=user adds to ~/.claude.json across all projects, and --scope=project to add the configuration into a .mcp.json in the current project directory, so that it can be commited to your repo.

For local development use:

claude mcp add --transport stdio maya -- uv run --directory /path/to/maya-mcp-server/ maya-mcp-server

Maya Setup

The server automatically discovers Maya sessions via command ports. To enable a Python command port in Maya:

import maya.cmds as cmds
cmds.commandPort(name=":7002", sourceType="python")

Or add to your userSetup.py for automatic startup.

Tools

Tools accept an optional session_key parameter for targeting specific sessions. If only one Maya session exists, it will be auto-selected. Session keys are returned by list_sessions and add_session.

Tool Description
list_sessions List all active Maya sessions. Returns session info including session_key for use with other tools/resources.
add_session Manually add a Maya session at a specific host:port. Use when auto-discovery doesn't find your session.
write_module Create a virtual Python module in Maya. Useful for defining reusable functions.
execute_code Execute Python code in a session. Supports result capture modes: NONE, JSON, RAW.

Resources

Resource Description
maya://sessions/{session_key}/info Session information (pid, user, maya_version, scene_name, scene_path)
maya://sessions/{session_key}/output Captured stdout/stderr output from the session

Similar tools

MayaMCP

This looks to be the first publicly available MCP server for Maya and I was inspired by a few aspects of this tool, especially the goal of zero Maya-side setup.

Disadvantages:

  • The MCP server is bound to a single Maya session running on the default port.
  • It is limited to a bespoke set of tools. This could be seen as a security advantage, but it cripples the ability of an agent to do just about anything.
  • No support for reading stdout or stderr, so the agent is blind to what's happening in the Maya session.
  • Less robust approach to capturing command output (e.g. does not check if code is indented within a for loop or function)
  • Can't run via uvx, or pip install from pypi.

ChatGPT4Maya

This is the original LLM integration for Maya, which embeds ChatGPT directly in a PySide window and enables the LLM to respond to user commands and queries by executing code in the session.

Disadvantages:

  • Not an MCP server, so it cannot take full advantage of agentic workflows.
  • Only works with ChatGPT.

Jupyter MCP Server

This provided an interesting reference for how to create an MCP server in python that works with multiple remote sessions (in this case, notebooks) to execute arbitrary code.

Development

# Install dev dependencies
uv sync --dev

# Run tests
uv run pytest

# Run the server
uv run maya-mcp-server

License

MIT

TODO

  • [ ] Provide an option to execute to run in global or private context.
  • [ ] Yield output as it's printed?
  • [ ] Add tools to simplify interaction with UI: shelves, hotkeys, menus
  • [ ] Plugins to extend session info, e.g. with custom pipeline info
  • [ ] Investigate RPC for extensibility, implementation of custom tools
  • [ ] Use a dispatch function for command port mode, to further harmonize. Create a shared type safe collection of tools that hold name and arguments.
  • [ ] Return stdout and stderr lines interleaved (and prefixed with STDOUT: STDERR:) so that the agent can determine order?
  • [ ] Cleanup command ports when complete. This won't be necessary if we default to the Qt command server.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选