Skip to main content
Glama

mc_diag

Diagnose a Minecraft bot session's internal state—movement, packets, event queues, crafting—plus prompt status and per-action performance to troubleshoot stalls or missing messages.

Instructions

诊断:当前会话的机器人内部状态(物理/控制位/收包/事件队列/合成窗口与合成格)——排查"走不动/收不到消息/合成说缺料"用。同时报提示词状态(promptInjection:RULES.md / 版本提示.md 的文件位置、存在与否、字数、有没有进 instructions——MCP 没有"会话中注入",提示词是握手时一次性给的),以及性能监测(perf:每个动作的墙钟 / CPU / 期间事件循环延迟 —— 判断"要不要把某个动作搬进 Worker 线程"就看它)。

Input Schema

NameRequiredDescriptionDefault
resetPerfNo顺手清空性能样本(换场景重测用)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does substantial work: it discloses that MCP has no mid-session prompt injection and prompts are supplied once at handshake, and it defines what perf measures (wall clock / CPU / event-loop delay per action). It does not state whether the call is read-only overall or that resetPerf mutates the sample buffer beyond the schema note, or whether the call is expensive.

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?

Front-loaded with the verb and the state inventory, then qualifications. Dense but nearly every clause carries information. It is a single run-on with nested parentheses and could be split into purpose / trigger / perf sections for faster scanning.

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?

No output schema exists, yet the description enumerates the returned sections (state fields, promptInjection with file location/existence/size/in-instructions flag, perf per action), which is exactly what an agent needs to decide whether to call it. For a one-optional-param diagnostic tool with no annotations, nothing material is missing.

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?

Only one optional parameter and schema coverage is 100%, so the schema already explains resetPerf. The description's reference to perf samples gives context but adds no syntax or behavioral detail beyond the schema. Baseline 3 applies when the schema does the heavy lifting.

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?

States a specific verb (诊断/diagnose) and enumerates the exact resource surface: bot internal state (physics, control bits, inbound packets, event queue, synthesis window/grid), plus promptInjection status and perf monitoring. An agent knows precisely what comes back. It never names a sibling (e.g. mc_status) to sharpen the boundary, so it stops short of 5.

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?

Gives concrete symptom-based triggers — 'can't move / not receiving messages / synthesis reports missing material' — and a separate purpose for perf (deciding whether to move an action to a Worker thread). No when-NOT-to-use guidance and no explicit alternative (mc_status / mc_capabilities) is offered, so it is clear context without exclusions.

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