unity-biome-mcp
MCP server for controlling the Unity Editor from AI clients. 140+ tools for scenes, GameObjects, components, assets, Shader Graph, PlayTest DSL, screenshots with visual diff, batch operations with Undo rollback, and in-editor chat. Token-efficient plain-text protocol.
README
Unity Biome MCP
<div align="center">
<img src="docs/assets/hero.svg" width="100%" alt="Concept illustration of an AI client sending a live MCP signal through Unity Biome MCP to the Unity Editor">
Control the Unity Editor from MCP-compatible AI clients or from chat inside Unity.
Inspect scenes, edit GameObjects, run playtests, and capture results through structured tools.
<br>
<p align="center"><a href="https://german-krasnikov.github.io/unity-biome-mcp/"><img height="28" src="https://img.shields.io/badge/Documentation-blue?style=for-the-badge&logo=readthedocs&logoColor=white&labelColor=2b2b2b" alt="Documentation"></a> <img height="28" src="https://img.shields.io/github/license/german-krasnikov/unity-biome-mcp?style=for-the-badge&labelColor=2b2b2b&color=46e6a6" alt="MIT license"> <img height="28" src="https://img.shields.io/github/v/release/german-krasnikov/unity-biome-mcp?style=for-the-badge&labelColor=2b2b2b&color=46e6a6&label=release" alt="Latest release"></p>
<p align="center"><img height="28" src="https://img.shields.io/github/actions/workflow/status/german-krasnikov/unity-biome-mcp/ci-python.yml?branch=master&label=Python%20CI&style=for-the-badge&labelColor=2b2b2b&logo=python&logoColor=white" alt="Python CI"> <img height="28" src="https://img.shields.io/github/actions/workflow/status/german-krasnikov/unity-biome-mcp/unity-tests.yml?branch=master&job=EditMode%20Tests%20%28Linux%29&label=C%23%20Linux&style=for-the-badge&labelColor=2b2b2b&logo=linux&logoColor=white" alt="C# Linux EditMode"> <img height="28" src="https://img.shields.io/github/actions/workflow/status/german-krasnikov/unity-biome-mcp/unity-tests.yml?branch=master&job=EditMode%20Tests%20%28macOS%29&label=C%23%20macOS&style=for-the-badge&labelColor=2b2b2b&logo=apple&logoColor=white" alt="C# macOS EditMode"> <img height="28" src="https://img.shields.io/github/actions/workflow/status/german-krasnikov/unity-biome-mcp/unity-tests.yml?branch=master&job=EditMode%20Tests%20%28Windows%29&label=C%23%20Windows&style=for-the-badge&labelColor=2b2b2b&logo=windows&logoColor=white" alt="C# Windows EditMode"></p>
<p align="center"><a href="https://app.codecov.io/gh/german-krasnikov/unity-biome-mcp?flags%5B0%5D=python"><img height="28" src="https://img.shields.io/codecov/c/github/german-krasnikov/unity-biome-mcp?flag=python&style=for-the-badge&labelColor=2b2b2b&logo=codecov&logoColor=white&label=py%20cov" alt="Python coverage"></a> <a href="https://app.codecov.io/gh/german-krasnikov/unity-biome-mcp?flags%5B0%5D=csharp"><img height="28" src="https://img.shields.io/codecov/c/github/german-krasnikov/unity-biome-mcp?flag=csharp&style=for-the-badge&labelColor=2b2b2b&logo=codecov&logoColor=white&label=C%23%20cov" alt="C# coverage"></a> <a href="docs/quality/REPORT.md"><img height="28" src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/german-krasnikov/unity-biome-mcp/master/.github/badges/quality.json&style=for-the-badge&labelColor=2b2b2b" alt="Tool quality score"></a></p>
<p align="center"><img height="28" src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/german-krasnikov/unity-biome-mcp/master/.github/badges/tools.json&style=for-the-badge&labelColor=2b2b2b" alt="Registered MCP tools"> <img height="28" src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/german-krasnikov/unity-biome-mcp/master/.github/badges/tests.json&style=for-the-badge&labelColor=2b2b2b" alt="Discovered test inventory"> <a href="https://glama.ai/mcp/servers/german-krasnikov/unity-biome-mcp"><img height="28" src="https://glama.ai/mcp/servers/german-krasnikov/unity-biome-mcp/badges/score.svg" alt="unity-biome-mcp MCP server"></a></p>
</div>
<p align="center"> <a href="#quick-start">Quick Start</a> · <a href="https://german-krasnikov.github.io/unity-biome-mcp/">Documentation</a> · <a href="docs/comparison.md">Comparison</a> · <a href="CHANGELOG.md">Changelog</a> </p>
Quick Start
Requirements: Unity 6 (6000.0 or newer) and uv. You do not need to install Python separately when using uvx.
1. Install uv
macOS and Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows:
winget install astral-sh.uv
2. Add the Unity package
- In Unity, open Window > Package Manager.
- Select + > Add package from git URL.
- Enter:
https://github.com/german-krasnikov/unity-biome-mcp.git?path=unity-plugin
3. Configure your client
Open MCP > Setup Wizard, choose a client, and follow the result shown by the Wizard.
Configuration depends on the client. The Wizard may write a project configuration, run the configuration helper, copy a client-specific snippet, or defer configuration until In-Unity Chat starts. Restart the selected client when prompted. The Wizard configures the integration; it does not perform an end-to-end connection test.
<details> <summary>Manual client setup guides</summary>
Use the matching guide:
Claude Code | Claude Desktop | Codex | Cursor | Junie | Kimi | OpenCode | Rider AI Assistant | VS Code | Windsurf
For external OpenCode setup, do not use the Wizard's standard clipboard JSON: OpenCode has a different configuration shape. Follow the OpenCode guide.
</details>
4. Verify the first connection
For an external MCP client, keep the Unity project open, restart the client if the Wizard asked you to, and send:
Read the active Unity scene hierarchy at depth 2 and summarize its root objects.
The client should call:
get_hierarchy(depth=2)
A successful response contains the active scene hierarchy. If the call fails, open MCP > Status > Diagnose in Unity. For Chat-only verification, use the Chat quick check. For command-line diagnostics, run:
uvx --from git+https://github.com/german-krasnikov/unity-biome-mcp.git#subdirectory=server unity-biome-mcp doctor
See Getting Started for recovery steps and platform details.
<details> <summary>Local development installation</summary>
Requirements for a source checkout: Git and Python 3.10 or newer.
git clone https://github.com/german-krasnikov/unity-biome-mcp.git
cd unity-biome-mcp
python install.py setup
python install.py configure --tool claude-code
python install.py doctor
The configuration helper supports claude-code, claude-desktop, cursor,
windsurf, vscode, codex, kimi, junie, and opencode.
</details>
Documentation
| Goal | Guide |
|---|---|
| Install and connect | Getting Started |
| Choose and configure an MCP client | Client guides |
| Install project-local AI guidance | AI Skills and Agents |
| Find a tool for a task | Tool Guide |
| Use batch safely | Batch Operations |
| Build Play Mode workflows | PlayTest DSL |
| Configure In-Unity Chat | Chat Backends |
| Extend Unity Biome MCP | Plugin Quick Start |
| Diagnose failures | Diagnostics |
What You Can Do
- Scene and object editing: inspect and modify GameObjects, components, assets, materials, shaders, and UI.
- Playtesting and verification: run PlayTest DSL workflows, compile checks, console checks, runtime diagnostics, and visual comparisons.
- Animation and VFX: work with clips, Animator controllers, Timeline, particles, materials, shaders, and Shader Graph.
- Efficient tool use: group compatible operations with
batch, request deferred schemas, and enable capability categories only when needed. - Extensibility: add project-specific server tools, Unity commands, Chat context chips, and plugin hooks.
<details> <summary>Prompt and batch examples</summary>
Example prompts:
Create a player object, add a Rigidbody, and place it at the scene origin.
Find enemies without colliders and add a BoxCollider to each.
Run a playtest that moves the player to the door and verifies that the score increases.
Capture the Game View and compare it with the saved baseline.
Summarize scene changes since the last checkpoint.
Batch example
Use batch for two or more compatible operations:
batch(commands="""
create_object name=Enemy
set_property path=Enemy component=Transform prop=position value=0,1,0
manage_component path=Enemy type=Rigidbody action=add
set_property path=Enemy component=Rigidbody prop=mass value=2
""")
Some typed tools are direct-only and cannot be placed in a batch. See the Batch guide for validation, Undo-backed rollback, and error handling.
</details>
Ways to Work
External MCP client
An MCP client launches the Python server over stdio. The server discovers the active Unity project and sends framed commands to the editor plugin over localhost TCP.
In-Unity Chat
Open MCP > Chat to work inside the editor. Select a supported CLI backend and use Ask or Agent mode. Authentication is handled by the selected CLI. Context chips can attach scene objects, scripts, and assets to a turn, while each completed AI turn is grouped for Unity undo.
See Chat backends for setup and behavior.
Architecture
<img src="docs/assets/architecture.svg" width="100%" alt="Animated architecture diagram: external clients and In-Unity Chat reach the Python MCP server and Unity Editor plugin through their local transport paths">
The external path is MCP client -> Python MCP server -> localhost TCP -> Unity Editor plugin. In-Unity Chat invokes the selected CLI through the local chat relay; that CLI connects to the same Python MCP server and rejoins the shared TCP-to-plugin path.
AI Skills
The Unity package includes 11 reusable domain skills and 4 focused agents for Claude Code and Codex. They cover efficient MCP tool selection, batching, Unity authoring, playtesting, diagnostics, and evidence-based verification.
Open MCP > Install AI Skills to install them into the current project. Existing and generated files are ownership-checked before replacement. See AI Skills and Agents for paths, safe updates, and Codex synchronization.
Project Inventory
The values below are generated from registrations, pytest collection, Unity test discovery or source scanning, and package metadata. They are discovery counts, not a claim that every test was executed in the current checkout.
<!-- README_STATS_START --> <img src="docs/assets/stats.svg" width="100%" alt="148 registered MCP tools. Test inventory: 11649 entries: 4597 regular Python, 511 Python stress, 287 live Python, and 6254 Unity source attributes. Unity count source: static source scan. Server package version: v1.19.0."> <!-- README_STATS_END -->
Unity MCP Product Comparison
Verified July 29, 2026:
- Unity Biome MCP: deterministic PlayTest DSL and visual baseline/diff workflows.
- Unity MCP Server: first-party local bridge, connection approval, and multi-client support.
- MCP for Unity: Unity 2021.3 compatibility and authenticated remote hosting.
- AI Game Developer: compiled-player runtime support plus local, HTTP, cloud, and Docker deployment.
- MCP Unity: optional Unity Undo rollback for batch operations and an interactive MCP App dashboard.
The detailed matrix cites exact source commits or versioned official documentation and records constraints as well as strengths.
Open the full source-backed comparison
Recent Changes
<!-- CHANGELOG_START --> Current release: v1.18.1 (2026-08-05). Read the full changelog. <!-- CHANGELOG_END -->
Contributing
Read CONTRIBUTING.md before opening a pull request. New contributors can start with good first issues.
Report security issues through SECURITY.md.
License
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。