Skip to main content
Glama

Steady Steel

Server Details

Quotes laser-cut steel, stainless and aluminum plate and catalog products. Newmarket, Ontario.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.3/5.0

Scored across 7 tools

Disambiguation4/5

Each tool targets a distinct step: search_products/list_materials for discovery, quote_plate/quote_product for pricing, get_quote for retrieval, and create_handoff_link/create_rfq_link for two different outbound handoffs. The two create_*_link tools share a verb pattern but their descriptions clearly separate ordering links from RFQ requests. Only minor risk of confusion between the two link tools.

Naming Consistency5/5

All seven names follow a strict snake_case verb_noun pattern (create_handoff_link, get_quote, list_materials, quote_plate, quote_product, search_products). No mixed conventions or vague single-word names.

Tool Count5/5

With 7 tools the set is well-scoped: discovery (2), quoting (3), retrieval (1), and ordering handoff (1) each have exactly what they need. No redundant or filler tools.

Completeness4/5

The quote-to-order lifecycle is covered: discovery, pricing for both custom plates and catalog products, an RFQ fallback for unquotable work, quote retrieval, and a handoff to order/pay. The main gap is any post-order tracking or status inspection, though the server explicitly defers payment and fulfillment to steadysteel.org.

Available Tools

7 tools
get_quoteGet a quoteA
Read-only
Inspect

Get a quote quote_plate or quote_product made, by its id, exactly as it was priced. Its status reads expired once it is past expires_at: ask for a new quote then. A quote is kept 30 days past its expiry.

ParametersJSON Schema
NameRequiredDescriptionDefault
quote_idYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, non-destructive, non-open-world, so safety is covered. The description adds genuine behavioral context beyond them: snapshot semantics ('exactly as it was priced'), the expired status condition, and a 30-day post-expiry retention window. It stops short of describing response shape or error behavior (e.g., unknown id).

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?

Three short sentences, front-loaded with the core action, then lifecycle rules. The opening clause 'Get a quote quote_plate or quote_product made' is grammatically awkward and takes a second read, which is the only waste.

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?

No output schema exists, so the description has to hint at returns; it does so by calling out the status and expires_at fields and retention. Missing details on the quote's payload and error cases, but it is sufficient to call the tool correctly.

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?

One parameter at 0% schema coverage, so the description carries the burden. It says only 'by its id', adding no format, length, or sourcing details beyond the schema's maxLength 64. Minimum viable for a single required identifier.

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?

'Get a quote ... made by its id, exactly as it was priced' names a specific verb and resource and clarifies that this is retrieval, not creation. It explicitly ties the resource to the siblings that create it (quote_plate / quote_product), so an agent can distinguish this read tool from the quote-producing ones without opening a schema.

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?

Gives clear conditions for use and a concrete follow-up rule: once status reads expired past expires_at, ask for a new quote. It does not name an alternative retrieval path or state when not to call it, but for a single-purpose fetch tool the routing guidance is clear.

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

list_materialsList plate materialsA
Read-only
Inspect

List the plate materials Steady Steel laser cuts, each with every thickness sold in it (thickness_in, inches), whether it is stocked, and a lead time in business days. Call it before quote_plate: a plate quote takes a material id and a thickness_in exactly as listed here. Empty while plate is not quoted online.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuine behavior beyond that: it discloses the per-item return fields, the business-day unit for lead time, and the important empty-state condition when plates are not quoted online.

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?

Three tight sentences: what it returns, the ordering relationship to quote_plate, and the empty-state caveat. Every clause carries information and the return-content summary is front-loaded.

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?

With no output schema, the description carries the full burden of describing return values, and it does: material identity, each thickness with unit, stocked flag, and lead time in business days — plus the empty-result case. Nothing an agent needs to call and interpret this tool is missing.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4. The description's mention of 'material id' and 'thickness_in' refers to quote_plate's inputs, not this tool's, so there is nothing further parameter-wise for it to document.

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 plate materials Steady Steel laser cuts') and enumerates what each entry contains: thicknesses in inches, stocked status, and lead time. It is clearly distinguishable from quote_plate and search_products, the latter being a general product search rather than a plate-material lookup.

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?

