Skip to main content
Glama

Decant: convert CSV, XLSX and PDF to JSON; web page extraction that honours robots.txt

Change a requirement by field

edit_requirement
Idempotent

Set fields by name ({"op":"set","values":{...}}, an empty value clears) or change the list ({"op":"add"|"update"|"remove"|"replace", ...}), exactly as given: no reading. Use it to answer the open question when the answer is a value.

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": {
      "slug": "<slug>",
      "id": "<id>",
      "token": "<token>",
      "ops": "<ops>"
    },
    "name": "edit_requirement"
  }
}

Input Schema

NameRequiredDescriptionDefault
idYesThe requirement id from an earlier answer
opsYes
slugYesThe service, from list_propositions
op_idNo
tokenYesIts private token (also the receipt token of the request it is sent as); keep it private
base_revisionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare non-read-only, idempotent, non-destructive behavior, so the description's job is to add context — and it does: "exactly as given: no reading" tells the agent there is no read-modify-write merge or validation against current state, and "an empty value clears" discloses field-clearing semantics not visible anywhere else. It omits concurrency/failure behavior (base_revision conflicts, op_id replay) that matter for a mutation with 6 parameters.

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?

No wasted words — the inline JSON fragments are dense but efficient — however the structure is inverted, leading with op syntax while the actual purpose and usage cue land in the final clause. A reader must parse two code snippets before learning what the tool is for.

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

Completeness3/5

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

With annotations present and no output schema, the description covers the hard part (ops syntax) and the clearing behavior, which is enough to attempt a call. It stops short of explaining base_revision's optimistic-concurrency role and what happens on a rejected op, which for a 6-parameter mutation leaves real ambiguity.

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?

Schema coverage is 50% and the single most complex parameter, ops, has no schema description at all; the description compensates by enumerating the op vocabulary (set/add/update/remove/replace) and the values payload shape, which is genuinely additive. The gap is base_revision and op_id, which are undocumented in both schema and description despite being central to safe concurrent edits.

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 names the operation forms (set fields by name, or add/update/remove/replace list entries) but never states plainly that it edits a requirement or which requirement fields are addressable — the resource is only inferable from the tool name. It distinguishes itself loosely from interpret_requirement via the final sentence, but an agent still has to infer the object being mutated.

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

Usage Guidelines3/5

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

"Use it to answer the open question when the answer is a value" gives a conditional cue that implicitly contrasts with interpret_requirement (answer is free text) and get_requirement (answer is a read). That is real routing signal, but it is cryptic and never explicitly names the alternatives or states when not to use this tool.

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