关于 Unity MCP Server
Unity MCP Server 让 AI 助手通过兼容 MCP 的 IDE 或应用检查 Unity 项目,无需打开 Unity Editor。它读取项目文件,提供设置、代码、场景、预制件和资源的结构化信息。
主要功能
- 01无需打开 Editor 检查项目
- 02项目与构建设置查询
- 03C# 脚本和程序集检索
- 04场景与预制件概览
- 05资源搜索与引用查询
适用场景
- 01查看构建场景和项目设置
- 02按类型或内容查找脚本
- 03检查场景对象和预制件组件
- 04查找损坏或引用某资源的文件
MCP 相关
它通过 MCP stdio 向兼容客户端提供 Unity 项目检查工具。使用 `UNITY_PROJECT_PATH` 配置项目根目录。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
134收录的工具列表 · 更新于 2 周前
此工具无需参数。
详细介绍
Unity MCP Server
Unity MCP 服务 — 让 AI 助手能够通过任何支持 MCP 的 IDE 或应用,结构化地访问你的 Unity 项目。无需 Unity Editor。
你的 IDE 会与此服务通信;服务会读取你的 Unity 项目文件夹,并返回项目信息、构建场景、脚本、预制件等内容,让 AI 无需打开 Editor 也能提供帮助。
概览
- 无需 Editor — 仅从项目文件系统读取。
- 一个服务,多个项目 — 在 MCP 配置中为每个项目设置
UNITY_PROJECT_PATH。 - 原生支持 MCP — 适用于任何支持模型上下文协议(通过 stdio 传输工具)的客户端。
支持的 IDE 和客户端
此服务使用标准的 stdio 传输 MCP 协议,并提供 工具。任何能够运行 MCP 服务并传递环境变量的 IDE 或应用均可使用。常用客户端包括:
| 客户端 | 说明 |
|---|---|
| Cursor | 在 MCP 设置中添加服务;在 env 中设置 UNITY_PROJECT_PATH。 |
| Claude Desktop | 添加到 claude_desktop_config.json;使用相同的命令和环境变量配置模式。 |
| Claude Code | 支持 MCP,包括工具。 |
| VS Code | 使用 MCP 扩展(例如 GenAI / Copilot MCP);配置服务并设置 UNITY_PROJECT_PATH。 |
| Windsurf | 使用命令和环境变量添加 MCP 服务。 |
| Continue | 在 Continue 设置中配置 MCP 服务。 |
| Cline | 支持 MCP 工具和资源。 |
| 其他 | 任何支持通过 stdio 使用 MCP 工具的客户端(例如 Zed、Roo Code、LibreChat、自定义 Agent)。 |
所有客户端的配置方式相同:command = node,args = dist/index.js 的路径,env = UNITY_PROJECT_PATH = 你的 Unity 项目根目录。请参阅下方的配置,了解 Cursor 示例;其他客户端在各自配置格式中使用相同结构。
工具
展开下方的类别,查看其中包含的工具。
| 📦 项目与构建 | 💻 代码与程序集 | 🎬 场景与预制件 | 📁 资源与引用 |
| 🎨 材质与着色器 | 🎞️ 动画 | 🖼️ 2D 与精灵 | ✨ 渲染 |
| 📝 TextMeshPro 与 UI | 🎮 输入 | 🏷️ 标签与图层 | 🌐 Addressables 与本地化 |
| 🔊 音频 | 🧪 测试与文档 | 🔄 CI 与版本控制 | 🔌 集成 |
| ⚡ 速度与效率 | 🔍 元信息 | 🤖 AI 与机器学习 |
📦 项目与构建
| 工具 | 描述 | 可输入的示例提示词 | |------|-------------|-------------------------| | `get_project_info` | 路径、Unity 版本、构建场景数量、播放器/产品名称 | *“我的项目路径和 Unity 版本是什么?”* · *“显示构建场景数量和播放器名称”* | | `list_build_scenes` | EditorBuildSettings 中的场景(构建顺序) | *“构建中包含哪些场景?”* · *“按顺序列出构建场景”* | | `get_player_settings` | 产品名称、公司、包 ID、版本 | *“播放器设置是什么?”* · *“显示包 ID 和公司名称”* | | `list_packages` | 来自 manifest.json 的包 | *“列出已安装的 Unity 包”* | | `get_quality_settings` | 质量级别 | *“质量设置是什么?”* | | `get_scripting_defines` | 全局和按程序集划分的定义 | *“显示脚本定义”* · *“每个程序集设置了哪些定义?”* | | `get_physics_settings` | Physics / Physics2D 设置 | *“物理设置是什么?”* | | `get_graphics_settings` | 图形设置(GraphicsSettings.asset) | *“显示图形设置”* | | `get_time_settings` | 时间/固定时间步长(TimeManager.asset) | *“固定时间步长是多少?”* · *“显示时间设置”* | | `get_build_target_info` | 当前构建目标/平台 | *“当前构建目标是什么?”* | | `get_feature_set_inference` | 根据包推断 Unity 6 功能集(2D、ECS、AR 等) | *“这个项目使用了哪些功能集?”* | | `get_project_version` | 包版本 | *“包版本是多少?”* | | `get_changelog` | CHANGELOG 内容 | *“显示变更日志”* | | `get_audio_settings` | AudioManager.asset(全局音量、混响、DSP 缓冲区) | *“音频设置是什么?”* | | `get_navigation_settings` | 来自 ProjectSettings 的 NavMesh/Agent 设置 | *“显示 NavMesh/导航设置”* | | `get_xr_settings` | XR/VR 项目设置 | *“配置了哪些 XR 或 VR 设置?”* | | `get_script_execution_order` | 脚本执行顺序(MonoManager) | *“显示脚本执行顺序”* | | `get_version_control_settings` | 序列化模式、可见的 meta 文件 | *“版本控制/序列化配置是什么?”* | | `get_layer_collision_matrix` | 层碰撞矩阵和层名称 | *“显示层碰撞矩阵”* · *“哪些层会发生碰撞?”* | | `get_cloud_services_config` | Unity Cloud / Unity Connect 配置 | *“是否已配置 Unity Cloud?”* | | `get_package_dependency_graph` | 包依赖关系图(manifest + lock) | *“显示包依赖关系图”* | | `list_package_samples` | Packages 下的 Samples 文件夹 | *“列出包示例”* | | `list_unity_hub_projects` | 列出 Unity Hub 中的 Unity 项目(无需项目路径) | *“列出我的 Unity Hub 项目”* |💻 代码与程序集
| 工具 | 描述 | 可输入的提示词示例 | |------|-------------|-------------------------| | `list_assemblies` | 列出程序集定义及其引用和平台 | *"列出程序集定义"* | | `get_assembly_for_path` | 获取包含指定脚本或文件夹路径的程序集 | *"哪个程序集包含 Assets/Scripts/Player.cs?"* | | `list_scripts_by_assembly` | 列出指定程序集中的 C# 脚本路径(按名称或 asmdef 路径) | *"列出 Assembly-CSharp 中的脚本"* · *"MyGame.Runtime 中有哪些脚本?"* | | `list_asmdef_references` | 列出引用指定程序集的程序集名称(反向依赖) | *"哪些程序集依赖 MyGame.Core?"* | | `list_scripts` | 列出 C# 脚本(可选文件夹筛选) | *"列出所有 C# 脚本"* · *"显示 Assets/Scripts 中的脚本"* | | `find_scripts_by_content` | 按类型或模式查找(例如 MonoBehaviour) | *"查找继承 MonoBehaviour 的脚本"* | | `get_assembly_dependency_graph` | 节点和边 | *"显示程序集依赖关系图"* | | `list_editor_scripts` | 列出 Editor 文件夹中的脚本 | *"列出编辑器脚本"* | | `list_visual_scripting_assets` | Bolt / Unity Visual Scripting .asset 文件 | *"列出 Visual Scripting 资源"* | | `get_script_public_api` | 解析 C# 脚本:类名、基类类型、公共方法/字段 | *"PlayerController.cs 的公共 API 是什么?"* |🎬 场景和预制件
| 工具 | 描述 | 可输入的提示词示例 |
|---|---|---|
list_all_scenes | 列出 Assets 下的所有 .unity 文件 | "列出所有场景" |
get_scene_summary | 根 GameObject、组件数量 | "概述 MainMenu.unity" · "这个场景里有什么?" |
get_scene_components_by_type | 列出场景中带有指定组件类型(例如 Camera、Light)的 GameObject | "Game.unity 中哪些 GameObject 带有 Camera?" |
get_scene_objects_by_tag | 列出场景中带有指定标签(例如 Spawn)的 GameObject | "查找此场景中带有 Spawn 标签的对象" |
get_all_components_by_type | 列出所有场景中的全部 Camera/Light 等 | "列出项目中的所有 Camera" |
get_scene_hierarchy_flat | 场景中 GameObject 的扁平列表(名称和图层) | "列出 Main.unity 中的所有对象及其图层" |
get_lighting_scene_info | 场景的光照资源和 GI 工作流模式 | "Main.unity 使用什么光照设置?" |
list_prefabs | 列出预制件(可选路径前缀) | "列出所有预制件" · "列出 Assets/Prefabs 中的预制件" |
list_prefab_variants | 列出作为其他预制件变体的预制件 | "列出预制件变体" |
list_prefabs_with_component | 列出包含指定组件类型(例如 Animator)的预制件 | "哪些预制件带有 Animator?" |
get_prefab_summary | 预制件摘要:根名称、组件数量、组件类型 | "概述 Hero.prefab" · "这个预制件里有什么?" |
get_prefab_script_guids | 列出预制件使用的脚本 GUID | "Hero.prefab 使用了哪些脚本?" |
list_subscenes | 列出 ECS/DOTS .subscene 资源 | "列出子场景" |
📁 资源和引用
| 工具 | 描述 | 可输入的提示词示例 | |------|-------------|-------------------------| | `get_asset_folder_tree` | Assets 下的文件夹树 | *“显示资产文件夹树”* | | `list_assets_by_extension` | 按扩展名筛选(例如 .png、.fbx) | *“列出所有 .png 纹理”* · *“列出 FBX 模型”* | | `find_references` | 引用了某个路径或 GUID 的资产 | *“哪些内容引用了这个资产?”* · *“查找哪些内容使用了 Assets/Textures/hero.png”* | | `list_large_assets` | 大于 N MB 的文件(默认为 5) | *“列出大型资产”* · *“大于 10 MB 的有哪些?”* | | `list_video_clips` | 视频剪辑资产(.mp4、.mov、.webm 等) | *“列出视频剪辑”* | | `list_legacy_font_assets` | 旧版字体(.fontsettings、.ttf、.otf)——不包括 TMP | *“列出旧版字体”* | | `list_render_textures` | RenderTexture 资产 | *“列出渲染纹理”* | | `list_terrain_data` | TerrainData 和 TerrainLayer 资产 | *“列出地形数据”* | | `list_lighting_settings_assets` | 与光照相关的 .asset 文件 | *“列出光照设置资产”* | | `search_assets_by_name` | 按名称模式搜索 Assets(也可选择搜索 Packages) | *“搜索名称为 ‘hero’ 的资产”* | | `get_texture_meta` | 纹理 .meta(maxSize、尺寸、spriteMode、PPU) | *“hero.png 的导入设置是什么?”* | | `search_project` | 综合搜索:名称模式、脚本模式,和/或指定路径的引用者 | *“在项目中搜索 X”* · *“哪些内容引用了这个路径?”* | | `get_meta_for_asset` | 读取任意资产路径的 .meta(guid、导入器键) | *“显示 Assets/Models/character.fbx 的 .meta”* | | `get_broken_asset_refs` | 包含任意缺失 GUID 引用的 Prefab/场景/材质 | *“查找失效的资产引用”* | | `list_scriptable_objects` | 作为 ScriptableObject 实例的 .asset 文件 | *“列出所有 ScriptableObject 资产”* |🎨 材质与着色器
| 工具 | 描述 | 可输入的提示词示例 |
|---|---|---|
list_materials | 材质(可选文件夹) | “列出所有材质” · “列出 Assets/Materials 中的材质” |
list_materials_using_shader | 使用指定着色器(GUID 或路径)的材质 | “哪些材质使用 Standard 着色器?” |
list_shaders | Assets 和 Packages 中的 .shader 文件 | “列出着色器” |
list_shader_graphs | Shader Graph 资产 | “列出 Shader Graph 资产” |
list_vfx_graphs | VFX Graph 资产 | “列出 VFX Graph 资产” |
🎞️ 动画
| 工具 | 描述 | 可输入的提示词示例 |
|---|---|---|
list_animator_controllers | .controller 资产 | “列出 Animator 控制器” |
list_animation_clips | .anim 资产 | “列出动画剪辑” |
get_animator_states | 控制器中的状态名称 | “Player.controller 中有哪些状态?” |
get_animator_transitions | 控制器中的状态名称及起始/目标状态转换 | “显示 Player.controller 中的 Animator 转换” |
list_timeline_playables | Timeline .playable 资产 | “列出 Timeline 可播放项” |
list_avatar_masks | Avatar Mask(.mask)资产 | “列出 Avatar Mask” |
list_animator_override_controllers | AnimatorOverrideController 资产 | “列出 Animator 覆盖控制器” |
🖼️ 2D 与精灵
| 工具 | 描述 | 可输入的提示词示例 |
|---|---|---|
list_sprite_atlases | Sprite Atlas 资产 | “列出 Sprite Atlas” |
list_tilemap_assets | 与 Tilemap 相关的资产 | “列出 Tilemap 资产” |
list_sprite_assets | 配置为精灵的纹理(.meta 中的 spriteMode) | “列出精灵资产” |
✨ 渲染
| 工具 | 描述 | 可输入的示例提示词 | |------|-------------|-------------------------| | `list_render_pipelines` | URP/HDRP 渲染管线资源、Volume 配置文件 | *“列出渲染管线”* · *“有哪些 URP/HDRP 资源?”* |📝 TextMeshPro 与 UI
| 工具 | 描述 | 可输入的示例提示词 |
|---|---|---|
list_tmp_fonts | TMP/字体资源 | “列出 TextMeshPro 字体” |
get_tmp_settings_path | TMP Settings 资源路径 | “TMP Settings 在哪里?” |
list_ui_documents | .uxml 和 .uss(UI Toolkit) | “列出 UI Toolkit 文档” · “列出 UXML 和 USS 文件” |
🎮 输入
| 工具 | 描述 | 可输入的示例提示词 |
|---|---|---|
get_input_axes | InputManager 轴 | “Input Manager 中有什么?” · “显示输入轴” |
list_input_action_assets | 新 Input System 的 .inputactions | “列出 Input System 操作资源” |
get_input_actions_summary | 文件中的操作映射和操作 | “总结 Player.inputactions” |
🌐 Addressables 与本地化
| 工具 | 描述 | 可输入的示例提示词 |
|---|---|---|
get_addressables_info | 组和配置路径 | “有哪些 Addressables 组?” |
get_localization_tables | 本地化表文件 | “列出本地化表” |
🔊 音频
| 工具 | 描述 | 可输入的示例提示词 |
|---|---|---|
list_audio_clips | .wav、.mp3、.ogg、.aiff | “列出音频片段” |
list_audio_mixers | Audio Mixer 资源 | “列出音频混音器” |
🧪 测试与文档
| 工具 | 描述 | 可输入的示例提示词 |
|---|---|---|
list_test_assemblies | 测试程序集定义 | “列出测试程序集” |
get_repo_docs | README、CONTRIBUTING、.cursorrules 等 | “显示仓库文档” · “README 中有什么?” |
read_agent_docs | .agents/AGENT.md、可选的 REPO_UNDERSTANDING.md | “阅读 Agent 文档” · “显示 AGENT.md” |
🔄 CI 与版本控制
| 工具 | 描述 | 可输入的示例提示词 |
|---|---|---|
list_ci_configs | .github/workflows、Jenkinsfile、unity-cloud-build | “列出 CI 配置” · “显示 GitHub 工作流” |
list_presets | .preset 资源 | “列出预设” |
get_git_lfs_tracked | .gitattributes 中的 LFS 模式 | “Git LFS 跟踪了什么?” |
get_plastic_config | Plastic SCM 配置 | “显示 Plastic SCM 配置” |
🔌 集成(仅发现配置)
| 工具 | 描述 | 可输入的提示词示例 | |------|-------------|-------------------------| | `get_playfab_config` | Title ID、配置路径 | *“PlayFab 是否已配置?”* | | `list_figma_related_assets` | Figma 文件夹 / 已命名资源 | *“列出与 Figma 相关的资源”* | | `get_firebase_config` | GoogleServices 路径、项目 ID | *“显示 Firebase 配置”* | | `get_steam_config` | steam_appid.txt、Steamworks 路径 | *“Steam 是否已配置?”* | | `get_discord_config` | Discord SDK 路径 | *“显示 Discord 配置”* | | `get_fmod_config` | Banks 路径、bank 文件 | *“显示 FMOD 配置”* | | `get_wwise_config` | Sound banks、项目路径 | *“显示 Wwise 配置”* | | `list_substance_assets` | .sbsar、.sbs | *“列出 Substance 资源”* | | `list_speedtree_assets` | .spm、.stm | *“列出 SpeedTree 资源”* | | `list_lottie_assets` | Lottie JSON 资源 | *“列出 Lottie 资源”* | | `get_analytics_or_crash_config` | Sentry、Crashlytics、BugSnag 等 | *“已配置哪些分析或崩溃报告工具?”* | | `get_ads_config` | Unity Ads、AdMob、ironSource 是否存在 | *“是否已配置广告 SDK?”* | | `get_multiplayer_stack` | Netcode / 多人游戏包和脚本 | *“此项目使用什么多人游戏技术栈?”* | | `get_ugs_cloud_stack` | Unity Gaming Services / Cloud Code 清单 | *“是否已配置 UGS 或 Cloud Code?”* |🧱 Unity 6 支持范围
| 工具 | 描述 | 可输入的提示词示例 |
|---|---|---|
list_build_profiles | Unity 6 Build Profile 资源 | “列出构建配置文件” |
get_physics_stack | Unity Physics / Physics Core 2D / 经典物理系统 | “检查物理系统技术栈” |
get_optimization_package_inventory | Adaptive Performance + Project Auditor | “是否已安装 Adaptive Performance?” |
get_accessibility_stack | 无障碍 API 和软件包 | “是否使用了无障碍 API?” |
list_cinemachine_assets | Cinemachine 摄像机及相关资源 | “列出 Cinemachine 资源” |
get_platform_build_hints | Android/WebGL PlayerSettings 片段 | “显示平台构建提示” |
get_render_pipeline_migration_hints | BIRP 与 URP/HDRP 的迁移风险 | “我们还在使用 Built-in RP 吗?” |
get_localization_stack | Localization 软件包 + locale 表 | “检查本地化设置” |
⚡ 速度与效率
| 工具 | 描述 | 可输入的提示词示例 |
|---|---|---|
get_project_stats | 一次性统计:脚本、预制件、场景、材质、动画、程序集、软件包 | “提供项目统计信息” · “有多少个预制件和场景?” |
get_scene_referenced_assets | 场景引用的资源路径(构建大小 / 影响) | “Main.unity 引用了哪些资源?” |
detect_assembly_cycles | 程序集定义中的循环引用(修复编译错误) | “检测程序集循环依赖” · “是否存在程序集循环引用?” |
find_script_references | 引用了某个类型/类名的 C# 文件(重构) | “查找对 PlayerController 的引用” |
get_broken_script_refs | 缺少脚本引用的预制件/场景 | “查找缺少脚本的预制件” |
get_prefab_dependencies | 预制件引用的资源路径(影响分析) | “Hero.prefab 依赖什么?” |
get_release_readiness | 一次性检查:版本、构建场景、软件包、损坏的引用、循环依赖、大型资源 | “项目是否已准备好发布?” · “运行发布就绪检查” |
get_build_size_estimate | 构建大小估算:构建场景的总大小和最大资源 | “构建大小是多少?” · “显示构建中最大的资源” |
🤖 AI 与 ML
| 工具 | 描述 | 可输入的示例提示词 | |------|-------------|-------------------------| | `get_ai_stack_summary` | 一次性 AI 审计:程序包、模型、脚本、ML-Agents YAML | *“这个项目使用了哪些 AI?”* · *“运行 AI 技术栈审计”* | | `get_ai_ml_package_inventory` | ML-Agents、Sentis、Barracuda、AI Navigation、Muse、Unity AI | *“列出 Unity AI/ML 程序包”* | | `list_ml_model_assets` | `.onnx`、`.nn`、`.pt`、`.tflite`、`.pb` 模型文件 | *“列出项目中的 ONNX 模型”* | | `find_ai_related_scripts` | 使用 Sentis、ML-Agents、NavMesh、行为树、LLM API 的 C# 脚本 | *“哪些脚本使用了 ML-Agents 或 Sentis?”* | | `list_ml_agents_training_configs` | ML-Agents 训练器 YAML 配置 | *“查找 ML-Agents 训练配置”* | | `list_ai_prompt_or_config_assets` | Assets 下类似提示词/RAG 的 JSON 或 MD | *“Assets 中有 LLM 提示词资源吗?”* | | `list_ai_skills` | 按 Unity 领域划分的内置技能(39 项:场景、多人游戏、构建配置……) | *“列出 Unity 技能”* | | `read_ai_skill` | 按 ID 读取技能(例如 `unity-scenes-workflow`、`unity-multiplayer-netcode`) | *“读取 unity-ai-audit 技能”* |🔍 元信息
| 工具 | 描述 | 可输入的示例提示词 |
|---|---|---|
search_tools | 按意图查找相关工具(例如查找引用、缺失脚本)。省略查询即可按类别列出所有工具。 | “有哪些 Unity 工具?” · “查找用于查找引用的工具” · “按类别列出所有工具” |
使用 search_tools — 可传入可选的 query,按名称、描述或类别筛选工具。省略 query 可获取按类别分组的完整目录。
| 意图 | 示例查询 | 可获取的工具(概念上) |
|---|---|---|
| 查找引用了某个资源的内容 | find references | find_references、search_project、…… |
| 修复预制件上的缺失脚本 | missing script | get_broken_script_refs、…… |
| 处理纹理 | texture | get_texture_meta、list_assets_by_extension、…… |
| 列出或检查预制件 | prefab | list_prefabs、list_prefabs_with_component、get_prefab_dependencies、…… |
| 场景和构建顺序 | scene 或 build | list_all_scenes、list_build_scenes、get_scene_summary、…… |
| C# 脚本和 API | script 或 assembly | list_scripts、get_script_public_api、find_scripts_by_content、…… |
| 动画 | animation 或 animator | list_animator_controllers、list_animation_clips、…… |
| 列出所有内容(不筛选) | (省略查询) | 按类别分组的所有工具 |
所有工具仅从项目文件系统读取数据。
实际示例
将以下内容复制并粘贴到 Claude、Cursor 或任何 MCP 客户端中(需配置此服务并设置 UNITY_PROJECT_PATH)。AI 会选择合适的工具。
| 角色 | 示例提示词 |
|---|---|
| 开发者 | “Assets/Scripts/Player.cs 属于哪个程序集?” · “列出 MyGame.Runtime 中的脚本” · “哪些内容依赖 MyGame.Core?” · “是否存在程序集依赖循环?” · “运行发布就绪检查” |
| 测试人员 | “构建中包含哪些场景?” · “列出名称中包含 test 的程序集” · “项目是否已准备好发布?” · “构建大小是多少,最大的资源有哪些?” |
| 游戏开发者 | “哪些预制件包含 Animator?” · “总结 Hero.prefab” · “显示 Player.controller 中的 Animator 过渡” · “列出输入操作资源” |
| 游戏设计师 | “哪些材质使用 Standard 着色器?” · “列出所有 ScriptableObject 资源” · “总结 Main.unity” · “Main.unity 使用了什么光照?” · “列出 Main.unity 中的所有对象及其图层” |
在 Claude / Cursor 或任何其他 MCP 客户端中输入什么
在 Claude、Cursor 或任何 MCP 客户端中,使用自然语言提问;AI 会选择合适的工具。请使用上方各工具表格中的可输入的示例提示词列——这些短语可输入聊天中,以获得相应结果。
前提条件
- Node.js 18+
- UNITY_PROJECT_PATH — Unity 项目根目录的绝对路径(在 MCP 客户端中设置)
安装
git clone https://github.com/rachitkumarrastogi/unity-mcp-server.git
cd unity-mcp-server
npm install
npm run build
该服务使用 stdio;MCP 客户端会自动启动它。
配置
Cursor 示例(Claude Desktop、VS Code + MCP、Windsurf 等的配置思路相同):
{
"mcpServers": {
"unity": {
"command": "node",
"args": ["/absolute/path/to/unity-mcp-server/dist/index.js"],
"env": {
"UNITY_PROJECT_PATH": "/absolute/path/to/YourUnityProject"
}
}
}
}
请将路径替换为实际路径。对于 Claude Desktop,在 claude_desktop_config.json 的 mcpServers 下添加一项,并使用相同的 command、args 和 env。对于 VS Code,使用 MCP 扩展的配置添加服务和 UNITY_PROJECT_PATH。其他客户端也按照相同方式在各自的配置文件中进行配置。
开发
- 运行构建版本:
node dist/index.js - 运行开发版本:
npm run dev或npx tsx src/index.ts
与 Unity Editor 集成
-
当前工作流: AI 在 IDE(Cursor、VS Code with MCP、Claude Desktop、Windsurf 或其他支持 MCP 的客户端)中运行。此服务为 AI 提供对项目的只读访问权限(场景、脚本、设置及相关资源)。你需要单独运行 Unity Editor 来打开场景、进入 Play 模式并构建。AI 使用此服务检查项目、提出修改建议、回答问题并协助重构。
-
未来兼容性: 此服务通过 stdio 实现标准 MCP 协议,并且只需要一个环境变量(
UNITY_PROJECT_PATH)。如果 Unity Editor 获得内置 MCP 客户端支持,你可以使用相同的配置将其连接到此服务:命令为node,参数指向dist/index.js,并在环境中设置UNITY_PROJECT_PATH。无需更改此代码库。
安全性
此代码仓库不包含游戏代码、资源或机密信息。Unity 项目路径由 MCP 客户端在运行时提供。此服务适用于公开和私有用途。
文档
- MCP Registry — 从官方注册表发现并安装此服务。
- 指南: 快速入门 · 发布 · 按角色分类的工具
- 技能: Unity 领域 Agent 技能
- 更新日志: CHANGELOG.md
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。