Model or dataset
isuzu-shiranui/UnityMCP avatar
isuzu-shiranui/UnityMCP

UnityMCP opens the Unity Editor to AI agents, with no bridge process required

Drive the Unity Editor from an AI agent or the terminal. The Editor serves MCP itself over HTTP, so there is no second process to run, and the isuzu-unity-cli command needs no Node or .NET runtime.

314 stars25 forksC#MIT

At a glance

What is it?
The Unity Editor serves MCP over HTTP itself, so Claude Code or Cursor can drive scenes, tests and builds directly. A native CLI covers terminal use, and one C# attribute adds a new tool.
Who is it for?
UnityMCP fits Unity developers who already work with Claude Code, Cursor or similar agents and want them able to compile, test, inspect and modify scenes without a bridge process to babysit; the verify command and one-step Undo make the risky parts survivable. Skip it if your Unity version predates 2022.3 or your agents have no MCP client support.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 4 days ago.
What is it written in?
Mainly C#, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The Editor as its own MCP server

Most Unity MCP setups involve a middleman: a separate server process that talks to the Editor through some side channel. UnityMCP, from isuzu-shiranui, removes that piece. The Editor exposes a Streamable HTTP endpoint at http://127.0.0.1:<port>/mcp, and MCP clients connect to the Editor directly. The same route serves humans clicking in the Editor, scripts, and AI agents, which the README states as a design principle rather than a coincidence.

The practical difference shows up at setup time. There is no second process to install, start, monitor or restart when Unity crashes. The README reports verified operation with Claude Code, Cursor, Codex, Gemini CLI, VS Code and Claude Desktop. For terminal-first users, a native command line tool named isuzu-unity-cli calls the same tools, and its distributed executables need neither Node nor a .NET runtime installed.

Installing the package and the CLI

The Unity side installs through the Package Manager's Add package from git URL, using this address:

bash
https://github.com/isuzu-shiranui/UnityMCP.git?path=jp.shiranui-isuzu.unity-mcp

That route needs Git 2.14.0 or newer on the PATH, since Unity's Package Manager fetches git-URL packages with it. VRChat Creator Companion and ALCOM users skip Git entirely by adding the VPM repository at unity-mcp.shiranui-isuzu.dev/vpm.json. The only dependency, com.unity.nuget.newtonsoft-json 3.2.1, resolves automatically.

The CLI installs with the README's one-liners:

bash
irm https://raw.githubusercontent.com/isuzu-shiranui/UnityMCP/main/install.ps1 | iex

and on macOS or Linux:

bash
curl -fsSL https://raw.githubusercontent.com/isuzu-shiranui/UnityMCP/main/install.sh | sh

Executables can also be downloaded from GitHub Releases and checked against the published SHA256SUMS, and if you keep a .NET 10 SDK around, dotnet tool install -g IsuzuUnityCli works too.

Wiring up Claude Code, Cursor, or any client

Registration is a pair of CLI commands, and the README shows the two most common:

bash
isuzu-unity-cli setup --mcp --agent claude-code

The --agent flag accepts claude-code, claude-desktop, codex, cursor, gemini or vscode, and plain isuzu-unity-cli setup installs the agent skill without the MCP registration. For Claude Code specifically, the server registers under the Unity project's path, so the README's instruction is to launch Claude Code from the project folder, which scopes the editor access to the project you are actually in.

Discovery removes the usual host-and-token fiddling. When the Editor opens a project, the server starts and publishes a descriptor file; the CLI reads it, so ports and tokens never need to be typed. Registration is also possible from the Editor's Preferences page under Unity MCP, and per-client setup, including a Claude Desktop extension bundle and a stdio bridge, lives in docs/mcp-clients.md.

First commands: verify is the hook

Four commands cover the first session:

bash
isuzu-unity-cli projects
isuzu-unity-cli tools
isuzu-unity-cli call play_mode_status
isuzu-unity-cli verify

