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. Call it only after the user has explicitly agreed or refused in this conversation, and set confirmed_by_user to true; do not call it on your own initiative. 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.

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.7/5.0
Behavior5/5

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

Discloses the state consequence of every branch: accepting activates the plan at version 1, rejecting abandons it, accepting a phase opens the next, rejecting keeps it open for correction, accepting an amendment creates the next plan version. It also notes decisions may originate from the dashboard and that history records the source — real context beyond the readOnly/destructive/idempotent hints.

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?

The critical gating rule is front-loaded in the first sentence, and the bulleted parameter/effect notes are scannable. Slightly long, and the parameter bullets partially restate the enum schema, but each line carries decision-relevant meaning.

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 stateful, 7-parameter mutation with no output schema and no schema descriptions, this is nearly complete: precondition, confirmation flag, conditional parameters, and post-condition per branch are all covered. Missing are the failure modes (invalid target/parameter combination) and what the call returns.

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 load and does so for most fields: target enum values, decision enum values, conditional role of phase ("for target phase"), amendment_id ("for target amendment"), and comment ("optional note from the user"). It leaves plan_id and the conditional-requiredness rules (e.g., phase required when target=phase) unexplained.

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?

Opens with a precise verb+resource: "Records the user's decision on a draft plan, a completed phase or a proposed amendment." This is clearly distinguishable from siblings like plan_create and plan_propose_amendment, which produce plans/amendments rather than record decisions on them.

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

Usage Guidelines5/5

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

Gives an explicit precondition ("only after the user has explicitly agreed or refused in this conversation"), an explicit prohibition ("do not call it on your own initiative"), and the required flag (confirmed_by_user=true). It also notes the user may decide in the Pryzm dashboard instead, which explains an absence-of-call scenario.

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