Skip to main content
Glama

project_history

List, undo, redo, or revert project history entries; reverting remains undoable for safe non-destructive edit rollback.

Instructions

List history, undo/redo N steps, or revert to a history entry (revert is itself undoable).

Input Schema

NameRequiredDescriptionDefault
stepsNo
actionNolist
history_idNo
project_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.1/5.0
Behavior3/5

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

Annotations declare a non-read-only, non-destructive, non-idempotent mutation, and the description adds one genuinely useful behavioral fact: revert is itself undoable, which materially changes the risk calculus. It says nothing about how many steps of history exist, whether undo is scoped to the project or to the session, or what revert does to entries after the target.

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?

A single dense sentence with no filler, and the primary capability (list) is front-loaded. The three modes are packed into one clause, which is efficient but leaves no room for the qualifiers an agent needs.

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?

This is a state-mutating tool with four parameters, zero schema documentation, and no output schema, and one sentence is far too thin. Nothing tells the agent what list returns, what happens on undo past the beginning of history, or what a successful revert response looks like.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry all parameter meaning, yet it only gestures at 'steps' (the N) and the action names. history_id is never explained (which entry identifier list returns), project_id is never mentioned, and the interaction between steps and history_id for revert is left ambiguous.

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?

Names the resource (history) and enumerates the four operations it supports (list, undo, redo, revert), matching the action enum exactly. An agent can tell it is the history-management tool rather than a general project editor, though it does not explicitly differentiate itself from siblings like compare_versions or edit_project.

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?

The description implies when each mode applies (list vs undo/redo vs revert) but never states selection criteria, prerequisites, or when to prefer a sibling such as compare_versions. The reader must infer the branching from the action enum.

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