projects lists running Editors, tools lists what this project exposes, and call demonstrates invocation. The one worth building a habit around is verify: it compiles the project, extracts errors, and reports console errors in a single call, with --test running the test suite as well. Anyone who has watched an agent edit a C# file and then guess whether it compiles will recognize why that command anchors the README.

With multiple Editors open, --project selects one by name; run from inside a project directory, the right Editor is chosen automatically.

What the tools cover, and the Undo guarantee

The built-in tool set spans the Editor's working surface: diagnostics over the console, Editor.log, compile state, tests, scene hierarchy and assets; authoring tools that create and modify GameObjects, components, assets, scenes, Prefabs and Animator Controllers; plus drawing, Timeline and Recorder, builds, C# snippet execution and synthetic input to the Editor.

Two design decisions stand out. Authoring calls coalesce into a single Undo step, so an agent's botched creation is one Ctrl+Z away from gone. And tools declare their dependencies: Timeline tools appear only with com.unity.timeline present, Recorder tools need both Recorder and Timeline, and test tools need the test framework, so the tool list reflects what the project can actually do. The MCP URL also accepts a group filter, so a client can subscribe to diagnostics and authoring only and keep its tool list small.

Extending it: one attribute per tool

Custom tools are C# static methods wearing an attribute, and the README's example shows the whole contract:

csharp
[McpTool(
    "asset_find_by_type",
    "Find project assets of a given type. Prefer a narrow type and a small limit.",
    Idempotency = McpIdempotency.Safe)]
public static string[] FindByType(
    [McpArg("type", "Unity type name, e.g. Material.")] string type,
    [McpArg("limit", "Maximum paths to return.")] int limit = 50)

With that in place, the method is callable from any MCP client and from the CLI, and the JSON Schema is generated from the signature, descriptions included. Teams that would rather not compile C# can define probe, script and sequence tools in plain JSON files, per docs/defined-tools.md. The extension path matters for adoption calculus: an agent's usefulness inside Unity scales with the tools it has, and this project makes adding one a minutes-long task rather than a protocol project.

Security posture and limits

The security section is short and concrete. The server binds to 127.0.0.1 only, every request except OPTIONS requires a bearer token, and the README says plainly that the descriptor and token files should be treated as credentials, since anyone who can read them can execute code inside the Editor. Nothing ships in player builds, development builds included.

The limits are the honest ones of the approach: Unity 2022.3 or newer is the floor, with the EditMode test suite run against Unity 6000.0.35f1, so very old projects are outside the tested set. Building the CLI from source wants .NET 10, though users of the distributed binaries need nothing. And the model is Editor-bound by design; it drives the Unity Editor, not a running player. The repository is MIT licensed, carries three releases, and its last push was on 2026-09-15.

Editorial conclusion

UnityMCP fits Unity developers who already work with Claude Code, Cursor or similar agents and want them able to compile, test, inspect and modify scenes without a bridge process to babysit; the verify command and one-step Undo make the risky parts survivable. Skip it if your Unity version predates 2022.3 or your agents have no MCP client support. Verify the security trade before adopting: read docs/security.md, confirm you accept that the token file grants code execution in your Editor, then run the four first commands against a scratch project.

Frequently asked questions

Is UnityMCP free to use?

Yes. The project is MIT licensed, the Unity package installs from the public repository, and the CLI's executables are downloadable from GitHub Releases with published SHA256SUMS for verification.

Which MCP clients does UnityMCP work with?

The README reports verified operation with Claude Code, Cursor, Codex, Gemini CLI, VS Code and Claude Desktop, with per-client setup instructions in docs/mcp-clients.md.

Is it safe to expose the Unity Editor over MCP?

The server binds to 127.0.0.1 only and requires a bearer token on every request except OPTIONS. The README warns that the descriptor and token files are credentials, since reading them permits code execution inside the Editor, and nothing is included in player builds.

Official sources

  1. isuzu-shiranui/UnityMCP on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Community notes

Community notes