godot-correctness-mcp
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
godot-correctness-mcp
Offline static correctness MCP server for Godot 4.x GDScript projects
A Model Context Protocol server (and gdcorrect CLI) that statically checks the
correctness of Godot 4.x GDScript projects. It runs headless, offline, and in
CI — it never launches the editor, never needs a running Godot instance, and
never touches the network at runtime.
Three pillars
GDScript linting — anti-pattern detection via a committed tree-sitter grammar (WASM). Rules like
delta-misuse,get-node-in-process,missing-onready,untyped-declaration,await-misuse,stringly-nodepath,connect-without-disconnect,float-grid-equality, plus theremoved-api-usagecheck against the Godot version your project declares. See docs/lint.md.Cross-version API lookup & diff — query classes/methods/properties/signals and diff the API between Godot 4.4 and 4.5, from committed offline symbol databases. See docs/symbol-db.md.
Scene / resource / registry analysis — validate
.tscn,.tres, andproject.godot, including deep validation of data-driven.tresregistries (the dangling-path check). See docs/scenes.md.
Related MCP server: godot-forge
Non-goals
No live bridge. It does not connect to a running editor or game.
No editor plugin. Nothing to install inside Godot.
No C#. GDScript only.
Nothing older than Godot 4.4. Symbol data is pinned to 4.4 and 4.5.
This is deliberately the complement to the live-session Godot MCP tools: it is the one you run in CI and headless pipelines.
Installation
As an MCP server (Claude Desktop / Cursor mcpServers config):
{
"mcpServers": {
"godot-correctness": {
"command": "npx",
"args": ["-y", "@tmhs/godot-correctness-mcp"]
}
}
}As a CLI:
npx -y -p @tmhs/godot-correctness-mcp@^0.2 gdcorrect lint . --format jsonMCP surface
Tools: server_info; api_symbol_lookup, api_class_summary, api_diff;
lint_file, lint_project, list_rules; validate_scenes, validate_project_config,
validate_registries, project_report. The lint, validate, and report tools take an
optional baseline file (the one gdcorrect --write-baseline writes) to return only new
findings; list_rules (and gdcorrect rules) lists every rule id with its default and
per-project severity.
Resources: curated GDScript skill snippets under skill:// (data-driven
resources, signal hygiene, typed GDScript, preload vs load).
CLI and CI
gdcorrect <command> <projectPath> [options], where <command> is
lint, validate-scenes, validate-project, validate-registries, or report
(gdcorrect --help lists them all).
Option | Meaning |
| Output format (default |
| Lowest severity that fails the run (default |
| Report only new findings / record the current ones (see below). |
|
|
|
|
| Help / package version. |
Options also accept --flag=value. Unknown options, missing values, and extra
arguments are rejected. Exit codes: 0 no findings at or above --fail-on,
1 otherwise, 2 on a usage, config, or tool error.
# .github/workflows/godot-correctness.yml
jobs:
correctness:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: 22 }
- name: Lint GDScript (fails on error-severity findings)
run: npx -y -p @tmhs/godot-correctness-mcp@^0.2 gdcorrect lint . --format json
# Only checks something once registryDirs is set in godot-correctness.config.json.
- name: Validate registries
run: npx -y -p @tmhs/godot-correctness-mcp@^0.2 gdcorrect validate-registries . --format jsonAdopting the gate on an existing project: record today's findings once and fail only on new ones.
gdcorrect report . --write-baseline gdcorrect-baseline.json # commit this file
gdcorrect report . --baseline gdcorrect-baseline.json # in CIFindings are matched by rule, file, and the text of the flagged line, so edits that only shift lines keep matching. Fixed findings show up as stale entries; rewrite the baseline to drop them.
To show findings as pull-request annotations, upload SARIF to code scanning (run from the repository root so paths line up):
permissions:
contents: read
security-events: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with: { node-version: 22 }
- name: gdcorrect (SARIF)
run: npx -y -p @tmhs/godot-correctness-mcp@^0.2 gdcorrect report . --format sarif > gdcorrect.sarif
continue-on-error: true # let the upload step run; code scanning gates the PR
- uses: github/codeql-action/upload-sarif@v3
with: { sarif_file: gdcorrect.sarif }Configuration
Place godot-correctness.config.json at your project root (see
godot-correctness.config.example.json):
enable/disable rules, override severities, set include/exclude globs, and declare
registryDirs / pathPropertyPatterns for registry validation. Full reference in
docs/lint.md and docs/scenes.md.
Symbol database regeneration
The API pillar reads committed gzipped symbol DBs generated locally from pinned Godot binaries (CI validates them but never runs Godot). Regeneration procedure: docs/symbol-db.md.
Roadmap
See ROADMAP.md and BACKLOG.md.
Contributing
See CONTRIBUTING.md for guidelines.
License
CC-BY-NC-ND-4.0 -- see LICENSE for details. The bundled tree-sitter-gdscript grammar and Godot API data are MIT-licensed upstream material; see THIRD_PARTY_NOTICES.md.
Built by TMHSDigital
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Lean 4 MCP server: compile, prove theorems, and formalize math with Mathlib.
The official Svelte MCP server providing docs and autofixing tools for Svelte development
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
MCP server for accessing curated awesome list documentation
Related MCP Servers
- AlicenseAqualityBmaintenanceProvides instant GDScript syntax validation and diagnostics by bridging Godot's native Language Server Protocol to MCP clients. Enables real-time syntax checking in AI assistants without requiring custom plugins or context switching to the Godot editor.496 npm47MIT
- AlicenseAqualityDmaintenanceGodot 4 MCP server with: Test running (GUT/GdUnit4) with structured pass/fail results API docs search with 30+ Godot 3→4 migration mappings Script analysis detecting 10 common GDScript pitfalls Scene/resource file parsing with antipattern detection Viewport screenshot capture LSP diagnostics from Godot's language server TypeScript, cross-platform (macOS/Windows/Linux), published on npm875 npm9MIT
- AlicenseAqualityBmaintenanceAn MCP server providing 15 semantic analysis tools for GDScript, powered by Godot's built-in Language Server.4910Apache 2.0
- AlicenseAqualityFmaintenanceA Godot 4 MCP server for AI-assisted project inspection, editing, validation, and runtime automation via stdio and optional WebSocket bridge.389MIT