Skip to main content
Glama

🎮 Godot MCP Server

AI-Powered Development Assistant for Godot Game Engine

npm version npm downloads GitHub license Build Status

English | 中文

Transform your Godot development with intelligent AI assistance


🤔 The Problem

Working with Godot can be challenging when you need to:

  • ❌ Analyze complex project structures and scene hierarchies

  • ❌ Debug cryptic error messages and performance issues

  • ❌ Generate boilerplate code following Godot best practices

  • ❌ Understand legacy codebases or inherited projects

  • ❌ Optimize game performance without deep engine knowledge

Related MCP server: Godot MCP

✨ The Solution

Godot MCP Server bridges the gap between AI assistants and your Godot projects, providing:

  • Intelligent Project Analysis: Deep understanding of your game architecture

  • Smart Error Diagnosis: AI-powered debugging with actionable suggestions

  • Code Generation: Templates and patterns following Godot conventions

  • Performance Insights: Automated optimization recommendations

  • Architecture Guidance: Best practices for scalable game development


🚀 Quick Start

No installation required! Run directly:

npx kooix-godot-mcp --project /path/to/your/godot/project

Add to Claude Desktop

Add to your Claude Desktop config file:

Windows: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Linux: ~/.config/claude/claude_desktop_config.json

{
  "mcpServers": {
    "godot-mcp": {
      "command": "npx",
      "args": ["kooix-godot-mcp", "--project", "/path/to/your/godot/project"]
    }
  }
}

Note: Replace /path/to/your/godot/project with the actual path to your Godot project directory.

Alternative Installation Methods

npm install -g kooix-godot-mcp

Then use in Claude Desktop config:

{
  "mcpServers": {
    "godot-mcp": {
      "command": "godot-mcp",
      "args": ["--project", "/path/to/your/godot/project"]
    }
  }
}
npm install -g @telagod/kooix-godot-mcp
git clone https://github.com/telagod/kooix-godot-mcp.git
cd kooix-godot-mcp
npm install && npm run build
npm install -g .

🛠️ Features

📊 Project Intelligence

  • Project Configuration: Extract settings, autoloads, and metadata

  • Scene Architecture: Analyze node hierarchies and scene relationships

  • Script Analysis: Parse GDScript for methods, properties, and signals

  • Design Patterns: Identify architectural patterns and suggest improvements

🎨 Code Generation

  • Smart Templates: Generate classes following Godot conventions

    • 🎯 Player Controllers with input handling

    • 🏗️ Manager Singletons for game systems

    • 🖼️ UI Components (Menus, Dialogs, HUD)

    • 🎮 Game Objects with lifecycle management

🌐 Network Systems

  • Multiplayer Templates: Ready-to-use networking code

  • REST API Integration: HTTP client implementations

  • State Synchronization: Patterns for networked games

⚡ Performance Optimization

  • Performance Profiling: Identify bottlenecks in your code

  • Memory Management: Object pooling and resource optimization

  • Best Practices: Automated code quality suggestions

  • Performance Metrics: Real-time analysis of game systems

🐛 Debug & Troubleshooting

  • Error Analysis: Intelligent parsing of Godot logs

  • Crash Diagnostics: Root cause analysis for game crashes

  • Performance Issues: Memory leaks and frame rate problems

  • Code Quality: Static analysis and improvement suggestions


🎯 Use Cases

For Beginners

  • 📚 Learn Godot best practices through generated examples

  • 🔍 Understand existing project structures

  • 🎓 Get explanations for complex game development concepts

For Experienced Developers

  • 🚀 Accelerate development with smart code generation

  • 🔧 Debug complex issues with AI-powered analysis

  • 📈 Optimize performance with detailed recommendations

  • 🏗️ Architect scalable game systems

For Teams

  • 📋 Analyze and document legacy codebases

  • 🔄 Maintain consistent coding standards

  • 🤝 Onboard new team members faster

  • 📊 Generate project health reports


