Skip to main content
Glama

Validate a plan, phase or amendment

plan_validate

Records the user's decision on a draft plan, a completed phase or a proposed amendment. confirmed_by_user must be true: it states that the user explicitly accepted or refused in the conversation. The user can also decide in the Pryzm dashboard, and the history records which way each decision came from.

  • target: plan | phase | amendment; decision: accept | reject.

  • phase: the phase number, for target phase; amendment_id: for target amendment; comment: optional note from the user. Accepting a plan makes it active (version 1) and rejecting it abandons it. Accepting a phase opens the next one; rejecting it keeps it open for correction steps. Accepting an amendment creates the next version of the plan.

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>",
      "target": "<target>",
      "decision": "<decision>",
      "confirmed_by_user": "<confirmed_by_user>"
    },
    "name": "plan_validate"
  }
}

Input Schema

NameRequiredDescriptionDefault
phaseNo
targetYes
commentNo
plan_idYes
decisionYes
amendment_idNo
confirmed_by_userYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations by spelling out the state transitions each decision causes: accept makes the plan active at version 1, reject abandons it; accept on a phase opens the next one while reject keeps it open for correction; accept on an amendment creates the next plan version. It also discloses the provenance constraint (confirmed_by_user) and that decisions made in the dashboard are recorded in history.

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?

Purpose is front-loaded, then a compact bullet list maps parameters to targets, then the outcome rules are grouped together. The opening sentence and the confirmed_by_user sentence overlap slightly in restating that a user decision is being recorded, but nothing is genuinely wasted.

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 seven-parameter mutation with no output schema, the definition covers conditional parameter applicability and every resulting state change, which is what an agent needs to call it correctly. It stops short of describing what the call returns or how a rejected confirmation should be handled.

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?

With 0% schema description coverage, the description carries the full burden and mostly succeeds: it defines target, decision, phase, amendment_id, comment, and the confirmed_by_user boolean. Only plan_id is left unexplained as to format or provenance, so a small gap remains.

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 verb ('records the user's decision') and enumerates the three exact resources it operates on (draft plan, completed phase, proposed amendment). This distinguishes it from plan_create, plan_close_step, and plan_propose_amendment without needing to name them.

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 clear usage conditions: the user must have explicitly accepted or refused, confirmed_by_user must be true, and the decision can also be made in the Pryzm dashboard. It does not explicitly route the agent to a sibling for the propose/create side, so it falls short of a full when/when-not/alternatives statement.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources