Skip to main content
Glama
Beckett — MCP for Godot

Beckett — MCP for Godot

by beckettlab

doctor

Read-only

Diagnoses why an agent cannot see or call Godot tools by checking effort limits, tool visibility, client configs, runtime bridge state, and editor settings in one call.

Instructions

Beckett self-diagnosis — one call answers 'why can't the agent see or do X?'. Reports: edition (Lite/Full), the effort dial vs its ceiling AND where the cap comes from (a beckett/effort= line committed in project.godot silently trims every clone's tool list), advertised-vs-ceiling tool counts, dock-disabled tools, server/port/auth state, per-client config freshness (does each written config still carry the CURRENT endpoint URL, and does a Claude Desktop bridge pin an exact mcp-remote version?), runtime-bridge liveness, what this tool surface costs your context (exact tools/list bytes and approximate tokens for every effort tier, measured on THIS install, so you can price a tier before dialing to it; plus what Claude Code's tool search holds upfront, the always_load tools), whether the game plays EMBEDDED in the editor's Game workspace or in its own window (embedded means the Suspend button freezes every runtime call and window-mode asserts can never pass), and whether the editor auto-reloads externally-changed scripts (off = every script this server writes waits behind a modal the human must click), for C# projects whether an installed .NET SDK satisfies this engine (4.8 needs SDK 10), and the known Godot bugs for this exact version (known_issues, never part of ok). Run this FIRST when tools seem missing, counts look wrong, or calls fail unexpectedly.

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault
okYes
toolsYes
dotnetNo
editorNo
effortYes
serverYes
clientsNo
contextYes
editionYes
securityNo
warningsNo
game_viewNo
game_bridgeNo
known_issuesNo
godot_versionYes
beckett_versionYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv1.17.0
    • addedOutput schema / properties / dotnet
      Added value: +{
      +  "type": "object"
      +}
    • addedOutput schema / properties / known_issues
      Added value: +{
      +  "type": "array"
      +}
  2. Changed1 schema field changedv1.14.0
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "beckett_version": {
      +      "type": "string"
      +    },
      +    "clients": {
      +      "type": "array"
      +    },
      +    "context": {
      +      "type": "object"
      +    },
      +    "edition": {
      +      "type": "string"
      +    },
      +    "editor": {
      +      "type": "object"
      +    },
      +    "effort": {
      +      "type": "object"
      +    },
      +    "game_bridge": {
      +      "type": "object"
      +    },
      +    "game_view": {
      +      "type": "object"
      +    },
      +    "godot_version": {
      +      "type": "string"
      +    },
      +    "ok": {
      +      "type": "boolean"
      +    },
      +    "security": {
      +      "type": "object"
      +    },
      +    "server": {
      +      "type": "object"
      +    },
      +    "tools": {
      +      "type": "object"
      +    },
      +    "warnings": {
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "ok",
      +    "edition",
      +    "beckett_version",
      +    "godot_version",
      +    "effort",
      +    "tools",
      +    "context",
      +    "server"
      +  ],
      +  "type": "object"
      +}
  3. Addedv1.12.1
  4. Removedv1.10.1
  5. Addedv1.9.1

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnly/non-destructive/closed-world, and the description still adds substantial semantics beyond them: results are measured on THIS install, known_issues is deliberately excluded from the ok verdict, embedded mode means Suspend freezes runtime calls and window-mode asserts can never pass, and stale configs / disabled docks are the actual failure hypotheses. This is exactly the diagnostic context the agent needs.

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 core sentence is front-loaded, but the body is a single sprawling block with long parentheticals (Suspend-button behavior, mcp-remote version pinning, context-byte pricing) that push the actionable 'Run this FIRST' guidance to the very end. Most clauses earn their place, but scannability suffers badly.

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

Completeness5/5

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

Even though an output schema exists, the description pre-explains how to interpret the key report fields (effort vs ceiling and where the cap comes from, advertised-vs-ceiling counts, ok never including known_issues). For a diagnostic aggregator with no inputs, nothing an agent needs before calling is missing.

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?

Zero parameters, so there is nothing to disambiguate; the description correctly spends no words on argument semantics. It also makes clear the call needs no scope arguments — it inspects the current install unconditionally.

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?

States a specific role ('self-diagnosis') and the exact question it answers ('why can't the agent see or do X?'), then enumerates the concrete report contents (edition, effort ceiling, tool counts, dock state, server/auth, config freshness, context cost, embedded mode, C# SDK, known bugs). That enumeration distinguishes it cleanly from siblings like get_godot_version, help, or get_project_statistics.

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

Usage Guidelines4/5

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

Ends with an explicit routing rule: 'Run this FIRST when tools seem missing, counts look wrong, or calls fail unexpectedly.' That is a clear trigger, but no exclusion is stated — an agent isn't told when get_godot_version or help would be the cheaper answer instead.

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