🤖 Available Tools

Tool

Description

Use Case

get-project-info

Extract project configuration and metadata

Understanding project structure

list-scenes

Analyze scene files and hierarchies

Scene management and organization

analyze-scene

Deep analysis of specific scene files

Debugging scene-related issues

list-scripts

Inventory all GDScript files

Code organization and refactoring

analyze-script

Parse script structure and patterns

Code quality and optimization

generate-script-template

Create common script patterns

Rapid development and consistency

analyze-game-architecture

High-level architectural analysis

System design and planning

generate-ui-component

Create UI component templates

Interface development

optimize-game-performance

Performance analysis and suggestions

Game optimization

generate-network-system

Networking code templates

Multiplayer development

debug-project-errors

Error log analysis and solutions

Troubleshooting and debugging

start-debug-session

Real-time debugging session

Interactive problem solving

analyze-debug-logs

Parse and interpret log files

Post-mortem analysis

get-performance-insights

Performance profiling and metrics

Optimization planning

check-project-health

Overall project quality assessment

Maintenance and planning


📖 Documentation & Examples

Quick Examples

extends CharacterBody2D
class_name PlayerController

@export var speed: float = 300.0
@export var health: int = 100

signal health_changed(new_health: int)
signal player_died

var _input_vector: Vector2
var _is_alive: bool = true

func _ready() -> void:
    initialize_player()

func _process(delta: float) -> void:
    if _is_alive:
        handle_input()
        update_movement(delta)

# ... complete implementation generated
extends Control
class_name GameHUD

@export var health_bar: ProgressBar
@export var score_label: Label
@export var timer_label: Label

func update_health(health: int) -> void:
    if health_bar:
        health_bar.value = health

# ... complete HUD system with animations

Advanced Usage


🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

git clone https://github.com/telagod/kooix-godot-mcp.git
cd kooix-godot-mcp
npm install
npm run dev

📄 License

MIT License - see LICENSE file for details.


🆘 Support


Made with ❤️ for the Godot Community

Supercharge your game development with AI assistance

Star on GitHub

Available Tools

17 tools
analyze_crash_dumpC

Analyze crash information and provide debugging guidance

ParametersJSON Schema
NameRequiredDescriptionDefault
crashInfoYesCrash dump or error information

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description does not disclose any behavioral traits beyond the basic function. It does not mention side effects, read-only nature, permission requirements, or output format. Since no annotations are provided, the description carries the full burden, which it fails to meet.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence that conveys the core purpose without extraneous words. It is appropriately concise for a simple tool, though it could include additional context without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of an output schema, the description should explain the expected output or guidance format. It also does not clarify how this tool differs from similar siblings like 'analyze_error_log'. The description is insufficient for the tool's complexity and context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides a description for the single parameter 'crashInfo' with 100% coverage. The tool description adds no additional meaning beyond what the schema states, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('analyze') and resource ('crash information'), indicating it provides debugging guidance. However, it does not explicitly distinguish from the sibling tool 'analyze_error_log', which may have overlapping functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'analyze_error_log' or 'diagnose_project'. There is no mention of prerequisites, limitations, or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_error_logC

Analyze Godot error logs and provide suggestions for fixes

ParametersJSON Schema
NameRequiredDescriptionDefault
logContentNoError log content to analyze (optional - will try to find log file)

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description is the sole source of behavioral cues. It implies a read-only analysis by stating 'provide suggestions for fixes', but it does not explicitly confirm non-destructive behavior, nor does it disclose if the tool modifies any state or requires specific permissions. The schema parameter note about 'will try to find log file' hints at file system interaction, but this is not clarified in the description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise but lacks structure. It does not front-load key details such as the input type or output format. While every word is necessary, the brevity results in under-specification rather than efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple interface (one optional parameter, no output schema), the description is too sparse. It fails to explain what 'suggestions for fixes' look like, how the log content is used, or whether there are any limits. The agent would need to infer significant details to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter 'logContent', which is already described as optional and will attempt to find a log file. The tool description adds no new semantic information beyond this, so it meets the baseline but does not enhance understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it analyzes Godot error logs and provides suggestions for fixes. It uses a specific verb-resource combination that distinguishes it from siblings like analyze_crash_dump (crash dumps) and analyze_script (scripts). However, it could be more explicit about its unique role versus similar tools like diagnose_project or suggest_fix.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives, such as suggest_fix or diagnose_project. The description lacks instructions on prerequisites, input expectations, or exclusions, leaving the agent without context for proper selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_game_architectureA

