Skip to main content
Glama
FlowState by DialectForge

FlowState by DialectForge

Official

manage_history

Destructive

Inspect edit history and see who changed what, then undo a record's last edit or a delete when nothing else refers to it. Filter by project, record, app, model, machine, or time.

Instructions

The edit trail of records. list: edits with old and new values. undo: take back a record's last edit, a record you created (if nothing refers to it), or a delete with everything removed with it (a deleted project: its old name and id); rows changed since are skipped and listed. who: who did what (app, model, machine), filtered and paged. Logged changes (kind=change): find them with search. Reads: list, who. list and undo require project. Returns {history}, the undo result, or {rows, page}.

Input Schema

NameRequiredDescriptionDefault
pageNowho: page number. Default 1.
limitNolist / who: max rows. Default 20, max 100.
modelNoModel name if known. Never guess.
sinceNowho: from this local time, such as 2026-10-17.
untilNowho: up to this local time.
actionYesThe operation; see the tool description.
by_appNowho: only apps whose name contains this.
projectNoProject name or id. Required for list and undo; who: omit for all.
by_modelNowho: only models whose name contains this.
record_idNolist: only this record. undo: required.
by_machineNowho: only this machine or workspace.
record_typeNolist: only this record type. undo: required.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv2.4.3
    • changedInput schema / properties / model / description
      Previous value: -"Your model name if you know it. Never guess."New value: +"Model name if known. Never guess."
  2. Addedv2.1.0

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, and the description earns credit beyond them: undo cascade behavior ('a delete with everything removed with it'), the guard 'if nothing refers to it', and the skip-and-report rule 'rows changed since are skipped and listed'. It does not state reversibility of an undo or permission requirements, so it stops short of 5.

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?

Every sentence carries information, but the delivery is choppy fragments and nested parentheticals ('(a deleted project: its old name and id)') that read as notes rather than front-loaded guidance. A one-line summary of what the tool is, followed by per-action lines, would communicate the same content faster.

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 12-parameter, three-action tool with no output schema, the description covers action semantics, project requirement, return shapes ({history}, undo result, {rows, page}), and the destructive undo path. What is thin is the pagination/filter interaction for 'who' and any note about undo irreversibility.

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

Parameters3/5

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

Schema description coverage is 100% and each parameter is already tagged with its owning action (list/who/undo) in the schema, so the description's per-action mapping largely restates structured data. It adds the meaningful rule that project is required for list/undo and optional for who, but no format or edge-case detail beyond that.

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?

It names three concrete operations with their resources: 'list: edits with old and new values', 'undo: take back a record's last edit', 'who: who did what (app, model, machine)'. It also distinguishes itself from the sibling search tool by redirecting change-log lookups ('Logged changes (kind=change): find them with search'). The telegraphic fragment style makes the top-level purpose slightly slower to grasp, but the verbs and resources are specific.

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?

Explicit routing is present: changes of kind=change go to search, and 'Reads: list, who', plus 'list and undo require project' versus 'who: omit for all'. What it does not spell out is when an agent would choose 'who' over 'list' for a given question, leaving that inference to the parameter descriptions.

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