Skip to main content
Glama

Legacy agreed plan command

soclo_agreed_plan_apply
DestructiveIdempotent

Legacy form of soclo_agreed_plan_save, _clear and _save_and_run; prefer those.

Input Schema

NameRequiredDescriptionDefault
intentYes
clientRequestIdYes
expectedPlanRevisionYes
expectedControlUpdatedAtYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed9 schema fields changed
    • addedInput schema / definitions
      Added value: +{
      +  "s1": {
      +    "format": "uuid",
      +    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / clientRequestId / $ref
      Added value: +"#/definitions/s1"
    • removedInput schema / properties / clientRequestId / format
      Removed value: -"uuid"
    • removedInput schema / properties / clientRequestId / pattern
      Removed value: -"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    • removedInput schema / properties / clientRequestId / type
      Removed value: -"string"
    • addedInput schema / properties / intent / properties / activation / properties / originalRequestId / $ref
      Added value: +"#/definitions/s1"
    • removedInput schema / properties / intent / properties / activation / properties / originalRequestId / format
      Removed value: -"uuid"
    • removedInput schema / properties / intent / properties / activation / properties / originalRequestId / pattern
      Removed value: -"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
    • removedInput schema / properties / intent / properties / activation / properties / originalRequestId / type
      Removed value: -"string"
  2. Added

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=true and openWorldHint=true; the description adds only the legacy/deprecation status. It says nothing about what gets destroyed, how clientRequestId provides idempotency, or that expectedPlanRevision/expectedControlUpdatedAt enforce optimistic concurrency that can fail the call — material context for a destructive mutation.

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?

It is a single front-loaded sentence with no filler, but that brevity comes from omission rather than efficiency — the space saved is space that should have described the intent payload and revision guards.

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

Completeness2/5

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

For a destructive, open-world, nested-payload tool with zero schema description coverage and no output schema, one sentence is far from sufficient. Key facts an agent needs — that kind selects the sub-operation, that expectedPlanRevision must match current state, that activation requires an explicit quote reference — are all absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across four required parameters plus a deeply nested intent object (kind enum, plan, activation with const-true explicit, originalRequestId UUID, quoteRef). The description explains none of them, so the agent gets no help on required fields, the intent discriminator, or the concurrency/idempotency tokens.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the tool as a legacy aggregator of three named siblings (save, clear, save_and_run), which does hint at what it does. But it never states the actual operation — applying/committing an agreed plan with a save/clear/save_and_run intent — so an agent must infer purpose from the sibling names rather than from a verb+resource statement.

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?

'prefer those' is an explicit routing instruction naming the three alternatives, so the agent knows to use the specialized tools unless legacy behavior is required. It stops short of saying when the legacy path is still legitimate (e.g., existing clients or compatibility), which is the only gap.

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