Analyze the overall game architecture including managers, scenes, and design patterns

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility for disclosing behavioral traits. It does not state whether the tool is read-only, has side effects, or requires a specific project state. The description only mentions the scope of analysis without any safety or behavioral information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single clear sentence that immediately conveys the tool's purpose. It is appropriately sized with no wasted words, and the key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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 should explain what the tool returns. It only describes the input scope (what it analyzes) but not the output format or structure. For a tool with no parameters, this is a significant gap that leaves the agent without expected return information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With zero parameters and 100% schema coverage, the baseline is 4. The description adds value by specifying what is included in the analysis (managers, scenes, design patterns), which compensates for the lack of parameters. This provides meaningful context beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it analyzes game architecture, including managers, scenes, and design patterns. It uses a specific verb and resource, and the mention of 'managers, scenes, and design patterns' distinguishes it from sibling tools like analyze_scene or analyze_script, which are more narrow in scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus its siblings (e.g., analyze_scene, analyze_script) or any contextual prerequisites. An agent would not know if this tool is appropriate for a given query without additional context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_sceneB

Analyze a specific scene file and return its structure

ParametersJSON Schema
NameRequiredDescriptionDefault
scenePathYesRelative path to the scene file

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must convey behavioral traits. It states the tool returns structure, implying a read-only operation, but does not confirm idempotency, side effects, or performance implications. Minimal but not misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence. It contains no wasted words, but could be slightly more informative without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that there is no output schema, the description should at least hint at what kind of structure is returned (e.g., list of objects, hierarchical). It also lacks any guidance on prerequisites or related tools. Incomplete for a tool with moderate complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (one parameter with description). The tool description adds no additional meaning beyond the schema's 'Relative path to the scene file'. With full coverage, baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Analyze') and the target resource ('scene file'), and specifies the outcome ('return its structure'). This distinguishes it from siblings like list_scenes (which lists scenes) and analyze_script (which analyzes scripts).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. Does not mention situations where it is preferred over list_scenes or analyze_script, nor any preconditions or compatibility.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

analyze_scriptB

Analyze a GDScript file and return its structure

ParametersJSON Schema
NameRequiredDescriptionDefault
scriptPathYesRelative path to the script file

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behaviors beyond the name. It states it returns structure but does not specify read-only status, side effects, permissions, or what exactly 'structure' entails (e.g., AST, class hierarchy).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no redundant words. However, it could be more informative without being wordy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should explain what 'structure' means (e.g., list of classes, functions, AST). The tool has multiple sibling analysis tools, so specificity is needed to disambiguate. The current description is too vague for an AI agent to know what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter. The description adds value by clarifying that it is a GDScript file (schema says 'script file'), narrowing the type. However, no additional formatting or validation details are given.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Analyze' and the resource 'GDScript file' with the outcome 'return its structure'. It is distinct from sibling tools like analyze_crash_dump or analyze_scene, which target different resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus similar siblings like analyze_game_architecture or analyze_scene. There is no mention of prerequisites, exclusions, or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

diagnose_projectC

