Skip to main content
Glama
KD5RYN

b123d-print-mcp

by KD5RYN

hardware_list

Generates a Markdown or CSV hardware purchase list from declared screws, inserts, magnets, and bearings, merging identical items and flagging unconfirmed specs to check before ordering.

Instructions

What to buy: the bought hardware the script declares in hardware(d) (screws, inserts, magnets, bearings), as one Markdown table to show the user: Qty | Item | Specification | Used for | Source/link | Status ("check before ordering" where the specification is not confirmed: ask the user, never guess it). Identical items are merged and summed. Offer it when a part declares hardware. name: one part; parts: comma-separated part names to merge into one list (each may be part:variant); neither: every part in the workspace. variant: the variant (default: the standard one). count: how many assemblies ("for 4 brackets"), which multiplies every quantity. format: 'table' (Markdown) or 'csv' (for a spreadsheet or cart). Reads only hardware(d): builds nothing. The bom and bom_csv export formats write the same list next to the exports. Changes nothing.

Input Schema

NameRequiredDescriptionDefault
nameNo
countNo
partsNo
formatNotable
variantNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.12

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it declares the tool read-only ('Reads only hardware(d): builds nothing', 'Changes nothing'), explains that identical items are merged and summed, that `count` multiplies quantities, and how unconfirmed specifications are marked. It also describes the output columns and the 'ask the user, never guess' handling.

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?

The description is front-loaded with purpose and output shape, and almost every sentence adds needed information. It is slightly dense as a single paragraph, and 'builds nothing' and 'Changes nothing' are mildly redundant, but there is little wasted content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a five-parameter, read-only listing tool with no annotations, the description covers purpose, scope selection, behavior, parameter meanings, output columns, and the export alternative. An output schema exists, so return-value detail is not required, but the description still provides enough to use the tool correctly.

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

Parameters5/5

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

Schema description coverage is 0%, but the description defines every parameter: `name` for one part, `parts` for comma-separated part names (including part:variant syntax), `variant` defaulting to standard, `count` as assembly multiplier, and `format` as table or CSV. This fully compensates for the empty schema descriptions.

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?

States a specific verb and resource: list the bought hardware declared in hardware(d) as a Markdown/CSV table. It clearly distinguishes itself from the `bom`/`bom_csv` export formats, which write the same list beside exports rather than showing it to the user.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to offer it when a part declares hardware, and explains how `name`, `parts`, or neither selects the scope. It also notes the relationship to `bom` and `bom_csv` exports, so the agent can choose between display and file-export workflows.

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