GameDev-MCP-Server
Provides tools for interacting with the Unity game engine, enabling AI agents to manage scenes, assets, and editor operations through the Unity-MCP plugin.
Engine-agnostic Model Context Protocol server shared by the game-engine MCP plugins:
Unity-MCP — Unity Editor & games
Godot-MCP — Godot Editor & games
Unreal-MCP — Unreal Editor & games
It is a thin host over the NuGet packages com.IvanMurzak.McpPlugin.Server and com.IvanMurzak.ReflectorNet, where all the real server logic lives. The server bridges MCP clients (Claude, Cursor, Copilot, …) and an engine plugin over SignalR:
MCP client ⇄ gamedev-mcp-server ⇄ (SignalR) ⇄ engine plugin (Unity / Godot / Unreal)There is no engine-specific code in this repository — one server binary serves all three engine plugins. Tools, resources and prompts are provided dynamically by whichever engine plugin connects.
Not to be confused with AI-Game-Dev-Server — the cloud LLM/billing proxy. This project is the local MCP stdio/http proxy host.
Install / Run
Pre-built executables
Download the zip for your platform from Releases (gamedev-mcp-server-<rid>.zip — win-x64, win-x86, win-arm64, linux-x64, linux-arm64, osx-x64, osx-arm64), unzip, and run:
./gamedev-mcp-server --port 8080 --client-transport stdioTypical MCP client configuration (stdio):
{
"mcpServers": {
"GameDev-MCP": {
"command": "path/to/gamedev-mcp-server",
"args": ["--port=8080", "--client-transport=stdio"]
}
}
}Docker
docker run -i --rm -p 8080:8080 aigamedeveloper/mcp-serverdotnet tool
dotnet tool install --global com.IvanMurzak.GameDev.MCP.Server
gamedev-mcp-server --port 8080Build from source
dotnet build com.IvanMurzak.GameDev.MCP.Server.csproj
dotnet run --project com.IvanMurzak.GameDev.MCP.Server.csproj -- --client-transport stdio --port 8080Cross-platform self-contained executables for all 7 RIDs: ./build/build-all.sh (bash) or ./build/build-all.ps1 (PowerShell). Outputs land in publish/<rid>/ and are zipped as gamedev-mcp-server-<rid>.zip (skip zipping with --no-zip / -NoZip).
Related MCP server: Learn MCP Server
Configuration
CLI arguments override environment variables.
Environment variable | CLI argument | Default | Description |
|
|
| Client → Server ← Plugin connection port |
|
|
| Plugin → Server connection timeout (ms) |
|
|
| Client → Server transport: |
|
|
| streamableHttp idle-session eviction window (this host seeds 8h instead of the package default of 600s, so a local session survives a working day). Multi-tenant hosts should lower it and use a Redis session-migration record for long-window resumption |
|
| transport-dependent (see Authentication) | Authentication mode: |
|
| — | OAuth authorization-server URL (e.g. |
|
| — | This server's canonical public URL / token audience (e.g. |
|
|
| Bind address: |
|
| — | Comma/semicolon-separated additional allowed browser Origins (added to loopback + the |
| — |
| Log verbosity floor: |
Logs are written to logs/server-log.txt (and logs/server-log-error.txt); in stdio mode console logging is redirected to stderr so stdout stays clean for the MCP JSON stream.
The default level is Info. Set MCP_LOG_LEVEL=Trace to dump every MCP message
body while debugging a protocol issue — but expect volume: on a busy hosted
deployment Trace measured 39-54k lines/min (5-12 GB/day), which rotates
server-log.txt (10 MB x 5 archives) down to roughly ten minutes of retained
history. Lower verbosity keeps more usable history, not less.
Authentication
The server is an OAuth 2.1 resource server. Two modes:
Mode | Auth | Default for | Use |
| none — single-instance, zero-config | stdio | offline / local dev / CI |
| ES256 JWT validated locally via cached JWKS (with PAT introspection fallback); | streamableHttp | signed-in localhost and hosted |
Transport-conditional default:
stdiodefaults tonone.streamableHttpdefaults tooauthwhen both--auth-issuerand--public-urlare configured; otherwise it stays onnoneand logs a warning (so the zero-configdocker run/--port 8080quickstart still works). An explicit--authalways wins.oauthrequires--auth-issuer(the authorization server, e.g.https://ai-game.dev) and--public-url(this server's canonical audience). Startup fails fast if either is missing while--auth oauthis set.Origin validation (DNS-rebinding defense) runs in all modes: a request with a non-allowed
Origingets403. Loopback and the--public-urlorigin are allowed by default; add more withMCP_ALLOWED_ORIGINS.Bind defaults to loopback. Set
--bind any(or0.0.0.0) for a hosted deployment a reverse proxy must reach.
# Local, offline (stdio, none) — unchanged zero-config default:
gamedev-mcp-server --client-transport stdio --port 8080
# Hosted resource server (streamableHttp, oauth), reachable by nginx:
gamedev-mcp-server --client-transport streamableHttp --port 8080 \
--auth oauth --auth-issuer https://ai-game.dev --public-url https://ai-game.dev/mcp \
--bind 0.0.0.0Configure an AI agent
Write a project-scoped, pinned MCP client config for any supported AI agent from the terminal — no editor UI, no token copy/paste (native OAuth authorize):
# Local server, current project:
gamedev-mcp-server configure --agent claude-code
# Hosted server:
gamedev-mcp-server configure --agent codex --url https://ai-game.dev/mcp
# List agents:
gamedev-mcp-server configure --helpEach written config is URL-only (credentials are never written into project files) and carries the project pin (…/p/<pin> path segment) plus, for local servers, the deterministic per-project port — so agent sessions launched in this project folder route strictly to this project's engine. --agent <id> accepts any id from configure --help (e.g. claude-code, codex, cursor, vscode-copilot, …); --transport stdio writes a stdio spawn config instead of an HTTP one; --project <path> targets a different project root (default: current directory).
Compatibility
GameDev-MCP-Server | McpPlugin.Server | ReflectorNet | Engine plugins |
9.2.4 (current) | 7.5.2 | 5.4.0 | engine plugins on McpPlugin 7.x |
8.0.3 (legacy) | 6.11.0 | 5.3.1 | engine plugins on McpPlugin 6.x |
Any 9.x server needs an engine plugin built on McpPlugin 7.x (the instance-metadata handshake + oauth mode). McpPlugin 6.x plugins pair with the 8.0.3 line.
Every 9.x release since 9.0.0 builds against a released McpPlugin.Server 7.x. For the exact pins of an intermediate version, see its entry on Releases — this table tracks the current release and the last 6.x-compatible one rather than every patch, so it does not go stale between them.
License
Apache-2.0 — Copyright (c) 2026 Ivan Murzak
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityAmaintenanceMCP Unity Server to integrate Unity Editor game engine with different AI Model clients (e.g. Claude Desktop, Windsurf, Cursor)Last updated5191,851MIT
- Flicense-qualityDmaintenanceA Model Context Protocol (MCP) server designed for learning and experimentation. It provides a foundational setup for developers to build, run, and debug MCP server implementations using Node.js.Last updated
- Apache 2.0
- Alicense-qualityBmaintenanceOpen-source MCP server connecting AI agents (Claude, Cursor, GitHub Copilot, Gemini, and more) to Unreal Engine 5.7, editor and runtime (C++ plugin + .NET sidecar).Last updated16Apache 2.0
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
MCP server for AI dialogue using various LLM models via AceDataCloud
Cloud-hosted MCP server for durable AI memory
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/IvanMurzak/GameDev-MCP-Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server