1. Conduid
  2. Gaming
  3. Conduit
MCP server · Gaming

Conduit

Conduit is a lightweight, automated bridge that exposes any GraphQL API as a set of tools consumable by Large Language Models (LLMs) via the Model Context Protocol (MCP).

Unclaimed gaming
44Fair

Scored 7 days ago · breakdown

About Conduit

Conduit is an MCP server in the Gaming category: conduit is a lightweight, automated bridge that exposes any GraphQL API as a set of tools consumable by Large Language Models (LLMs) via the Model Context Protocol (MCP).

The repository has 56 stars and 0 forks.

Install

From source
git clone https://github.com/apkd/Conduit

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Conduit

Powered by Claude · Grounded in docs

I know everything about Conduit. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ✓README presentThe repository ships documentation.

5 checks have not been run yet.

README

                    ▄████████  ▄██████▄  ███▄▄▄▄   ████████▄  ███    █▄   ▄█      ███    
                   ███    ███ ███    ███ ███▀▀▀██▄ ███   ▀███ ███    ███ ███  ▀█████████▄
                   ███    █▀  ███    ███ ███   ███ ███    ███ ███    ███ ███▌    ▀███▀▀██
                   ███        ███    ███ ███   ███ ███    ███ ███    ███ ███▌     ███   ▀
                   ███        ███    ███ ███   ███ ███    ███ ███    ███ ███▌     ███    
                   ███    █▄  ███    ███ ███   ███ ███    ███ ███    ███ ███      ███    
                   ███    ███ ███    ███ ███   ███ ███   ▄███ ███    ███ ███      ███    
                   ████████▀   ▀██████▀   ▀█   █▀  ████████▀  ████████▀  █▀      ▄████▀  

                                 A simple and fast MCP server for Unity.

Latest version number MIT License Test status badge GitHub commit activity GitHub last commit

A Unity MCP server that stays out of the way of your coding agent.

  • Robust: survives crashes, restarts, assembly reloads, and handles multiple agents and Unity instances.
  • Context-efficient: conserves the agent's context window and saves tokens. Small number of versatile tools.
  • Simple setup: one Unity package, one server exe, editor config wizard. No dependencies, no pollution.

[!CAUTION] This package is WIP:

  • No linux support
  • Docs are incomplete

[!WARNING] Granting an AI agent access to Unity indirectly gives them escalated access to your machine. Have a resilient backup strategy, and make sure your work machine is resilient to data loss.

Installation

Add the package to your project by Git URL:

https://github.com/apkd/Conduit.git?path=/Conduit.Unity#release

You can also declare it directly in Packages/manifest.json:

