Skip to main content
Glama
rougebleu
by rougebleu

uloop-mcp

Zero-dependency MCP tools for Unity CLI Loop v3 (the version that removed MCP support in favor of CLI + Skills). This project re-exposes the v3 CLI as MCP tools to any MCP client (Cursor, Claude Code, OpenCode, generic MCP hosts, ...), including the headline v3 features hot-reload, pause-point, and watches.

Third-party project. Not affiliated with Unity CLI Loop / hatayama.

Why

  • Unity CLI Loop v3 dropped MCP on purpose; it ships Skills instead. If your agent framework only speaks MCP, there was no way to drive v3 (hot-reload / pause-point) - until now.

  • The tool list is auto-generated from the live Unity tool catalog (uloop list), so the MCP schemas always match the installed project/version. No hand-maintained option tables.

Related MCP server: Unity MCP Server

Architecture

MCP client (stdio JSON-RPC)
  |  newline-delimited JSON-RPC 2.0 (no SDK required)
  v
server.mjs        - MCP server; runs 'uloop list' and maps results to MCP tools
  |  spawn native 'uloop' (dispatcher)
  v
uloop dispatcher  - global native CLI (%LOCALAPPDATA%\Programs\uloop\bin\uloop.exe)
  |  reads .uloop/project-runner-pin.json, downloads matching runner on demand
  v
uloop-project-runner -> named pipe -> Unity Editor

bridge.mjs (optional, for sandboxed agents)

sandboxed agent  --HTTP 127.0.0.1:8787-->  bridge.mjs  --spawn uloop-->  Unity

v3 talks to Unity over a Windows named pipe. AI-agent sandboxes (for example the DeepSeek Harness shell sandbox) block named pipes, so run bridge.mjs outside the sandbox (normal terminal / startup script) and call it over loopback HTTP - TCP is allowed in those sandboxes.

POST /run   { "argv": ["hot-reload", "--status"] }
GET  /health

Optional auth: set ULOOP_BRIDGE_TOKEN and send header x-uloop-token.

Requirements

  • Windows (v3 uses named pipes; macOS/Linux use Unix sockets - only Windows is tested here).

  • The native uloop dispatcher (v3). npm package uloop-cli was discontinued in v3; install the dispatcher with the official installer (run install.ps1 from the release assets, or use Unity menu: Window > Unity CLI Loop > Settings > Install CLI).

  • A Unity Editor open on a project with the Unity CLI Loop v3 package and its server running.

  • Node.js >= 18 (for this project; the v3 CLI itself does not need Node).

Usage

set ULOOP_PROJECT_DIR=C:\path\to\unity-project
node server.mjs          # stdio MCP server
node smoke.mjs           # smoke test (initialize / tools/list / read-only tools/call)

Register with an MCP client, e.g. Claude Code:

claude mcp add --scope project uloop -- node C:\path\to\uloop-mcp\server.mjs

or any MCP host with: command node, args [server.mjs], env { ULOOP_PROJECT_DIR: "<project>" }.

Configuration

Env var

Default

Meaning

ULOOP_PROJECT_DIR

process cwd

Unity project directory (uloop working dir)

ULOOP_CLI

%LOCALAPPDATA%\Programs\uloop\bin\uloop.exe

Dispatcher executable path

ULOOP_TIMEOUT_MS

240000

Per-command timeout

ULOOP_DEBUG

off

Server logs to stderr

ULOOP_BRIDGE_PORT

8787

bridge.mjs port

ULOOP_BRIDGE_TOKEN

-

If set, bridge requires x-uloop-token header

Behavior notes

  • Every uloop list entry becomes an MCP tool named unity_<tool> (kebab-case to snake_case); its input schema is generated from the tool's CLI options (types, defaults, enums).

  • unity_run is an escape hatch for any raw command (native dispatcher commands such as focus-window, pause-point-status, launch, or tools you do not want typed).

  • Tool results are the CLI's JSON text. Flag values match the CLI (booleans are bare flags).

  • If the tool list cannot be fetched (Editor not running), only unity_run is exposed and the error is reported; the server retries automatically.

Limitations

  • Requires the Unity Editor to be running with the uLoopMCP v3 server active.

  • Tested on Windows with Unity 6000.3.x / Unity CLI Loop 3.4.x. Other platforms should work via Unix sockets but are not tested.

  • v2 projects still work: the dispatcher auto-delegates to a matching v2 CLI (needs Node 22).

License

MIT

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Allows MCP clients like Claude Desktop or Cursor to perform Unity Editor actions, including asset management, scene modification, and game mechanic testing.
    22
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables driving Omniverse Kit apps (Isaac Sim, Isaac Lab) over MCP, allowing agents to control simulations, run Python, and call namespace-scoped tools via a single bridge.
    1
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides MCP tools to manage and interact with Unity debug sessions in VS Code, including breakpoints, snapshots, evaluation, and stepping, via a named pipe to the Unity Debugger Pure extension.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rougebleu/uloop-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server