Perform comprehensive project health diagnosis

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.7/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description provides no behavioral details (e.g., side effects, permissions, output format). A health diagnosis is likely read-only, but this is not stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, concise and front-loaded. However, it could be slightly more informative without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema or annotations, the description fails to explain what 'comprehensive health diagnosis' entails or what results are returned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has no parameters, so coverage is 100%; the description adds no param-specific value but is not required to.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description 'Perform comprehensive project health diagnosis' gives a clear verb and resource, but does not distinguish it from sibling analysis tools like analyze_crash_dump or analyze_error_log.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs. other analysis tools or get_project_info; the description lacks context-dependent recommendations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_network_systemC

Generate networking system templates for multiplayer games

ParametersJSON Schema
NameRequiredDescriptionDefault
networkTypeYesType of networking system to generate

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full responsibility for behavioral disclosure. It only says 'Generate networking system templates', without explaining what generating entails (e.g., file creation, project modification, network requirements). This leaves significant behavioral aspects unclear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence, but it is too brief to adequately cover the tool's purpose and behavior. It sacrifices completeness for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 parameter, no output schema), the description is minimally adequate. However, it does not explain what the generated templates contain or how they affect the project, leaving room for improvement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with the parameter 'networkType' described as 'Type of networking system to generate' in the schema. The description adds no further detail about the enum values or their implications, so it meets the baseline but adds no extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Generate' and the resource 'networking system templates', which distinguishes it from sibling generation tools like 'generate_script_template' and 'generate_ui_component'. However, it specifies 'for multiplayer games' which may not fully cover the 'rest_api' option in the enum, causing slight ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool vs alternatives, nor any prerequisites or exclusions. The description lacks context for appropriate usage scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_script_templateC

Generate a GDScript template for common patterns

ParametersJSON Schema
NameRequiredDescriptionDefault
templateTypeYesType of script template to generate
classNameYesName of the class
extendsClassNoBase class to extend fromNode

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and the description is a single sentence with no behavioral details. It does not disclose effects (e.g., whether it creates files), output format, or any prerequisites. For a tool with no annotations, the description fails to compensate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise at one sentence, front-loaded with the core action. However, it may be too minimal given the need for more detail in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With three parameters, no output schema, and no annotations, the description is too sparse. It does not explain what 'common patterns' are, how the output is delivered, or how to use the generated template effectively.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema covers 100% of parameters with descriptions. The description adds context that the templates are for 'common patterns,' which slightly enriches the enum list but does not provide additional semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it generates a GDScript template for common patterns. While it distinguishes from siblings like generate_network_system by specifying GDScript, it does not explicitly differentiate its scope from other pattern-specific tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. Siblings include generate_network_system and generate_ui_component, but the description offers no comparative context or scenarios for when generate_script_template is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_ui_componentB

Generate UI component templates for common game elements

ParametersJSON Schema
NameRequiredDescriptionDefault
componentTypeYesType of UI component to generate
componentNameYesName of the UI component
optionsNoAdditional options for component generation

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states 'Generate templates' without indicating whether this creates files, requires permissions, or has side effects. The mutation behavior is implied but not detailed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys the core purpose efficiently. It loses a point for not being slightly more detailed to aid selection.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and only a brief description, the tool lacks explanation of what templates are generated, format, or what options are available. For a generation tool with 3 parameters, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema; it simply repeats 'UI component templates' which is already captured. Parameters are well-described in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Generate' and the resource 'UI component templates', with scope 'for common game elements'. It distinguishes from sibling tools like 'generate_network_system' and 'generate_script_template' which target different domains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. While it implies use for UI component creation, there is no mention of prerequisites, context, or exclusions. Sibling tools exist but are not referenced.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_debug_sessionB

Get information about an active debug session

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYesDebug session ID to query

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description does not disclose behavioral details such as error handling, authentication requirements, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, very concise. However, it is too minimal and lacks necessary detail, so it does not earn a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no description of return values, the description is incomplete. The tool's output structure is left unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a description for sessionId. The tool description adds no additional meaning beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get information about an active debug session', using a specific verb and resource. It distinguishes from sibling tools like start_debug_session and stop_debug_session.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. There is no mention of prerequisites or context for invoking this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_project_infoB

