Skip to main content
Glama
KD5RYN

b123d-print-mcp

by KD5RYN

list_versions

Lists saved versions newest first with date, ID, message, and changed dimensions; for a part, returns numbered versions for restore, unsaved changes, or the shared-server project folder command.

Instructions

The saved versions, newest first: date, id, message and the Dims values that changed. With part: numbered versions of that part (for restore_version), and what is not saved yet. On a shared (HTTP/SSH) server: the command for the user's own project folder.

Input Schema

NameRequiredDescriptionDefault
partNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.12

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose useful behavior: ordering ('newest first'), the fields returned, the existence of unsaved-changes information, and an extra mode on shared HTTP/SSH servers. It omits read-only nature explicitly, list size/limits, and any permission or error behavior.

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?

Only three sentences with no filler, and the primary behavior is front-loaded. However, the telegraphic fragments ('the Dims values that changed', 'what is not saved yet') trade clarity for brevity and require domain knowledge to parse.

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 zero-required-parameter read tool with an output schema present, the description covers both invocation modes, result ordering, and the shared-server variant. Return-value structure is handled by the output schema, so the remaining gap (pagination/limits, read-only confirmation) is minor.

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 for the undocumented 'part' parameter. It does explain the semantic difference between omitting and supplying it ('numbered versions of that part'), which is real added meaning, but it never says what form the value takes (part id, name, or index), leaving the format 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?

The description states what the tool surfaces — saved versions with date, id, message and changed Dims values, newest first — and distinguishes the two modes (project-wide vs. a specific part). It also ties itself to restore_version, clarifying its role relative to a sibling, though it never uses an explicit verb like 'list' and relies on the name for that.

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?

Usage is implied rather than stated: 'with part ... (for restore_version)' hints that this is the discovery step for restoring a specific part, and omitting 'part' yields project-level versions. There is no explicit when-to-use/when-not-to-use statement or named alternative besides the parenthetical reference.

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