Skip to main content
Glama

duddy_plan_status

Check a plan's status and progress before each step, confirming it is approved or applying and identifying which step the cursor targets.

Instructions

查某个计划的状态与进度。执行每一步之前都应该先看一眼,确认 state 是 approved 或 applying,以及 cursor 指向第几步。

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "plan_id": "<plan_id>"
    },
    "name": "duddy_plan_status"
  }
}

Input Schema

NameRequiredDescriptionDefault
plan_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full disclosure burden. It usefully reveals domain-specific behavioral facts — the state values 'approved'/'applying' and the cursor field indicating step position — which an agent cannot get from structured data. However, it doesn't state the return shape, whether state can be other values (e.g., aborted, done), or what to do when the gate fails.

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?

Two compact sentences with the purpose front-loaded and the operational guidance immediately following. Nothing is redundant, though the gating conditions could be formatted more scannably.

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

Completeness4/5

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

For a one-parameter read tool with no output schema, the description supplies the essential operational context: what it reports and the preconditions to check before proceeding. The main omission is the possible set of state values and failure handling, which matters given this tool acts as a gate for duddy_apply_step.

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?

Schema description coverage is 0% and the single parameter plan_id is undocumented in both schema and description; the description only implies it refers to the plan being inspected. The parameter name is largely self-explanatory, so the gap is modest rather than severe.

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?

The description gives a specific verb and resource ("查某个计划的状态与进度" – check a plan's status and progress), which is clearly distinguishable from the mutation siblings like duddy_apply_step and duddy_abort_plan. It doesn't explicitly contrast itself with duddy_run_status, the closest sibling, leaving a small ambiguity about plan status vs. run status.

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?

Usage is stated concretely: check before executing each step, and verify that state is 'approved' or 'applying' and that cursor points to the intended step. That is a real when-to-use gate rather than vague advice. It stops short of naming alternatives (e.g., duddy_precheck_plan, duddy_run_status) or stating when-not to call it.

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