Get Godot project information including configuration, autoloads, and metadata

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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 implies a read-only operation ('Get'), which is appropriate, but lacks detail on whether the tool has any side effects or prerequisites. Given the simplicity, it is acceptable but not fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is concise and front-loaded with the verb 'Get' and the resource 'Godot project information'. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the zero parameters and no output schema, the description is minimal but adequate for a simple query tool. However, it could mention the expected output format or structure to be more helpful. The context signals indicate no nested objects or enums, so the complexity is low.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so the baseline is 4. The description correctly indicates no arguments are needed, and the schema coverage is 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it retrieves Godot project information, specifying types like configuration, autoloads, and metadata. However, it does not differentiate from sibling tools like analyze_game_architecture or diagnose_project, which could have overlapping purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. Sibling tools have similar names and purposes, but the description provides no context for selecting this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_scenesA

List all scenes in the Godot project

ParametersJSON Schema
NameRequiredDescriptionDefault
includeDetailsNoInclude detailed scene structure information

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only states 'List all scenes' implying a read operation, but lacks details on performance, pagination, or any side effects. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, front-loaded sentence with no wasted words. Efficiently conveys the core functionality.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional param, no output schema), the description is minimally adequate but omits what the list contains (e.g., names, paths) or any return format, leaving gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter (includeDetails) already well-described. The description adds no additional meaning beyond the schema, meeting the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (List), resource (all scenes), and scope (in the Godot project). It distinguishes itself from siblings like analyze_scene or list_scripts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use or when not to use this tool. While the purpose is clear, there are no mentions of context, prerequisites, or alternatives among sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_scriptsB

List all GDScript files in the project

ParametersJSON Schema
NameRequiredDescriptionDefault
includeAnalysisNoInclude script analysis (methods, properties, etc.)

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It does not disclose behavioral traits such as read-only nature, performance implications, or scope of listing (e.g., all directories recursively).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is a single sentence with no wasted words. It is appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool with one optional parameter and no output schema, the description is adequate. It could mention whether listing is recursive or limited to root, but still covers the core functionality.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single boolean parameter. Description adds no extra meaning beyond the schema's description of includeAnalysis. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action 'List' and the resource 'all GDScript files', providing a specific verb and resource. It differentiates from sibling tools like 'list_scenes' which lists scenes, not scripts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'analyze_script' or 'list_scenes'. The description lacks context for usage decisions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

optimize_game_performanceA

Analyze project for performance issues and provide optimization recommendations

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It implies a read-only analysis by stating 'analyze... provide recommendations', but does not explicitly confirm no side effects or disclose any behavioral traits beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with zero wasted words. It is direct and front-loaded, effectively communicating the tool's purpose without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (no parameters, no output schema, no annotations), the description is minimally viable. It covers the basic purpose but lacks details about return values, execution impact, or integration with sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, and the empty schema is fully covered. According to the rubric, 0 parameters earns a baseline of 4, and the description appropriately adds no further meaning since there are no parameters to document.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the verb 'analyze' and resource 'project for performance issues', and it distinguishes from sibling tools like analyze_crash_dump and analyze_error_log by focusing on performance optimization.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like suggest_fix or other analyze tools. It lacks explicit context, prerequisites, or conditions for use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_debug_sessionB

Start a debug session to monitor errors and warnings

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdNoOptional custom session ID

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It fails to disclose behavioral implications such as whether starting a session collects data, impacts performance, or requires specific permissions. The term 'monitor' is vague.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It could be slightly more informative but remains efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no required parameters and no output schema, the description is minimally adequate. However, it lacks behavioral context that would help an agent understand the tool's full scope.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with one optional parameter. The description adds no additional meaning beyond the schema's minimal 'Optional custom session ID'. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'start', the resource 'debug session', and the purpose 'to monitor errors and warnings'. It effectively distinguishes from sibling tools like 'stop_debug_session' and 'get_debug_session'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or when it might be inappropriate to start a session.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stop_debug_sessionA

