4.1 KiB
MCP for Unity Server (Docker Image)
Model Context Protocol server for Unity Editor integration. Control Unity through natural language using AI assistants like Claude, Cursor, and more.
Maintained by Coplay - This project is not affiliated with Unity Technologies.
💬 Join our community: Discord Server
Required: Install the Unity MCP Plugin to connect Unity Editor with this MCP server.
Quick Start
1. Pull the image
docker pull msanatan/mcp-for-unity-server:latest
2. Run the server
docker run -p 8080:8080 msanatan/mcp-for-unity-server:latest
This starts the MCP server on port 8080.
3. Configure your MCP Client
Add the following configuration to your MCP client (e.g., Claude Desktop config, Cursor settings):
{
"mcpServers": {
"UnityMCP": {
"url": "http://localhost:8080/mcp"
}
}
}
Configuration
The server connects to the Unity Editor automatically when both are running. No additional configuration is needed.
Environment Variables:
DISABLE_TELEMETRY=true- Opt out of anonymous usage analyticsLOG_LEVEL=DEBUG- Enable detailed logging (default: INFO)
Example running with environment variables:
docker run -p 8080:8080 -e LOG_LEVEL=DEBUG msanatan/mcp-for-unity-server:latest
Remote-Hosted Mode
To deploy as a shared remote service with API key authentication and per-user session isolation, pass --http-remote-hosted along with an API key validation URL:
docker run -p 8080:8080 \
-e UNITY_MCP_HTTP_REMOTE_HOSTED=true \
-e UNITY_MCP_API_KEY_VALIDATION_URL=https://auth.example.com/api/validate-key \
-e UNITY_MCP_API_KEY_LOGIN_URL=https://app.example.com/api-keys \
msanatan/mcp-for-unity-server:latest
In this mode:
- All MCP tool/resource calls and Unity plugin WebSocket connections require a valid
X-API-Keyheader. - Each user only sees Unity instances that connected with their API key.
- Users must explicitly call
set_active_instanceto select a Unity instance.
Remote-hosted environment variables:
| Variable | Description |
|---|---|
UNITY_MCP_HTTP_REMOTE_HOSTED |
Enable remote-hosted mode (true, 1, or yes) |
UNITY_MCP_API_KEY_VALIDATION_URL |
External endpoint to validate API keys (required) |
UNITY_MCP_API_KEY_LOGIN_URL |
URL where users can obtain/manage API keys |
UNITY_MCP_API_KEY_CACHE_TTL |
Cache TTL for validated keys in seconds (default: 300) |
UNITY_MCP_API_KEY_SERVICE_TOKEN_HEADER |
Header name for server-to-auth-service authentication |
UNITY_MCP_API_KEY_SERVICE_TOKEN |
Token value sent to the auth service |
MCP client config with API key:
{
"mcpServers": {
"UnityMCP": {
"url": "http://your-server:8080/mcp",
"headers": {
"X-API-Key": "<your-api-key>"
}
}
}
}
For full details, see the Remote Server Auth Guide.
Example Prompts
Once connected, try these commands in your AI assistant:
- "Create a 3D player controller with WASD movement"
- "Add a rotating cube to the scene with a red material"
- "Create a simple platformer level with obstacles"
- "Generate a shader that creates a holographic effect"
- "List all GameObjects in the current scene"
Documentation
For complete documentation, troubleshooting, and advanced usage, please visit the GitHub repository:
License
MIT License - See LICENSE