Godot MCP
Godot MCP
**Coding-Solo/godot-mcp**의 커밋
1209744(MIT)에서 포크되었습니다. 이 포크는 @jamesdowzard가 독립적으로 유지 관리하며, Android 내보내기 검증기 지원 및 기타 AI 친화적인 도구를 추가했습니다. 업스트림 포크 관계는 git 수준에서 단절되었으며, 저작권/귀속은 MIT 라이선스에 따라 보존됩니다.
((((((( (((((((
((((((((((( (((((((((((
((((((((((((( (((((((((((((
(((((((((((((((((((((((((((((((((
(((((((((((((((((((((((((((((((((
((((( ((((((((((((((((((((((((((((((((((((((((( (((((
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((((((((((@@@@@@@(((((((((((((((((((((((((((@@@@@@@(((((((((((
(((((((((@@@@,,,,,@@@(((((((((((((((((((((@@@,,,,,@@@@(((((((((
((((((((@@@,,,,,,,,,@@(((((((@@@@@(((((((@@,,,,,,,,,@@@((((((((
((((((((@@@,,,,,,,,,@@(((((((@@@@@(((((((@@,,,,,,,,,@@@((((((((
(((((((((@@@,,,,,,,@@((((((((@@@@@((((((((@@,,,,,,,@@@(((((((((
((((((((((((@@@@@@(((((((((((@@@@@(((((((((((@@@@@@((((((((((((
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
@@@@@@@@@@@@@((((((((((((@@@@@@@@@@@@@((((((((((((@@@@@@@@@@@@@
((((((((( @@@(((((((((((@@(((((((((((@@(((((((((((@@@ (((((((((
(((((((((( @@((((((((((@@@(((((((((((@@@((((((((((@@ ((((((((((
(((((((((((@@@@@@@@@@@@@@(((((((((((@@@@@@@@@@@@@@(((((((((((
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
(((((((((((((((((((((((((((((((((((((((((((((((((((((
(((((((((((((((((((((((((((((((((((((((((((((((
(((((((((((((((((((((((((((((((((
/$$ /$$ /$$$$$$ /$$$$$$$
| $$$ /$$$ /$$__ $$| $$__ $$
| $$$$ /$$$$| $$ \__/| $$ \ $$
| $$ $$/$$ $$| $$ | $$$$$$$/
| $$ $$$| $$| $$ | $$____/
| $$\ $ | $$| $$ $$| $$
| $$ \/ | $$| $$$$$$/| $$
|__/ |__/ \______/ |__/Godot 게임 엔진과 상호작용하기 위한 MCP(Model Context Protocol) 서버입니다.
소개
Godot MCP를 사용하면 AI 에이전트가 Godot 에디터를 실행하고, 프로젝트를 구동하며, 디버그 출력을 캡처하고, 프로젝트 실행을 제어할 수 있습니다. 이러한 직접적인 피드백 루프는 에이전트가 실제 Godot 프로젝트에서 무엇이 작동하고 무엇이 작동하지 않는지 이해하도록 도와주어, 더 나은 코드 생성 및 디버깅 지원을 가능하게 합니다.
Related MCP server: Gear
주요 기능
Godot 에디터 실행: 특정 프로젝트에 대한 Godot 에디터 열기
Godot 프로젝트 실행: 디버그 모드에서 Godot 프로젝트 실행
디버그 출력 캡처: 콘솔 출력 및 오류 메시지 검색
실행 제어: 프로그래밍 방식으로 Godot 프로젝트 시작 및 중지
Godot 버전 확인: 설치된 Godot 버전 검색
Godot 프로젝트 목록: 지정된 디렉토리에서 Godot 프로젝트 찾기
프로젝트 분석: 프로젝트 구조에 대한 상세 정보 획득
씬 관리:
지정된 루트 노드 유형으로 새 씬 생성
사용자 정의 속성을 사용하여 기존 씬에 노드 추가
Sprite2D 노드에 스프라이트 및 텍스처 로드
3D 씬을 GridMap용 MeshLibrary 리소스로 내보내기
변형 생성 옵션을 포함하여 씬 저장
UID 관리 (Godot 4.4 이상):
특정 파일의 UID 가져오기
리소스를 다시 저장하여 UID 참조 업데이트
요구 사항
시스템에 설치된 Godot Engine
Node.js (>=18.0.0) 및 npm
MCP를 지원하는 AI 에이전트
빠른 시작
Claude Code
claude mcp add godot -- npx @coding-solo/godot-mcp이제 끝입니다. Claude Code를 다시 시작하면 Godot MCP 도구를 사용할 수 있습니다.
환경 변수 사용 시:
claude mcp add godot -e GODOT_PATH=/path/to/godot -e DEBUG=true -- npx @coding-solo/godot-mcpCline MCP 설정 파일(~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json)에 추가하세요:
{
"mcpServers": {
"godot": {
"command": "npx",
"args": ["@coding-solo/godot-mcp"],
"env": {
"DEBUG": "true"
},
"disabled": false,
"autoApprove": [
"launch_editor",
"run_project",
"get_debug_output",
"stop_project",
"get_godot_version",
"list_projects",
"get_project_info",
"create_scene",
"add_node",
"load_sprite",
"export_mesh_library",
"save_scene",
"get_uid",
"update_project_uids"
]
}
}
}Cursor UI 사용:
Cursor 설정 > 기능(Features) > MCP로 이동
+ Add New MCP Server 버튼 클릭
양식 작성:
이름:
godot유형:
command명령어:
npx @coding-solo/godot-mcp
"Add" 클릭
MCP 서버 카드 우측 상단의 새로고침 버튼을 눌러 도구 목록을 불러와야 할 수 있습니다.
프로젝트별 설정 사용:
프로젝트 디렉토리에 .cursor/mcp.json 파일을 생성하세요:
{
"mcpServers": {
"godot": {
"command": "npx",
"args": ["@coding-solo/godot-mcp"],
"env": {
"DEBUG": "true"
}
}
}
}MCP 호환 클라이언트의 경우 다음 설정을 사용하세요:
{
"mcpServers": {
"godot": {
"command": "npx",
"args": ["@coding-solo/godot-mcp"],
"env": {
"GODOT_PATH": "/path/to/godot",
"DEBUG": "true"
}
}
}
}환경 변수
변수 | 설명 |
| Godot 실행 파일 경로 (자동 감지보다 우선함) |
| 상세 서버 측 디버그 로깅을 활성화하려면 |
git clone https://github.com/Coding-Solo/godot-mcp.git
cd godot-mcp
npm install
npm run build그런 다음 npx 대신 MCP 클라이언트가 build/index.js를 가리키도록 설정하세요.
아키텍처
Godot MCP 서버는 복잡한 작업을 위해 번들된 GDScript 방식을 사용합니다:
직접 명령어: 에디터 실행이나 프로젝트 정보 가져오기와 같은 간단한 작업은 Godot의 내장 CLI 명령어를 직접 사용합니다.
번들 작업 스크립트: 씬 생성이나 노드 추가와 같은 복잡한 작업은 모든 작업을 처리하는 단일 포괄적 GDScript 파일(
godot_operations.gd)을 사용합니다.
번들된 스크립트는 작업 유형과 매개변수를 JSON으로 받아, 작업마다 임시 파일을 생성하지 않고도 유연하고 동적인 작업 실행을 가능하게 합니다.
문제 해결
Godot을 찾을 수 없음:
GODOT_PATH환경 변수를 Godot 실행 파일 경로로 설정하세요.연결 문제: 서버가 실행 중인지 확인하고 AI 어시스턴트를 다시 시작하세요.
잘못된 프로젝트 경로: 경로가
project.godot파일이 포함된 디렉토리를 가리키는지 확인하세요.빌드 문제:
npm install을 실행하여 모든 종속성이 설치되었는지 확인하세요.
MCP 서버가 Cursor 설정(설정 > MCP)에 표시되고 활성화되어 있는지 확인하세요.
MCP 도구는 에이전트 채팅 프로필(Cursor Pro 또는 Business 구독)에서만 실행할 수 있습니다.
"Yolo 모드"를 사용하여 MCP 도구 요청을 자동으로 실행하세요.
라이선스
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.
Available Tools
14 toolsadd_nodeB
Add a node to an existing scene
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Path to the scene file (relative to project) | |
| parentNodePath | No | Path to the parent node (e.g., "root" or "root/Player") | |
| nodeType | Yes | Type of node to add (e.g., Sprite2D, CollisionShape2D) | |
| nodeName | Yes | Name for the new node | |
| properties | No | Optional properties to set on the node |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose side effects, but it only says 'Add a node.' It does not state whether the scene file is modified in place, whether saving is required, whether the operation is reversible, or any permissions needed. This is a significant gap 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?
The description is a single, clear sentence without redundancy. It is appropriately concise, though it sacrifices content for brevity. The structure is fine, and the main purpose is front-loaded.
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?
Given the tool has 6 parameters, nested objects, no output schema, and no annotations, the description is far from complete. It does not explain the return value, whether the scene is saved automatically, or the relationship between parameters (e.g., parentNodePath). The agent lacks essential context to use the tool correctly.
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 all parameters have descriptions in the input schema. The description adds no additional semantic value beyond the schema, which is acceptable given the high coverage. The baseline of 3 applies.
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 clearly states the action (Add) and the resource (a node to an existing scene). It distinguishes itself from sibling tools like create_scene and save_scene by focusing on modifying an existing scene rather than creating or saving one.
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 given on when to use this tool versus alternatives. It does not mention that it modifies an existing scene and might require save_scene afterward, nor does it contrast with create_scene. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_sceneA
Create a new Godot scene file
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Path where the scene file will be saved (relative to project) | |
| rootNodeType | No | Type of the root node (e.g., Node2D, Node3D) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description alone must communicate side effects. It only says 'create' without disclosing whether it overwrites an existing file, what happens on failure, or what the return value is. This is minimal and leaves important behavioral details unknown.
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, succinct sentence that conveys the core functionality without extraneous 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.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the primary action but lacks details about return values or error behavior, and it does not clarify whether the scene is saved immediately or merely created in memory. Given the simplicity of the operation, it is adequate but not fully 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?
The schema provides descriptions for all three parameters (projectPath, scenePath, rootNodeType), giving full coverage. The tool description itself adds no extra clarity, so it stays at the baseline expected for high schema coverage.
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 clearly states the action ('Create') and the resource ('a new Godot scene file'), making the purpose unambiguous. It also implicitly distinguishes itself from siblings like 'save_scene' (which saves an existing scene) and 'add_node' (which adds nodes to a scene).
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 for creating new scene files but does not explicitly state when to use this over alternatives like save_scene. No exclusions or conditions are given, leaving the agent to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_mesh_libraryB
Export a scene as a MeshLibrary resource
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Path to the scene file (.tscn) to export | |
| outputPath | Yes | Path where the mesh library (.res) will be saved | |
| meshItemNames | No | Optional: Names of specific mesh items to include (defaults to all) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states the action without mentioning side effects such as file creation, overwriting behavior, or read-only implications. The burden falls on the description, which is insufficient.
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, concise sentence with no redundant words, effectively conveying the tool's purpose.
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?
The tool has no output schema and no annotations, yet the description omits details about return values, error handling, or overwrite semantics. While acceptable for a simple export operation, these gaps prevent a higher score.
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?
The input schema already covers all parameters with clear descriptions, including file extensions and the default behavior of meshItemNames. The description adds no additional context beyond the schema, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Export' and the resource 'a scene as a MeshLibrary resource', precisely distinguishing it from sibling tools like create_scene or save_scene.
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 explicit guidance on when to use this tool versus alternatives. It does not mention scenarios where export_mesh_library is preferred over save_scene or other scene-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_debug_outputB
Get the current debug output and errors
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavior. It merely states the action without mentioning side effects, requirements (e.g., running project), return format, or error behavior. The word 'Get' implies a read operation, but this is not explicit and no other behavioral traits are disclosed.
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, direct sentence that efficiently communicates the core function with no filler. It is appropriately sized for a zero-parameter tool, though it sacrifices completeness for brevity.
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?
Despite the tool's simplicity, the description omits important context such as when debug output is available, whether a project must be running, and the format of the returned output. With no annotations or output schema, these gaps make the description incomplete for an agent deciding to invoke it.
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?
The tool has zero parameters, so the input schema already fully covers parameter semantics. The description adds no parameter information, but none is needed; baseline 4 applies.
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 verb ('Get') and resource ('current debug output and errors'), clearly identifying the tool's function. It does not explicitly differentiate from sibling getters like get_project_info or get_uid, but the resource is unique enough that an agent can infer its purpose. However, 'current' is ambiguous (current project? current session?), so not a 5.
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 provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., project running) or exclusion cases, and there is no reference to sibling tools like run_project or stop_project. An agent is left without context on when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_godot_versionA
Get the installed Godot version
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states what it does, without mentioning side effects, error handling (e.g., if Godot is not installed), or whether any configuration is modified. For a simple getter this is a gap, but the lack of side effects is implicit.
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, clear sentence with no redundancy. The information is front-loaded and every word earns its place. Perfectly concise.
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 zero-parameter getter with no output schema, the description is largely sufficient. It identifies what is retrieved, but does not explicitly describe the return format (e.g., version string) or behavior if Godot is absent. Given the simplicity, this is a minor omission.
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?
The tool has zero parameters, and the input schema confirms this with an empty properties object. Per the rubric, 0 parameters warrants a baseline of 4. The description does not need to add parameter details, and it correctly does not.
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 clearly states the action ('Get') and the resource ('installed Godot version'). It is specific and distinguishes itself from sibling tools like add_node or launch_editor, which are about different operations. No ambiguity.
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 does not explicitly mention when to use this tool versus alternatives. However, given its singular purpose and the lack of overlapping sibling getters, the usage is implied. There is no guidance on prerequisites or conditions, which could be added but is not critical.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_project_infoB
Retrieve metadata about a Godot project
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The verb 'retrieve' implies a read-only operation, but the description does not explicitly state that it has no side effects or what permissions it requires. Since there are no annotations, the description carries the full burden and only partially covers the behavior.
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 concise sentence with no unnecessary words or repetition. It is well-structured and easy to parse quickly.
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 or description of what metadata is returned. The term 'metadata' is vague and does not specify whether it returns project configuration, version info, or something else, leaving the agent without enough context to know what to expect.
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?
The parameter 'projectPath' is described as 'Path to the Godot project directory', which is clear and covers the basic meaning. However, since the schema already provides this description, the tool description adds no additional detail about path format, required existence, or edge cases.
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 clearly states the action 'retrieve' and the target 'metadata about a Godot project', making the tool's basic purpose easy to understand. However, it does not explicitly differentiate itself from sibling tools like get_godot_version or get_uid, which could also be considered metadata retrieval.
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 gives no guidance on when to use this tool versus the sibling tools. There is no mention of scenarios, prerequisites, or exclusions, so an agent has little context for choosing this over more specific retrieval tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_uidB
Get the UID for a specific file in a Godot project (for Godot 4.4+)
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| filePath | Yes | Path to the file (relative to project) for which to get the UID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits such as read-only nature, permissions required, or side effects. The tool could be assumed to be a simple getter, but this is not explicitly stated, leaving the behavior opaque.
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, concise sentence with no unnecessary words. It efficiently conveys the tool's purpose and relevant version constraint.
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?
The tool is simple, and the description covers its basic purpose. However, it does not mention the return format, potential errors, or edge cases. While acceptable for a straightforward getter, it leaves some context incomplete.
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?
The input schema covers both parameters with clear descriptions, achieving 100% coverage. The tool description itself adds no extra meaning beyond the schema, so the baseline score of 3 is 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 clearly states the tool's function: getting the UID for a specific file in a Godot project. It also specifies the Godot version constraint (4.4+), making it unambiguous and distinct from sibling tools like update_project_uids.
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 lacks explicit guidance on when to use this tool versus alternatives. While the purpose is obvious, there is no mention of scenarios where this tool is preferred or where other tools (e.g., update_project_uids) should be used instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
launch_editorC
Launch Godot editor for a specific project
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the action without any side effects, blocking behavior, or requirements (e.g., whether it opens a new window, requires an existing project, or modifies any files). This is insufficient for an agent to predict the tool's impact.
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 extremely concise—a single sentence with no filler. However, it is under-specified rather than efficiently comprehensive. It lacks necessary details about behavior and usage, so while it is short, it doesn't earn its place by providing full value. A 3 reflects the balance between brevity and adequacy.
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?
Given the tool has one parameter, no output schema, and no annotations, the description should provide enough context to call it correctly. It states the action but omits critical information such as whether the editor must be installed, whether the path must point to a valid project, and whether the call is blocking or returns immediately. This is incomplete for an agent to use confidently.
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 parameter projectPath is fully documented in the schema. The description adds no additional semantics beyond the action, but the schema already explains the parameter. Baseline 3 is appropriate; the description doesn't harm, but it also doesn't enhance the parameter meaning.
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 clearly states the action (launch) and the resource (Godot editor) for a specific project. It distinguishes implicitly from siblings like run_project (which runs the project rather than opening the editor) and list_projects (which lists projects). However, it doesn't explicitly name the alternative or the selection criteria, so it's clear but not maximally differentiating.
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 on when to use this tool versus alternatives such as run_project. The description does not mention any prerequisites, use cases, or conditions that would lead an agent to select this tool over its siblings. The agent must infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsA
List Godot projects in a directory
| Name | Required | Description | Default |
|---|---|---|---|
| directory | Yes | Directory to search for Godot projects | |
| recursive | No | Whether to search recursively (default: false) |
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 of behavioral disclosure. It only restates the basic listing action and adds no details about whether the operation is read-only, how Godot projects are identified, what the return format is, or how the recursive parameter behaves in practice.
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, front-loaded sentence with no filler or redundant wording. Every word earns its place, and the core action and scope are immediately visible.
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 listing tool with two parameters, the description is minimally adequate: the schema covers parameter meanings. However, with no output schema and no annotations, the description does not clarify what the returned list contains (e.g., project names, paths) or whether directories without project.godot are ignored, leaving some contextual gaps.
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 both parameters are already documented clearly in the schema ('Directory to search for Godot projects' and 'Whether to search recursively (default: false)'). The description adds no additional parameter semantics beyond what the schema already provides, so the baseline score of 3 is 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 ('List') with a clear resource ('Godot projects') and a scoping location ('in a directory'). It is unambiguous and easily distinguished from sibling tools like get_project_info or run_project, which target a single project or perform an action.
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 phrase 'in a directory' implies the tool is for project discovery in a filesystem location, which gives some usage context. However, it does not explicitly state when to prefer this tool over alternatives, nor does it mention any exclusions or follow-up tools like get_project_info for inspecting a specific project.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load_spriteC
Load a sprite into a Sprite2D node
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Path to the scene file (relative to project) | |
| nodePath | Yes | Path to the Sprite2D node (e.g., "root/Player/Sprite2D") | |
| texturePath | Yes | Path to the texture file (relative to project) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing side effects. It only states that a sprite is loaded into a node, without mentioning whether this modifies the scene file, requires a saved scene, returns a value, or has any persistent effects. This lack of detail leaves significant ambiguity about the tool's actual behavior.
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, focused sentence with no redundant words or unnecessary details. It is concise and front-loaded, clearly stating the core action without distraction.
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?
Given the lack of an output schema and the mutation-like nature of the action, the description is insufficiently contextual. It does not explain what 'load' means operationally (e.g., sets a texture property, replaces an existing asset), whether the scene must be saved, or what the expected result is. This leaves gaps for an agent attempting to use the tool correctly.
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%—all four parameters have individual descriptions explaining their meaning (e.g., 'Path to the texture file (relative to project)'). The tool description itself adds no extra parameter information, so the baseline score of 3 applies.
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 clearly states the action (load) and the target resource (a sprite into a Sprite2D node), making the tool's primary purpose understandable. It does not explicitly contrast with sibling tools like add_node, but the specific action is distinct enough for basic identification.
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 provides no guidance on when to use this tool versus alternatives, such as add_node or other scene modification tools. It omits any contextual conditions or prerequisites, leaving the agent to infer appropriate usage solely from the action description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_projectC
Run the Godot project and capture output
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scene | No | Optional: Specific scene to run |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry the behavioral burden. It mentions 'capture output' but does not disclose side effects, blocking behavior, or whether the process continues running after invocation. The name 'run_project' implies execution but lacks specifics about what the user will observe.
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 concise sentence with no filler or redundant information. It efficiently conveys the primary purpose without unnecessary words.
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?
No output schema is present, and the description does not clarify what 'capture output' means—whether it returns logs, exit codes, or streams. It also omits whether the tool blocks until the project closes or returns immediately. This leaves the agent uncertain about the expected behavior and return format.
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?
The schema already provides full coverage for both parameters with their descriptions. The tool description adds no extra semantic detail beyond the schema, so it neither enhances nor detracts from the schema's clarity. The baseline of 3 is 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 states a clear action ('Run') and object ('the Godot project'), plus a specific outcome ('capture output'). It is distinct from siblings like `launch_editor` or `stop_project`, though the phrase 'capture output' could be more detailed about what output is captured.
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 use this tool versus alternatives. It does not mention prerequisites, like whether the project must exist or if the Godot editor must be closed, nor does it explain the effect of the optional 'scene' parameter in context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_sceneC
Save changes to a scene file
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory | |
| scenePath | Yes | Path to the scene file (relative to project) | |
| newPath | No | Optional: New path to save the scene to (for creating variants) |
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 of behavioral disclosure. It only states that the tool mutates/saves a scene file, not whether it overwrites the existing file, how newPath behaves beyond the schema's variant hint, or what happens on failure.
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 short sentence with no filler or redundant content; the core action is front-loaded. It is appropriately concise, even though it sacrifices detail that is captured in other dimensions.
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?
With no annotations and no output schema, the description should compensate but does not; it omits overwrite behavior, success/failure signaling, and any preconditions. The schema covers parameters, so the tool is not wholly underspecified, but the description alone is insufficient for confident 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%: projectPath and scenePath are described as paths, and newPath is explicitly documented as an optional path for creating variants. The description adds no additional parameter meaning, so the baseline 3 applies.
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 'save' with the resource 'scene file,' clearly indicating a persistence operation. It does not explicitly differentiate from create_scene, though 'save changes' implies an existing scene, so it stops short of full sibling distinction.
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 given on when to use this tool versus create_scene or other scene tools, and no prerequisites or exclusions are provided. The word 'changes' implies use after modifications, but that is not actionable enough to help an agent choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stop_projectA
Stop the currently running Godot project
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 of behavioral disclosure. It only states the action 'Stop' without explaining side effects (e.g., unsaved changes, process termination), error conditions (no running project), or whether it's reversible. For a destructive action, this is a significant gap.
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, succinct sentence that directly states the action and target. It's front-loaded with the verb and resource, with zero redundancy or fluff.
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 tool with no parameters and no output schema, the description adequately covers the core action. However, it doesn't mention what happens if no project is running or whether the tool returns any feedback, which would be useful but not critical for a stop action. The description is mostly complete given its simplicity.
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?
The tool has zero parameters, and the schema is empty (100% coverage). The description doesn't need to explain any parameters, and the baseline for 0-parameter tools is 4. It adds no extra parameter meaning because none exist.
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 ('Stop') and a specific resource ('the currently running Godot project'). It clearly distinguishes from siblings like run_project (which starts) and get_debug_output (which retrieves output), so an agent can easily infer its purpose.
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 (when you need to stop a running project) but does not explicitly mention when not to use it or alternatives. Since it's a simple action with no parameters, the context is clear, but it doesn't provide explicit routing like naming run_project as the counterpart.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_project_uidsB
Update UID references in a Godot project by resaving resources (for Godot 4.4+)
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the Godot project directory |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It mentions resaving resources, implying file modifications, but does not disclose potential side effects, reversibility, permissions needed, or whether it may alter many files. The version requirement is useful but insufficient 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?
The description is a single, compact sentence that front-loads the primary action and resource. It avoids extraneous detail and is appropriately sized for a simple tool.
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 one parameter, no output schema, and no annotations, the description is minimally adequate. It explains what it does and the version constraint, but omits guidance on when to use it and potential side effects. Given the simplicity, it is not severely incomplete but lacks context an agent might need to decide correctly.
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?
The single parameter has 100% schema coverage with a clear description ('Path to the Godot project directory'). The tool description adds no additional meaning beyond the schema, so it meets the baseline for a fully documented parameter but does not enhance understanding further.
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 verb ('Update'), a resource ('UID references in a Godot project'), and a method ('by resaving resources'). It clearly identifies the tool's function and includes a version constraint (Godot 4.4+), distinguishing it from sibling tools like get_uid that retrieve UIDs.
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 provides no explicit guidance on when to use this tool versus alternatives. It only mentions a version requirement, but does not explain scenarios (e.g., after moving or renaming files) or when to prefer other project tools. The intended use is implied but not stated.
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.
14 tool updates
v0.2.0- First observed
add_node - First observed
create_scene - First observed
export_mesh_library - First observed
get_debug_output - First observed
get_godot_version - First observed
get_project_info - First observed
get_uid - First observed
launch_editor - First observed
list_projects - First observed
load_sprite - First observed
run_project - First observed
save_scene - First observed
stop_project - First observed
update_project_uids
TDQS
Scored across 14 tools
Most tools have distinct purposes targeting different aspects of Godot project management, scene manipulation, and debugging. However, there is some potential overlap between 'create_scene' and 'add_node' as both involve scene creation/modification, and 'get_debug_output' and 'run_project' both relate to runtime output, though their specific focuses differ enough to avoid major confusion.
The naming follows a consistent verb_noun pattern throughout (e.g., 'add_node', 'create_scene', 'get_debug_output'), which is clear and predictable. There are minor deviations like 'export_mesh_library' using a compound noun and 'update_project_uids' being slightly longer, but overall the convention is well-maintained and readable.
With 14 tools, the count is well-scoped for a Godot MCP server, covering project management, scene editing, debugging, and runtime operations. Each tool appears to earn its place by addressing specific needs in the Godot development workflow, without being overly sparse or bloated.
The tool set provides comprehensive coverage for core Godot operations, including project listing, scene CRUD, debugging, and runtime management. Minor gaps exist, such as the lack of tools for editing node properties directly or handling more advanced resource types, but agents can likely work around these with the available tools for most common tasks.
Maintenance
Related MCP Connectors
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
MCP server exposing the Backtest360 engine API as tools for AI agents.
Official MCP server for Agentwork — delegate tasks to AI agents with human-in-the-loop
An MCP server that gives your AI access to the source code and docs of all public github repos
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that gives AI assistants direct control over Godot 4 game development projects. It enables launching the editor, running projects, creating and editing scenes, writing GDScript, and inspecting assets through natural language commands.4413 npm4MIT
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to directly run, inspect, modify, and debug Godot game development projects through 110+ tools covering scenes, scripts, resources, runtime debugging, and asset management.3321 npm2MIT
- AlicenseBqualityDmaintenanceAn enhanced MCP server for interacting with the Godot game engine, enabling AI assistants to launch the editor, run projects, manage scenes and nodes, and handle scripts.16MIT
- AlicenseAqualityBmaintenanceAn MCP server that lets AI coding agents work on Godot 4 projects, including reading and editing scenes, writing and validating GDScript, running the game, and capturing screenshots.2516 npmMIT