Stop an active debug session and get results

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYesDebug session ID to stop

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It mentions 'stop' and 'get results' but fails to disclose side effects (e.g., session destruction), required permissions, or what the results entail. Minimal behavioral insight 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with 8 words, front-loaded with action and result. No superfluous information, highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple tool with one parameter and no output schema. However, it lacks context on prerequisites (e.g., session must be active), error conditions, and specific result details. Sibling tools suggest additional context could be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% coverage with a clear parameter description. The tool description does not add additional meaning beyond the schema, which is acceptable. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action 'Stop' and resource 'debug session' with the added result 'get results'. It effectively distinguishes from siblings like start_debug_session and get_debug_session.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage when there is an active debug session to stop, but does not explicitly state when to use it versus alternatives like start_debug_session or get_debug_session. No exclusions or prerequisites provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suggest_fixC

Get specific fix suggestions for error messages

ParametersJSON Schema
NameRequiredDescriptionDefault
errorMessageYesThe error message to analyze
contextNoAdditional context about the error (optional)

TDQS

C2.8/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must fully convey behavioral traits. It fails to mention anything about the nature of suggestions, whether it modifies anything, or any side effects. This is a critical gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, brief sentence, which is concise and front-loaded. However, it may be under-specified for the agent's needs, but conciseness itself is not penalized heavily.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description should cover what the tool returns. It does not, leaving the agent without information on the format or details of fix suggestions. Incomplete for a tool with 2 parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for both parameters. The tool description adds no extra meaning beyond what the schema already provides. Baseline 3 applies as it does not detract but adds no value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Get specific fix suggestions for error messages'. It uses a specific verb ('get') and resource ('fix suggestions for error messages'), and distinguishes from siblings like analyze_error_log and analyze_crash_dump which are analysis-only.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. The description does not indicate when to use this tool versus alternatives, nor does it mention any prerequisites or context for ideal use.

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.

  1. 17 tool updatesv1.1.17
    • First observedanalyze_crash_dump
    • First observedanalyze_error_log
    • First observedanalyze_game_architecture
    • First observedanalyze_scene
    • First observedanalyze_script
    • First observeddiagnose_project
    • First observedgenerate_network_system
    • First observedgenerate_script_template
    • First observedgenerate_ui_component
    • First observedget_debug_session
    • First observedget_project_info
    • First observedlist_scenes
    • First observedlist_scripts
    • First observedoptimize_game_performance
    • First observedstart_debug_session
    • First observedstop_debug_session
    • First observedsuggest_fix

TDQS

A3.5/5.0

Scored across 17 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: analyze tools target different aspects (crash, error, architecture, scene, script), generation tools cover different templates, debug session tools are distinct lifecycle functions, and list tools target different resources. No significant overlap.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (e.g., analyze_crash_dump, generate_script_template), making them predictable and easy to understand.

Tool Count5/5

With 17 tools, the set is well-scoped for a Godot development assistant, covering analysis, generation, debugging, and project information without being overwhelming.

Completeness4/5

The tool set covers analysis, generation, and debugging comprehensively, but lacks creation/modification tools for scenes and scripts, and there is no tool to apply suggested fixes or modify project configuration, leaving minor gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with Godot game projects through real-time error detection, automated testing, code analysis, and safe git-based patching. Provides comprehensive project context and development workflow automation for Godot developers.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides a comprehensive integration between LLMs and the Godot Engine, enabling AI assistants to intelligently manipulate project files, scripts, and the live editor. It supports advanced workflows including version-aware documentation querying, automated E2E game testing, and real-time visual context capture.
    10 npm
    26
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Bridges AI assistants with the Godot 4 editor, exposing tools to inspect scenes, create nodes, modify properties, capture screenshots, debug scripts, and manage project files via the Model Context Protocol.
    -