"dependencies": {
  "dev.tryfinally.conduit": "https://github.com/apkd/Conduit.git?path=/Conduit.Unity#release",

Automatic setup

[!TIP] The Unity package includes a wizard for setting up the MCP server. This downloads the server executable and configures your installed code editors.

Tools → Conduit → Setup MCP Server

[!CAUTION] (automatic setup and tutorial/docs coming soon)

Manual setup

You can either:

  • Download the server executable from the releases page, or...
  • Build it by running dotnet publish,

Now configure your editor:

For a basic stdio setup, add this to config.toml:

stdio | Windows (Native)
[mcp_servers.unity]
command = "C:\\src\\Conduit\\Conduit.Server\\publish\\win-x64\\conduit.exe"
cwd = "C:\\src\\Conduit"
disabled_tools = []
tool_timeout_sec = 1800
enabled = true
stdio | Windows (WSL)
[mcp_servers.unity]
command = "/mnt/c/src/Conduit/Conduit.Server/publish/win-x64/conduit.exe"
cwd = "/mnt/c/src/Conduit"
disabled_tools = []
tool_timeout_sec = 1800
enabled = true
stdio | Linux
[mcp_servers.unity]
command = "/home/you/src/Conduit/Conduit.Server/publish/linux-x64/conduit"
cwd = "/home/you/src/Conduit"
disabled_tools = []
tool_timeout_sec = 1800
enabled = true
http
conduit --http [--port 5080] [--url http://127.0.0.1:5080]
codex mcp add unity --url http://127.0.0.1:5080
Approve tool calls

To avoid going insane from having to approve every tool call separately:

[mcp_servers.unity]
tools.discard_scenes.approval_mode = "approve"
tools.execute_code.approval_mode = "approve"
tools.find_missing_scripts.approval_mode = "approve"
tools.find_references_to.approval_mode = "approve"
tools.from_json_overwrite.approval_mode = "approve"
tools.get_dependencies.approval_mode = "approve"
tools.help.approval_mode = "approve"
tools.play.approval_mode = "approve"
tools.refresh_asset_database.approval_mode = "approve"
tools.restart.approval_mode = "approve"
tools.run_tests_editmode.approval_mode = "approve"
tools.run_tests_player.approval_mode = "approve"
tools.run_tests_playmode.approval_mode = "approve"
tools.save_scenes.approval_mode = "approve"
tools.screenshot.approval_mode = "approve"
tools.search.approval_mode = "approve"
tools.show.approval_mode = "approve"
tools.status.approval_mode = "approve"
tools.to_json.approval_mode = "approve"

Claude Code adds MCP servers with claude mcp add.

stdio | Windows (Native)
claude mcp add --transport stdio unity -- C:\src\Conduit\Conduit.Server\publish\win-x64\conduit.exe
stdio | Windows (WSL)
claude mcp add --transport stdio unity -- /mnt/c/src/Conduit/Conduit.Server/publish/win-x64/conduit.exe
stdio | Linux
claude mcp add --transport stdio unity -- /home/you/src/Conduit/Conduit.Server/publish/linux-x64/conduit
http
conduit --http [--port 5080] [--url http://127.0.0.1:5080]
claude mcp add --transport http unity http://127.0.0.1:5080

Cursor uses mcp.json with a top-level mcpServers object. You can put it in ~/.cursor/mcp.json for a global setup or .cursor/mcp.json for a project-local setup.

stdio | Windows (Native)
{
  "mcpServers": {
    "unity": {
      "command": "C:\\src\\Conduit\\Conduit.Server\\publish\\win-x64\\conduit.exe"
    }
  }
}
stdio | Windows (WSL)
{
  "mcpServers": {
    "unity": {
      "command": "/mnt/c/src/Conduit/Conduit.Server/publish/win-x64/conduit.exe"
    }
  }
}
stdio | Linux
{
  "mcpServers": {
    "unity": {
      "command": "/home/you/src/Conduit/Conduit.Server/publish/linux-x64/conduit"
    }
  }
}
http
conduit --http [--port 5080] [--url http://127.0.0.1:5080]
{
  "mcpServers": {
    "unity": {
      "url": "http://127.0.0.1:5080"
    }
  }
}

Windsurf stores MCP servers in ~/.codeium/windsurf/mcp_config.json.

stdio | Windows (Native)
{
  "mcpServers": {
    "unity": {
      "command": "C:\\src\\Conduit\\Conduit.Server\\publish\\win-x64\\conduit.exe",
      "args": []
    }
  }
}
stdio | Windows (WSL)
{
  "mcpServers": {
    "unity": {
      "command": "/mnt/c/src/Conduit/Conduit.Server/publish/win-x64/conduit.exe",
      "args": []
    }
  }
}
stdio | Linux
{
  "mcpServers": {
    "unity": {
      "command": "/home/you/src/Conduit/Conduit.Server/publish/linux-x64/conduit",
      "args": []
    }
  }
}
http
conduit --http [--port 5080] [--url http://127.0.0.1:5080]
{
  "mcpServers": {
    "unity": {
      "serverUrl": "http://127.0.0.1:5080"
    }
  }
}

Cline stores MCP settings in cline_mcp_settings.json.

stdio | Windows (Native)
{
  "mcpServers": {
    "unity": {
      "command": "C:\\src\\Conduit\\Conduit.Server\\publish\\win-x64\\conduit.exe",
      "args": [],
      "disabled": false
    }
  }
}
stdio | Windows (WSL)
{
  "mcpServers": {
    "unity": {
      "command": "/mnt/c/src/Conduit/Conduit.Server/publish/win-x64/conduit.exe",
      "args": [],
      "disabled": false
    }
  }
}
stdio | Linux
{
  "mcpServers": {
    "unity": {
      "command": "/home/you/src/Conduit/Conduit.Server/publish/linux-x64/conduit",
      "args": [],
      "disabled": false
    }
  }
}
http
conduit --http [--port 5080] [--url http://127.0.0.1:5080]
{
  "mcpServers": {
    "unity": {
      "url": "http://127.0.0.1:5080",
      "type": "streamableHttp",
      "disabled": false
    }
  }
}

Continue uses YAML, typically as standalone files under .continue/mcpServers/

Create .continue/mcpServers/unity.yaml:

stdio | Windows (Native)
name: Unity MCP
version: 0.0.1
schema: v1
mcpServers:
  - name: unity
    type: stdio
    command: C:\src\Conduit\Conduit.Server\publish\win-x64\conduit.exe
    cwd: C:\src\Conduit
stdio | Windows (WSL)
name: Unity MCP
version: 0.0.1
schema: v1
mcpServers:
  - name: unity
    type: stdio
    command: /mnt/c/src/Conduit/Conduit.Server/publish/win-x64/conduit.exe
    cwd: /mnt/c/src/Conduit
stdio | Linux
name: Unity MCP
version: 0.0.1
schema: v1
mcpServers:
  - name: unity
    type: stdio
    command: /home/you/src/Conduit/Conduit.Server/publish/linux-x64/conduit
    cwd: /home/you/src/Conduit
http
conduit --http [--port 5080] [--url http://127.0.0.1:5080]
name: Unity MCP
version: 0.0.1
schema: v1
mcpServers:
  - name: unity
    type: streamable-http
    url: http://127.0.0.1:5080

Gemini CLI stores MCP configuration in ~/.gemini/settings.json for user scope or .gemini/settings.json for project scope.

stdio | Windows (Native)
{
  "mcpServers": {
    "unity": {
      "command": "C:\\src\\Conduit\\Conduit.Server\\publish\\win-x64\\conduit.exe",
      "cwd": "C:\\src\\Conduit"
    }
  }
}
stdio | Windows (WSL)
{
  "mcpServers": {
    "unity": {
      "command": "/mnt/c/src/Conduit/Conduit.Server/publish/win-x64/conduit.exe",
      "cwd": "/mnt/c/src/Conduit"
    }
  }
}
stdio | Linux
{
  "mcpServers": {
    "unity": {
      "command": "/home/you/src/Conduit/Conduit.Server/publish/linux-x64/conduit",
      "cwd": "/home/you/src/Conduit"
    }
  }
}
http
conduit --http [--port 5080] [--url http://127.0.0.1:5080]
{
  "mcpServers": {
    "unity": {
      "httpUrl": "http://127.0.0.1:5080"
    }
  }
}

Equivalent CLI commands:

Local stdio
gemini mcp add unity /home/you/src/Conduit/Conduit.Server/publish/linux-x64/conduit
HTTP
gemini mcp add --transport http unity http://127.0.0.1:5080

GitHub Copilot CLI stores MCP servers in ~/.copilot/mcp-config.json.

stdio | Windows (Native)
{
  "mcpServers": {
    "unity": {
      "type": "local",
      "command": "C:\\src\\Conduit\\Conduit.Server\\publish\\win-x64\\conduit.exe",
      "args": [],
      "env": {},
      "tools": ["*"]
    }
  }
}
stdio | Windows (WSL)
{
  "mcpServers": {
    "unity": {
      "type": "local",
      "command": "/mnt/c/src/Conduit/Conduit.Server/publish/win-x64/conduit.exe",
      "args": [],
      "env": {},
      "tools": ["*"]
    }
  }
}
stdio | Linux
{
  "mcpServers": {
    "unity": {
      "type": "local",
      "command": "/home/you/src/Conduit/Conduit.Server/publish/linux-x64/conduit",
      "args": [],
      "env": {},
      "tools": ["*"]
    }
  }
}
http
conduit --http [--port 5080] [--url http://127.0.0.1:5080]
{
  "mcpServers": {
    "unity": {
      "type": "http",
      "url": "http://127.0.0.1:5080",
      "headers": {},
      "tools": ["*"]
    }
  }
}

Interactive alternative:

/mcp add

VS Code uses mcp.json with a top-level servers object. For workspace scope, put it in .vscode/mcp.json; for user scope, open the user MCP configuration from the Command Palette.

stdio | Windows (Native)
{
  "servers": {
    "unity": {
      "type": "stdio",
      "command": "C:\\src\\Conduit\\Conduit.Server\\publish\\win-x64\\conduit.exe",
      "args": []
    }
  }
}
stdio | Windows (WSL)
{
  "servers": {
    "unity": {
      "type": "stdio",
      "command": "/mnt/c/src/Conduit/Conduit.Server/publish/win-x64/conduit.exe",
      "args": []
    }
  }
}
stdio | Linux
{
  "servers": {
    "unity": {
      "type": "stdio",
      "command": "/home/you/src/Conduit/Conduit.Server/publish/linux-x64/conduit",
      "args": []
    }
  }
}
http
conduit --http [--port 5080] [--url http://127.0.0.1:5080]
{
  "servers": {
    "unity": {
      "type": "http",
      "url": "http://127.0.0.1:5080"
    }
  }
}

You can get to the config file from Manage MCP Servers → View raw config.

stdio | Windows (Native)
{
  "mcpServers": {
    "unity": {
      "command": "C:\\src\\Conduit\\Conduit.Server\\publish\\win-x64\\conduit.exe",
      "args": [],
      "cwd": "C:\\src\\Conduit"
    }
  }
}
stdio | Windows (WSL)
{
  "mcpServers": {
    "unity": {
      "command": "/mnt/c/src/Conduit/Conduit.Server/publish/win-x64/conduit.exe",
      "args": [],
      "cwd": "/mnt/c/src/Conduit"
    }
  }
}
stdio | Linux
{
  "mcpServers": {
    "unity": {
      "command": "/home/you/src/Conduit/Conduit.Server/publish/linux-x64/conduit",
      "args": [],
      "cwd": "/home/you/src/Conduit"
    }
  }
}

Zed uses context_servers in its settings. For project scope, put this in .zed/settings.json; for user scope, add it to your user settings.

stdio | Windows (Native)
{
  "context_servers": {
    "unity": {
      "command": "C:\\src\\Conduit\\Conduit.Server\\publish\\win-x64\\conduit.exe",
      "args": []
    }
  }
}
stdio | Windows (WSL)
{
  "context_servers": {
    "unity": {
      "command": "/mnt/c/src/Conduit/Conduit.Server/publish/win-x64/conduit.exe",
      "args": []
    }
  }
}
stdio | Linux
{
  "context_servers": {
    "unity": {
      "command": "/home/you/src/Conduit/Conduit.Server/publish/linux-x64/conduit",
      "args": []
    }
  }
}
http
conduit --http [--port 5080] [--url http://127.0.0.1:5080]
{
  "context_servers": {
    "unity": {
      "url": "http://127.0.0.1:5080"
    }
  }
}

Roo Code stores global MCP configuration in mcp_settings.json. For project-local setup, create .roo/mcp.json.

stdio | Windows (Native)
{
  "mcpServers": {
    "unity": {
      "command": "C:\\src\\Conduit\\Conduit.Server\\publish\\win-x64\\conduit.exe",
      "args": [],
      "cwd": "C:\\src\\Conduit",
      "disabled": false
    }
  }
}
stdio | Windows (WSL)
{
  "mcpServers": {
    "unity": {
      "command": "/mnt/c/src/Conduit/Conduit.Server/publish/win-x64/conduit.exe",
      "args": [],
      "cwd": "/mnt/c/src/Conduit",
      "disabled": false
    }
  }
}
stdio | Linux
{
  "mcpServers": {
    "unity": {
      "command": "/home/you/src/Conduit/Conduit.Server/publish/linux-x64/conduit",
      "args": [],
      "cwd": "/home/you/src/Conduit",
      "disabled": false
    }
  }
}
http
conduit --http [--port 5080] [--url http://127.0.0.1:5080]
{
  "mcpServers": {
    "unity": {
      "type": "streamable-http",
      "url": "http://127.0.0.1:5080",
      "disabled": false
    }
  }
}

Junie in JetBrains IDEs and Junie CLI use the same MCP config file format. Use ~/.junie/mcp/mcp.json for user scope or .junie/mcp/mcp.json in the project root for project scope.

stdio | Windows (Native)
{
  "mcpServers": {
    "unity": {
      "command": "C:\\src\\Conduit\\Conduit.Server\\publish\\win-x64\\conduit.exe",
      "args": []
    }
  }
}
stdio | Windows (WSL)
{
  "mcpServers": {
    "unity": {
      "command": "/mnt/c/src/Conduit/Conduit.Server/publish/win-x64/conduit.exe",
      "args": []
    }
  }
}
stdio | Linux
{
  "mcpServers": {
    "unity": {
      "command": "/home/you/src/Conduit/Conduit.Server/publish/linux-x64/conduit",
      "args": []
    }
  }
}
http
conduit --http [--port 5080] [--url http://127.0.0.1:5080]
{
  "mcpServers": {
    "unity": {
      "url": "http://127.0.0.1:5080"
    }
  }
}

Available tools

The basics:

These core tools that cover most situations. In particular, execute_code is vital, as it can run arbitrary C# code without an assembly reload. It returns the result, logs, exceptions, and compilation errors. Agents are very proficient at using it for interacting with Unity and debugging code.

  • status: project and MCP connection state
  • refresh_asset_database: imports modified assets, recompiles code
  • execute_code: runs ad hoc C# code
  • restart: starts or restarts Unity Editor

Object search, reading, and editing:

Together, these tools enable agents to find, read, and write any asset, GameObject, or component.

  • search: finds objects and assets
  • show: displays object properties
  • to_json: read object in JSON format
  • from_json_overwrite: overwrite object properties with JSON
  • find_missing_scripts: scans objects for invalid/deleted scripts
  • get_dependencies: what assets does this use?
  • find_references_to: what assets use this?
  • save_scenes: save current changes for open scenes
  • discard_scenes: discard current changes for open scenes

Testing:

These complete the iteration loop, allowing the agent to validate their work. By the way: if your project doesn't have tests, you're doing it wrong.

  • run_tests_editmode: run Edit Mode tests
  • run_tests_playmode: run Play Mode tests
  • run_tests_player: run player tests
  • screenshot: captures the game view, scene view, or any other object

Agent instructions

The tool descriptions themselves should be enough to get started.

If you really want to, you can include something like this in your agent instructions:

Use the Unity MCP tools to prototype solutions, validate code compilation and run tests.
Invoke the `restart` tool in case of instability.
Don't build the Unity solution manually; simply call `refresh_asset_database` after making any code changes.
When dealing with assets and GameObjects, `search`, `show`, `to_json`, `from_json_overwrite`, `find_missing_scripts`, `get_dependencies` and `find_references_to` are your friends.

README copy captured when this server was indexed; it may lag the repository. The original is authoritative.

Questions

About Conduit

How do I install Conduit?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Conduit safe to use with an AI agent?

Its trust score is 44 out of 100 (fair). It passes 1 of the 1 static security checks run so far. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Conduit still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.