Gives an explicit sequencing rule — 'Call it before quote_plate' — and notes that quote_plate consumes the material id and thickness_in exactly as listed here. It also flags the empty-result condition ('Empty while plate is not quoted online'). It stops short of naming alternative siblings or stating when not to use it, so it lands just below a full 5.

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

quote_plateQuote a cut plateAInspect

Price one flat plate of steel, stainless or aluminum, laser cut to an outline with holes, slots and bends, at a firm price from the engine behind the plate quoter on steadysteel.org. Every length is inches, +x right and +y up. material and thickness_in must be exactly as list_materials gives them. The outline is a rectangle, circle, ring (a washer) or polygon; holes and bends use its frame, and for a rectangle, circle or ring the origin is the lower-left corner of the box around it. quantity is how many (1 to 999), and quantity_options prices up to five other quantities. A part that cannot be made as asked comes back blocked, with an issue saying why: change it and quote again. Amounts are CAD cents with HST as its own figure, firm until expires_at. Show the person the drawing at preview_url. Nothing is bought here: to order, make a link with create_handoff_link and give it to the person, who checks the part and pays on steadysteel.org.

ParametersJSON Schema
NameRequiredDescriptionDefault
bendsNo
holesNo
labelNo
outlineYes
materialYes
quantityNo
thickness_inYes
quantity_optionsNo

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare the safety profile (not read-only, not open-world, not idempotent, not destructive). The description goes well beyond that, disclosing the coordinate frame (+x right, +y up, inches), what a blocked result contains and why, that amounts are CAD cents with HST listed separately, that prices are firm until expires_at, and that preview_url is the drawing to show the person.

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?

Front-loaded with the core purpose and scope, then geometry conventions, then result semantics, then the ordering hand-off — a sensible order with no filler sentences. It is dense and long, and a few sentences pack multiple constraints, but every sentence carries information.

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?

With eight parameters, deep nested schemas and no output schema, the description carries the response contract itself: blocked-with-issue, CAD cents, separate HST, expires_at, and preview_url. Combined with the ordering disclaimer, an agent has everything needed to call it, interpret the result, and route the user to checkout.

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

Parameters4/5

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

Top-level parameters (material, thickness_in, quantity, quantity_options, label) carry no schema descriptions, so the description has to compensate: it fixes inches everywhere, pins quantity to 1-999, limits quantity_options to five quantities, and requires material/thickness to match list_materials exactly. The nested hole/bend/outline variants are already well documented in the schema, so the description adds most of its value at the top level.

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 — pricing one laser-cut flat plate with holes, slots and bends at a firm price — and names the engine behind it. It also separates itself from siblings by pointing to list_materials for material/thickness values and create_handoff_link for ordering, so an agent can tell it apart from quote_product without opening either schema.

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?

Gives concrete usage conditions: material and thickness_in must be exactly as list_materials returns them, and nothing is bought here so ordering must go through create_handoff_link. It also prescribes the recovery loop for a blocked part. It does not explicitly contrast with quote_product, so it stops short of full when/when-not routing.

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

quote_productQuote a catalog productAInspect

Price a catalog product at its firm unit price: the slug and a tier from search_products (kit or welded), only a tier marked orderable. quantity is 1 to 50. Amounts are CAD cents before HST, with HST as its own figure. Freight is quoted by Steady Steel after the order and is not in the quote. Nothing is bought here: to order, make a link with create_handoff_link and give it to the person, who orders and pays on steadysteel.org.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYes
tierYes
labelNo
quantityNo
quantity_optionsNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations declare non-readOnly, non-idempotent, closed-world, so the agent knows this writes state. The description adds substantial context beyond that: currency is CAD cents before HST with HST broken out separately, freight is excluded and quoted later, and no purchase occurs. It doesn't explain whether repeated calls create duplicate quote records, which is what non-idempotent implies, so it falls short of a 5.

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?

