MCP server for automated Godot 4 game testing — launch, run, capture errors
Project description
godot-test-mcp
MCP server for automated Godot 4 game testing. Launch games, capture errors, verify changes — all from Claude Code or any MCP client.
Features (Phase 1)
- Launch & Stop: Run Godot projects in headless or windowed mode
- Error Capture: Parse and categorize GDScript errors, parse errors, resource failures
- One-Shot Verify:
godot_run_and_check— launch, run N seconds, report PASS/FAIL - Headless Import: Quick parse-check without running the game
Quick Start
-
Clone:
git clone https://github.com/hyunlord/godot-test-mcp.git
-
Install:
cd godot-test-mcp pip install -e .
-
Add to your Godot project's
.mcp.json:{ "mcpServers": { "godot-test": { "command": "python3", "args": ["/path/to/godot-test-mcp/src/server.py"], "env": { "GODOT_PROJECT_PATH": ".", "GODOT_PATH": "" } } } }
-
In Claude Code:
godot_run_and_check(seconds=15)
Tools
| Tool | Description |
|---|---|
godot_launch |
Start Godot (headless/windowed/editor) |
godot_stop |
Stop running Godot process |
godot_get_errors |
Get parsed errors/warnings |
godot_get_output |
Get raw stdout/stderr |
godot_run_and_check |
Launch → run N sec → collect errors → PASS/FAIL |
godot_headless_import |
Quick --headless --quit parse check |
godot_get_status |
Check if Godot is running/stopped/crashed |
Environment Variables
| Variable | Description |
|---|---|
GODOT_PATH |
Path to Godot executable (auto-detected if empty) |
GODOT_PROJECT_PATH |
Path to Godot project root (auto-detected if empty) |
Godot Auto-Detection
If GODOT_PATH is not set, the server searches in order:
- macOS:
/Applications/Godot.app/Contents/MacOS/Godot,~/Applications/... - Linux:
/usr/bin/godot, snap/flatpak paths - Windows:
C:\Godot\Godot.exe,%LOCALAPPDATA%\Godot\... PATHlookup viawhich godot
Project Auto-Detection
If GODOT_PROJECT_PATH is not set, the server searches for project.godot starting from the current directory and walking up to 5 parent directories.
Roadmap
- Phase 1: Launch + error capture (current)
- Phase 2: Tick control + entity state query (WebSocket)
- Phase 3: Cheat commands + assertions
- Phase 4: Rust/GPU profiling
- Phase 5: CI/CD integration
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file godot_test_mcp-0.1.0.tar.gz.
File metadata
- Download URL: godot_test_mcp-0.1.0.tar.gz
- Upload date:
- Size: 18.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f24b3d89f7cfdfcf4f86fcec4dfa051eecd9cd0fd99b83dd2341ed38eca27255
|
|
| MD5 |
e25b3cbfc27feaebb6560df82ad9eb72
|
|
| BLAKE2b-256 |
abe6cf5d143ec285b88c63ba9a3bcb59c471f183f2b9668ff491d2d711462210
|
File details
Details for the file godot_test_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: godot_test_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c79828c22794ff5e71d2c20ef04369591b80ab6c758c3ac4ae38f76986ccc2e
|
|
| MD5 |
4af1c1bfca6f80588b55bd20a026ee63
|
|
| BLAKE2b-256 |
c32595e836e0be50efc167383b356c863adbfbe78733f6ac9c50a5258c1bd19c
|