Skip to main content
Glama
Kydaix

Font Design MCP

by Kydaix

history_restore

Restore a committed revision to a new revision while preserving history. Provide the current expected revision to safely roll back.

Instructions

Restore a committed revision by creating a NEW revision; requires the current expected_revision and preserves history.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
summaryNo
project_idYes
target_revisionYes
expected_revisionYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYes
dataNo
errorNo
changedNo
summaryYes
revisionNo
warningsNo
project_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed14 schema fields changedv0.4.3
    • removedInput schema / properties / expected_revision / title
      Removed value: -"Expected Revision"
    • removedInput schema / properties / project_id / title
      Removed value: -"Project Id"
    • removedInput schema / properties / summary / title
      Removed value: -"Summary"
    • removedInput schema / properties / target_revision / title
      Removed value: -"Target Revision"
    • removedInput schema / title
      Removed value: -"Restore"
    • removedOutput schema / properties / changed / title
      Removed value: -"Changed"
    • removedOutput schema / properties / data / title
      Removed value: -"Data"
    • removedOutput schema / properties / error / title
      Removed value: -"Error"
    • removedOutput schema / properties / ok / title
      Removed value: -"Ok"
    • removedOutput schema / properties / project_id / title
      Removed value: -"Project Id"
    • removedOutput schema / properties / revision / title
      Removed value: -"Revision"
    • removedOutput schema / properties / summary / title
      Removed value: -"Summary"
    • removedOutput schema / properties / warnings / title
      Removed value: -"Warnings"
    • removedOutput schema / title
      Removed value: -"Result"
  2. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already indicate this is a non-read-only, non-idempotent, and non-destructive operation. The description adds valuable context by clarifying it creates a NEW revision (so no overwrite) and preserves history, reinforcing the non-destructive nature. It does not contradict annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, compact sentence front-loads the core action and key precondition. Every clause adds meaningful information without redundancy.

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?

The description covers the purpose, the non-destructive behavior, and the main precondition. With an output schema present, return details are not required. However, it omits explicit guidance on error conditions or concurrency failure handling, which could be helpful for a mutation tool.

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 coverage is 0%, so the description must compensate. It explicitly explains expected_revision ('current expected_revision') and implies target_revision (the revision to restore), but it does not clarify project_id or summary. This partially bridges the schema gap but leaves two parameters under-explained.

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

Purpose5/5

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

The description clearly states the action ('Restore a committed revision') and the mechanism ('by creating a NEW revision'), distinguishing it from history_list (which lists revisions) and project_update (which modifies settings). It also highlights a critical requirement (expected_revision) that sets it apart from simple reads.

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?

It implies usage context by requiring the current expected_revision, suggesting a concurrency-aware restore. However, it does not explicitly contrast with sibling tools or state when NOT to use it, leaving some inference to the agent.

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