Skip to content

MayaMcpServer API ​

MayaMcpServer 是在 Maya 内嵌入 MCP HTTP 服务器的主要类。

类:MayaMcpServer ​

python
from dcc_mcp_maya.server import MayaMcpServer

构造函数 ​

python
MayaMcpServer(
    port: Optional[int] = None,
    server_name: str = "maya-mcp",
    server_version: str = "0.3.0",
    gateway_port: Optional[int] = None,
    registry_dir: Optional[str] = None,
    dcc_version: Optional[str] = None,
    scene: Optional[str] = None,
    enable_gateway_failover: bool = True,
)
参数类型默认值说明
portint | NoneNone可选固定 TCP 端口;未指定时由 core/环境变量和操作系统分配
server_namestr"maya-mcp"MCP initialize 响应中显示的名称
server_versionstr"0.3.0"MCP initialize 响应中显示的版本
gateway_portint | NoneNone多实例发现所用的网关选举端口
registry_dirstr | NoneNone发现元数据共享注册目录
dcc_versionstr | NoneNone上报到注册表的 Maya 版本
scenestr | NoneNone上报到注册表的场景路径
enable_gateway_failoverboolTrue允许网关故障转移自动晋升

方法 ​

register_builtin_actions(extra_skill_paths=None, include_bundled=True) ​

发现内置 Maya Skill,采用按需加载模式。

python
server = MayaMcpServer()
server.register_builtin_actions()

# 带自定义路径:
server.register_builtin_actions(extra_skill_paths=["/my/skills"])
参数类型默认值说明
extra_skill_pathslist[str]None额外扫描的技能目录
include_bundledboolTrue是否包含 dcc-mcp-core 自带技能

返回:self(支持链式调用)

start() ​

启动 MCP HTTP 服务器。

python
handle = server.start()
print(handle.mcp_url())   # 操作系统分配的实例地址

返回:McpServerHandle,包含 .mcp_url()、.port、.shutdown()

stop() ​

优雅停止服务器。

属性 ​

属性类型说明
is_runningbool服务器是否正在运行
mcp_urlstr | NoneMCP 端点 URL,未运行时为 None

示例 ​

python
from dcc_mcp_maya.server import MayaMcpServer

server = MayaMcpServer(server_name="my-maya")
server.register_builtin_actions(extra_skill_paths=["/studio/skills"])
handle = server.start()

print(handle.mcp_url())   # 操作系统分配的实例地址
print(handle.port)        # 实际选择的空闲端口

server.stop()

模块级辅助函数 ​

start_server() ​

以单例方式启动(或返回已运行的)Maya MCP 服务器。

python
import dcc_mcp_maya

handle = dcc_mcp_maya.start_server(
    server_name="maya-mcp",
    register_builtins=True,
    extra_skill_paths=None,
    include_bundled=True,
    gateway_port=None,
    registry_dir=None,
    dcc_version=None,
    scene=None,
    enable_hot_reload=False,
    enable_gateway_failover=True,
)
参数类型默认值说明
portint | NoneNone可选固定 TCP 端口;省略时由 core/环境变量和操作系统分配
server_namestr"maya-mcp"MCP 服务器名称
register_builtinsboolTrue启动时发现内置技能;工具集按需加载
extra_skill_pathslist[str]None额外技能路径
include_bundledboolTrue是否包含 dcc-mcp-core 自带技能
gateway_portint | NoneNone多实例发现的网关选举端口
registry_dirstr | NoneNone发现元数据共享注册目录
dcc_versionstr | NoneNone上报到注册表的 Maya 版本
scenestr | NoneNone上报到注册表的场景路径
enable_hot_reloadboolFalse是否启用 Skill 热重载
enable_gateway_failoverboolTrue是否启用网关故障转移自动晋升

stop_server() ​

停止模块级单例服务器。

python
dcc_mcp_maya.stop_server()

McpServerHandle ​

start() / start_server() 返回的句柄:

成员说明
handle.mcp_url()返回完整的 MCP URL 字符串
handle.portTCP 端口号
handle.shutdown()停止服务器

基于 MIT 许可证发布