Dense and front-loaded: pricing behavior, currency, exclusions, then the ordering handoff. Every sentence carries information, though the final sentence chains several clauses and could be split for readability.

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?

With no output schema, the description usefully characterizes the return values (CAD cents, HST as its own figure, freight absent). The main gap is the undocumented label/quantity_options parameters, which an agent cannot infer from the schema alone.

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 0%, so the description carries the full burden and it partially delivers: it explains slug and tier sourcing, the orderable-tier constraint, and the 1-50 quantity range. However, it says nothing about the label or quantity_options parameters, leaving 2 of 5 parameters undocumented anywhere.

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+resource+scope: price a catalog product at its firm unit price, distinct from sibling quote_plate (plates) and get_quote (retrieving existing quotes). The opening clause makes it immediately distinguishable from other quoting tools.

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 tells the agent where slug/tier come from (search_products), that only a tier marked orderable is valid, and routes ordering to create_handoff_link. It also states what this tool does NOT do (nothing is bought here), which is exactly the when-not guidance an agent needs.

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

search_productsSearch catalog productsA
Read-only
Inspect

Find the pre-designed steel products Steady Steel sells on steadysteel.org/products, by words in their name or description; send no query to list them all. Each lists its tiers: kit (the steel cut to our drawings) and welded (built in our shop), with a firm unit price in CAD cents before HST. Only a tier marked orderable can be quoted. Freight on a kit or a welded unit is quoted by Steady Steel after the order.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish readOnlyHint/destructiveHint=false, but the description adds real domain behavior beyond them: tiers (kit vs welded), firm unit price in CAD cents before HST, the orderable gate for quoting, and that freight is quoted separately after the order. Return shape and result limits are not described, which keeps it from a 5.

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?

Front-loaded with the core action, then compactly layered with catalog facts in four dense sentences and no filler. Slightly long for a one-parameter search but every clause conveys domain rules an agent would otherwise guess at.

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 read-only search with no output schema, the description supplies the key commercial context (pricing units, tiers, orderable gate, freight follow-up) an agent needs to act on results. It omits return structure, result caps, and pagination, a minor gap for a search tool.

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

Parameters4/5

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

Schema coverage is 0%, so the description carries the burden, and it does: it defines the query as words matched against product name or description and explains the null/default case ('send no query to list them all'). Only the maxLength=80 constraint is left to the schema.

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?

States a specific verb and resource ('Find the pre-designed steel products Steady Steel sells... by words in their name or description'), including the catalog location and the no-query listing behavior. It implicitly separates this catalog lookup from quoting tools, but never names a sibling (e.g., list_materials) to make the boundary explicit.

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?

Gives a clear usage rule for the empty-query case ('send no query to list them all') and frames the downstream workflow ('Only a tier marked orderable can be quoted', freight quoted after order). It does not explicitly say when to prefer this over quote_product or get_quote.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updates
    • First observedcreate_handoff_link
    • First observedcreate_rfq_link
    • First observedget_quote
    • First observedlist_materials
    • First observedquote_plate
    • First observedquote_product
    • First observedsearch_products

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 2D irregular polygon nesting (bin-packing) with tools to design, preview, get reports, and export DXF files for laser cutting or CNC routing.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    SmartCut is a hosted cutting-optimisation API. It turns a list of parts and available stock into machine-ready cutting patterns for sheet materials (plywood, MDF, glass, plastic, sheet metal), linear stock (timber, bar, pipe, extrusion) and roll goods. Guillotine and true-shape nesting modes, with grain direction, per-part orientation locks, edge banding, blade kerf and stock trim.
    2
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Intelligently generates cost estimates and lead times for manufacturing RFPs by parsing requests, matching against historical quotes, and calculating activity-based costs with confidence scoring and human approval workflows.
    -
  • A
    license
    A
    quality
    C
    maintenance
    Enables users to design flat-pack furniture such as bookcases, cabinets, cubes and desks through natural-language conversation, then generates CNC-ready DXFs, cut and hardware lists, printable assembly instructions and a quote request for a fabricator.
    10
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources