Unity编辑器MCP协议服务器

Unified Unity MCP是一个开源的Unity编辑器模型上下文协议服务器,通过本地MCP端点暴露Unity编辑器操作,允许AI客户端通过类型化工具检查和修改Unity项目。

  • by AndreySkyFoxSidorov
  • Python
  • 云端部署
  • 27 星标
  • 更新于
在 GitHub 查看 AndreySkyFoxSidorov/UnifiedUnityMCP

使用说明

统一统一MCP

Unity MCP是Unity编辑器的开源模型上下文协议服务器。 它通过本地MCP端点公开Unity编辑器操作,因此AI客户端可以通过键入的工具检查和修改Unity项目。

默认端点:

http://127.0.0.1:18008/mcp

协议基线:JSON-RPC 2.0和MCP协议版本的流式HTTP传输 2025-03-26.

仓库的规划

AGENTS.md                                      Repo-wide rules for coding agents
skills/                                        Optional agent skills and workflows
.agent/mcp.json                                Optional generic agent client config
.gemini/antigravity/mcp_config.json            Optional Gemini/Antigravity client config
Assets/ThirdParty/UnifiedUnityMCP/             Unity MCP package
Assets/ThirdParty/UnifiedUnityMCP/Editor/      Editor server, commands, tools, tests

古老的隐藏 .agent/skills 和 .agent/rules 布局已被替换:

  • 现行规则现已生效 AGENTS.md
  • 活动技能现在存在 skills/
  • .agent 和 .gemini 仅包含客户端配置

Unity包架构

Unity端服务器有意设计得小巧直接:

  • Transport/ 处理HTTP、SSE、请求验证、会话和响应写入。
  • Protocol/ 定义JSON-RPC和MCP消息DTO。
  • Commands/ 路由MCP方法,如 initialize, tools/list,以及 tools/call.
  • Tools/ 实现Unity编辑器操作。
  • Util/ 包含小型共享编辑器帮助程序。
  • Tests/ 包含Unity测试框架覆盖范围。

代码库避免了不必要的层,并使Unity编辑器的工作保持明确。看 AGENTS.md 在做出改变之前。

MCP客户端配置

通用代理客户端:

{
  "mcpServers": {
    "unityMCP": {
      "type": "sse",
      "serverUrl": "http://127.0.0.1:18008/mcp",
      "disabled": false,
      "alwaysAllow": [],
      "disabledTools": []
    }
  }
}

相同的默认配置保存在:

  • .agent/mcp.json
  • .gemini/antigravity/mcp_config.json

工具目录

标准工具参考:

  • Assets/ThirdParty/UnifiedUnityMCP/Editor/active_tools.json
  • Assets/ThirdParty/UnifiedUnityMCP/Editor/ToolsCatalog.md
  • skills/unified-unity-mcp/SKILL.md

当前的核心工具包括:

  • unity_ping
  • unity_console_read
  • unity_editor_state
  • unity_editor_set_state
  • unity_selection_get
  • unity_gameobject_manage
  • unity_component_manage
  • unity_asset_manage
  • unity_prefab_instantiate
  • unity_asset_meta
  • unity_component_property
  • unity_scene_manage
  • unity_asset_create
  • unity_editor_execute_menu
  • unity_test_run
  • unity_build_manage

该包还公开了模块工具,例如 unity_scene, unity_gameobject, unity_component, unity_asset, unity_ui, unity_physics, unity_navmesh, unity_validation以及其他。调用工具前请检查目录。

发展规则

简短版本:

  • 读 AGENTS.md 第一
  • 保持Unity C#简单、直接和可读
  • 不要使用 switch
  • 不要随意添加依赖包
  • 保持公共MCP契约在代码、目录、README、测试和技能之间的同步
  • 仅通过搜索验证文档更改
  • 通过编译、测试或有针对性的冒烟检查来验证C#和MCP的更改

有用的手册请求

SSE连接:

curl -N http://127.0.0.1:18008/mcp

初始化:

curl -X POST http://127.0.0.1:18008/mcp \
  -H "Content-Type: application/json" \
  -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-03-26\",\"capabilities\":{},\"clientInfo\":{\"name\":\"curl\",\"version\":\"1.0\"}}}"

列出工具:

curl -X POST http://127.0.0.1:18008/mcp \
  -H "Content-Type: application/json" \
  -d "{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/list\"}"

呼叫 unity_ping:

curl -X POST http://127.0.0.1:18008/mcp \
  -H "Content-Type: application/json" \
  -d "{\"jsonrpc\":\"2.0\",\"id\":3,\"method\":\"tools/call\",\"params\":{\"name\":\"unity_ping\",\"arguments\":{}}}"