Skip to main content
Glama

Ask for a change

request_change

Asks a tree's editors, in plain words, to change it: what should change, and why. It becomes a change in OKForest, which the editors are emailed about, accept, write, and apply; nothing reaches the tree until one applies it. Check list_changes first, so nobody asks twice. An editor's own request starts as drafting, ready for their edits. Returns the change and its url, to give the person.

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": {
      "title": "<title>",
      "instruction": "<instruction>"
    },
    "name": "request_change"
  }
}

Input Schema

NameRequiredDescriptionDefault
treeNoThe tree's slug, as list_trees gives it (not its name). Required unless the Forest has one tree, or `about` names it.
aboutNoThe concept it's about, if one: `company:customers/acme-corp`.
titleYesWhat should change, in a few words: it becomes the commit's first line.
instructionYesThe details, in the person's words: what, where, and why.

Output Schema

NameRequiredDescriptionDefault
byYesWho asked for it, by name.
idYesThe change's ID: pass it to get_change.
urlYesIts page in OKForest, where editors review and apply it.
aboutNoThe page it was asked about, when it was asked from one.
askedYesWhen it was asked for (ISO 8601).
pathsYesThe files it creates, edits, moves, or deletes.
stateYesWhere it is: `requested` (asked for, waiting for an editor), `drafting` (accepted, an editor writing its edits), `in-review` (edits written, waiting for an editor to apply them), or done: `applied` (committed), `declined`, or `withdrawn` by whoever asked.
titleYesWhat it does, in a few words: its commit's first line.
updatedYesWhen it last changed (ISO 8601).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / title / maxLength
      Previous value: -200New value: +100
  2. Added

TDQS

A4.2/5.0
Behavior5/5

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

Goes well past the annotations by explaining the full lifecycle: the request becomes a change, editors are emailed, and 'nothing reaches the tree until one applies it.' This tells the agent the call is non-destructive in effect despite being a mutation, which the hints alone could not convey.

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?

Front-loaded with the action, then the lifecycle, then the prerequisite, then the return value — a sensible order with no filler sentences. The phrasing is a little ornate ('accept, write, and apply'), but each clause carries information.

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?

Complete for an agent's needs: workflow, prerequisite check, and the returned url are all covered, and an output schema exists so return structure needn't be spelled out. The gap is sibling disambiguation against propose_change.

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 100%, so the baseline is 3, but the description adds real meaning: 'in plain words' frames the expected style of instruction, and 'what should change, and why' maps directly onto the title/instruction split. It also clarifies the return value's purpose ('its url, to give the person').

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?

States a specific verb and resource — asks a tree's editors to change it — and describes what the request becomes. However, it never distinguishes itself from the sibling tool propose_change, which an agent would reasonably confuse with this one.

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 an explicit precondition ('Check list_changes first, so nobody asks twice') and a useful contextual rule ('An editor's own request starts as drafting'). It stops short of stating when to use propose_change instead, which is the main alternative an agent must weigh.

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