Game engine runtime mcp
Provides tools for inspecting Unity scene hierarchies, executing headless test suites, safely writing scripts, and analyzing runtime logs for exceptions and performance metrics.
A production-grade Model Context Protocol (MCP) server that connects Anthropic's Claude AI directly with game engine runtimes (Unity & Godot). It enables automated testing, real-time error log filtering, scene hierarchy inspection, and safe file writing inside an isolated sandbox environment.
🌟 Key Features
Scene Hierarchy Inspection: Parse Unity (
.unity) and Godot (.tscn) scenes to give Claude complete awareness of active nodes, GameObjects, and attached components.Headless Test Runner: Execute game engine unit/integration tests directly without opening the GUI, avoiding command timeouts via asynchronous process handling.
Token-Optimized Log Filtering: Extracts only stacktraces, null-pointer exceptions, and compilation errors from engine logs to prevent blowing past context limits.
Strict Security Sandboxing: Protects host filesystems by restricting file read/write operations strictly to permitted game project folders.
Related MCP server: Godot-MCP
🛠️ Included Tools
inspeccionar_jerarquia_escena: Returns a structured overview of GameObjects or Nodes inside a scene file.ejecutar_suite_pruebas_motor: Triggers Unity or Godot inEditMode/PlayModeheadless testing modes.escribir_codigo_seguro: Safely writes/updates scripts inside the authorized project sandbox.analizar_fugas_memoria_y_logs: Synthesizes runtime logs to extract exceptions and performance metrics.
⚙️ Configuration for Claude Desktop
Add this block to your claude_desktop_config.json:
{
"mcpServers": {
"game-engine-runtime": {
"command": "npx",
"args": [
"-y",
"game-engine-runtime-mcp"
],
"env": {
"ALLOWED_PROJECT_PATHS": "C:/Users/YourUser/Projects/MyGame"
}
}
}
}Available Tools
4 toolsanalizar_fugas_memoria_y_logsB
Lee los últimos logs de consola y los sintetiza automáticamente extraendo NullPointerExceptions, Warnings y métricas de rendimiento.
| Name | Required | Description | Default |
|---|---|---|---|
| maxErrors | No | Número máximo de errores a extraer (por defecto 10). | |
| logFilePath | Yes | Ruta al log del motor. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It communicates a read-only intent through 'Lee' and 'sintetiza', but it does not disclose output format, any side effects, or how 'latest logs' is determined. It also omits the memory-leak behavior implied by the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that front-loads the action and lists the extracted results. The typo 'extraendo' and the vague 'últimos' are minor, but overall there is no wasted content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must convey what the tool returns; it does list NPEs, warnings, and performance metrics, which helps. However, the tool name promises 'fugas_memoria' analysis, which is entirely absent from the description, and the description does not clarify whether the output is a summary report or raw extracted data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already documented in the schema and the description adds no parameter-level detail. The slight mismatch between 'logs de consola' and the schema's 'Ruta al log del motor' is minor and does not meaningfully enrich or clarify the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Lee los últimos logs de consola') and concrete outcomes (extraer NullPointerExceptions, Warnings y métricas de rendimiento), which distinguishes it from siblings like inspeccionar_jerarquia_escena or ejecutar_suite_pruebas_motor. However, the tool name references 'fugas_memoria' (memory leaks), but the description never mentions memory-leak analysis, creating a notable gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the sibling tools, nor any exclusions or prerequisites. An agent must infer the use case solely from the action described, which is minimal direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ejecutar_suite_pruebas_motorA
Ejecuta el Test Runner nativo del motor en modo Headless, filtrando el resultado para devolver solo fallos críticos y stacktraces limpios.
| Name | Required | Description | Default |
|---|---|---|---|
| engine | Yes | Motor de desarrollo. | |
| testMode | Yes | Tipo de pruebas. | |
| projectPath | Yes | Ruta al proyecto. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and delivers meaningful behavioral details: it runs in Headless mode and filters output to critical failures and clean stacktraces. It stops short of revealing potential side effects, prerequisites, or timeouts, but it goes well beyond a bare 'runs tests' statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, tightly worded sentence that front-loads the primary action and adds the filtering detail without redundancy. Every word carries meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with three simple, fully documented parameters and no output schema, the description covers the essential behavior and output transformation. It is slightly light on expectations around what constitutes 'fallos críticos' or whether a success response is also returned, but nothing critical is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The description adds no extra meaning about how projectPath, engine, or testMode are used, making the baseline of 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Ejecuta') with a clear resource ('Test Runner nativo del motor') and mode ('Headless'), plus the output-filtering behavior. It clearly distinguishes from siblings like inspeccionar_jerarquia_escena or analizar_fugas_memoria_y_logs, which cover different concerns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied: the tool runs engine tests, so an agent would use it when tests need to be executed. However, it offers no explicit when-to-use/when-not-to-use guidance and does not name alternatives, though the sibling tools are sufficiently different that confusion is unlikely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
escribir_codigo_seguroA
Escribe o actualiza código dentro del Sandbox del proyecto verificando la estructura previa.
| Name | Required | Description | Default |
|---|---|---|---|
| content | Yes | Código fuente completo. | |
| projectPath | Yes | Ruta del proyecto. | |
| relativePath | Yes | Ruta del script (ej. Scripts/Player.cs). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It does disclose that the tool verifies the pre-existing structure and operates within a Sandbox, which is useful behavioral context. However, it omits side effects (e.g., whether files are overwritten), permission requirements, and failure behavior, which matter for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence with no filler. The action verb and primary resource are front-loaded, and the structural verification constraint is included without verbosity. Every word contributes to the agent's understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter write tool, the description and schema cover the main invocation details. However, there is no output schema and no annotations, so the description should explain what happens after invocation (e.g., return values, errors, or whether the write is irreversible). This missing execution context keeps it from being complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter already has a clear description. The tool description adds little beyond the schema, mostly reinforcing the Sandbox and structure-verification context. Baseline 3 is appropriate because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Escribe o actualiza' with a clear resource ('código dentro del Sandbox del proyecto') and adds a distinguishing constraint ('verificando la estructura previa'). The sibling tools are inspection/testing/log-analysis operations, so this write/update tool is clearly differentiated without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (writing or updating code within the project Sandbox) but provides no explicit guidance about when to choose this tool over alternatives, nor any exclusions. The sibling names make the intended use reasonably inferable, but the description itself does not state it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspeccionar_jerarquia_escenaB
Analiza la escena o mapa actual del motor (Unity/Godot) y devuelve el árbol de objetos, nodos y componentes asignados.
| Name | Required | Description | Default |
|---|---|---|---|
| scenePath | Yes | Ruta relativa del archivo de escena (.unity o .tscn). | |
| projectPath | Yes | Ruta absoluta al proyecto. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries full responsibility for behavior disclosure. It implies a read-only analysis by saying 'Analiza' and 'devuelve', but it does not clarify whether an engine instance must be running, whether files are only read, or what side effects might occur.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is one focused sentence with no filler. It is concise and front-loaded with the core action, though it could benefit from a short usage or behavior note.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter inspection tool, the description gives an adequate high-level view of the return value. However, with no output schema and no annotations, details about the exact hierarchy format and prerequisites are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the parameters are already well documented. The description adds only mild context about Unity/Godot and scene files, but does not significantly enrich meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Analiza') and resource ('escena o mapa actual del motor (Unity/Godot)'), clearly stating that the tool returns the object/node/component hierarchy. It is easily distinguished from siblings like ejecutar_suite_pruebas_motor or escribir_codigo_seguro.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to choose this tool over alternatives, nor any exclusions or prerequisites. The agent must infer from the sibling names that this is the inspection tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
v2.0.0- First observed
analizar_fugas_memoria_y_logs - First observed
ejecutar_suite_pruebas_motor - First observed
escribir_codigo_seguro - First observed
inspeccionar_jerarquia_escena
TDQS
Each tool targets a distinct concern: scene hierarchy inspection, test execution, safe code editing, and log/memory analysis. There is no meaningful overlap or risk of an agent selecting the wrong tool.
All tool names follow the same verb_noun pattern in lowercase snake_case: inspeccionar, ejecutar, escribir, analyzar. The naming is uniform and predictable.
Four tools is a reasonable size for a focused engine-runtime toolbox. Each tool appears to serve a distinct workflow, though the set could be slightly richer for a broad 'runtime' server.
The set covers scene inspection, test execution, code editing, and log analysis, but lacks direct runtime control and live state mutation features like play/pause, object property changes, or scene manipulation. These gaps limit what an agent can accomplish in an actual running game engine session.
Maintenance
Related MCP Connectors
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
Cloud-hosted MCP server for durable AI memory
MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for automated Godot 4 game testing. Enables launching games, capturing errors, and verifying changes from Claude Code or any MCP client.1MIT
- AlicenseNot gradedqualityAmaintenanceOpen-source MCP server connecting AI agents (Claude, Cursor, GitHub Copilot, Gemini, and more) to the Godot Editor and runtime (Godot 4.x, C#).235Apache 2.0
- FlicenseNot gradedqualityCmaintenanceAn in-editor MCP server that exposes Unity convenience tools to AI assistants, allowing them to read console logs, execute menu items, dump scene hierarchies, and take screenshots.-
- FlicenseNot gradedqualityCmaintenanceMCP server that connects Claude to Unreal Engine 5.8 via the official Remote Control API, enabling asset manipulation, actor control, level operations, and AI-powered 3D model generation (via Meshy) through natural language.-
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/Estiwito/Game-engine-runtime-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server