MaterialHandling.com
Server Details
Industrial equipment catalog: 15,000+ products, specs, live LTL freight rates, real quote requests.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 5 tools
Each tool serves a clearly distinct function: catalog browsing, product lookup, freight estimation, and quote submission. Descriptions explicitly clarify boundaries, e.g. search_products points to get_product for full specs. No plausible misselection.
All five tools follow a consistent verb_noun snake_case pattern (create_quote_request, get_categories, get_freight_estimate, get_product, search_products). No deviations in style or casing.
Five tools is well-scoped for a product catalog + quote workflow. Each tool earns its place (search, detail, categories, freight, quote), with no redundant or trivial entries.
Covers the core browse→price→quote lifecycle including live freight. Minor gap: no direct order/checkout or quote status retrieval tool, but the domain's primary workflows are fully supported.
Available Tools
5 toolscreate_quote_requestAInspect
Create a real quote request in the MaterialHandling.com sales system. A human equipment specialist prices it (volume pricing + freight) and emails the finished quote, usually within one business day. Use when the customer wants formal/volume pricing. Requires the customer's real name and email — always confirm these with the customer before calling. Returns the quote number. Rate-limited to 5/hour.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Customer full name | |
| Yes | Customer email (the finished quote is sent here) | ||
| items | Yes | Requested products | |
| phone | No | Phone number (optional) | |
| company | No | Company name (optional) | |
| message | No | Notes for the sales team (destination ZIP, timeline, requirements) |
TDQS
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 discloses the asynchronous human-in-the-loop fulfillment, the ~1 business day turnaround, the return value (quote number), and a hard rate limit of 5/hour. It also flags the precondition that real name and email must be confirmed with the customer, which is exactly the kind of non-obvious behavioral constraint an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five tight sentences, front-loaded with what the tool does, followed by when to use it, the precondition, the return value, and the rate limit. No filler or repetition of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter, no-annotation mutation tool, it covers purpose, trigger, prerequisites, output and rate limits, and there is no output schema demanding explanation. It could be more complete by routing agents elsewhere for immediate pricing or by noting what happens on a duplicate request, but nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema by explaining that the quote is priced by volume plus freight and that name/email must be genuine and customer-confirmed. It says nothing about how items are interpreted or what message should carry (destination ZIP, timeline), leaving those to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a real quote request') plus the system it lands in (MaterialHandling.com sales system), which clearly separates it from read-only siblings like search_products, get_product and get_freight_estimate. An agent can tell instantly that this is the submission/intake path, not a lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Use when the customer wants formal/volume pricing' gives a clear trigger condition, and the described workflow (human specialist prices it, quote emailed in ~1 business day) implies the boundary against instant self-serve estimate tools. It never names an alternative sibling or states an explicit when-not-to-use case, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_categoriesAInspect
The product category tree with live product counts. Category paths can be browsed on the website at https://materialhandling.com/{path}/.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden, and it does disclose that counts are 'live' (i.e., current, not cached) and that category paths map to website URLs. However, it does not state read-only behavior, response shape/size, or whether the tree is paginated or bounded.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with what is returned and followed by a useful path-to-URL mapping hint. Every sentence earns its place; nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, annotations, or parameters, the description should characterize the returned data. It says the result is a category tree with counts and hints at path structure, but does not describe the tree shape, node fields, or depth/breadth, leaving an agent guessing about the response format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is fully documented, so the baseline is 4. There are no parameter semantics for the description to clarify.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: 'the product category tree with live product counts.' This distinguishes it from search_products and get_product, which deal with individual products rather than the category hierarchy. The verb is implied by the name rather than stated, but the noun phrase is precise enough for selection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied (call this to obtain the category hierarchy, then browse a path). The URL hint suggests follow-up navigation, but there is no explicit when-to-use guidance, no statement of when to prefer this over search_products, and no prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_freight_estimateAInspect
Live LTL freight rates to a US ZIP code for one or more products — real carrier pricing (the same engine the website checkout uses). Returns carrier, service, transit days and price. Rate-limited to 10 calls/hour. Items that qualify for parcel (UPS) shipping or that need a custom quote are flagged.
| Name | Required | Description | Default |
|---|---|---|---|
| zip | Yes | Destination US ZIP code (5 digits) | |
| items | Yes | Products to ship | |
| liftgate | No | Liftgate at delivery (no dock) | |
| residential | No | Residential delivery address |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses the hard rate limit (10 calls/hour), names the return fields (carrier, service, transit days, price), and describes fallback flagging for parcel/custom-quote items. Gaps remain around auth/prerequisites and error behavior for invalid or non-US ZIPs, keeping it below 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the core capability before the return fields and the rate-limit caveat. Every sentence conveys distinct information (what, output, constraints/edge cases) with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by enumerating return fields and surfacing the rate limit and flagging behavior, and params are fully covered by the schema. Only minor gaps remain: it doesn't clarify auth requirements or what form the 'flagged' signal takes in the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (zip, items, sku, qty, liftgate, residential all documented inline), so the schema already carries parameter meaning. The description adds only that items are 'to ship' and implies the multi-product shape, which is baseline value rather than new semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (fetch live LTL freight rates) with scope (US ZIP, one or more products) and explicitly says it uses real carrier pricing, the same engine as checkout. This clearly distinguishes it from siblings like search_products, get_product and create_quote_request, which deal with catalog data or quote creation rather than live rate lookups.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: get live rate estimates for a shipping destination. The note that parcel-eligible and custom-quote items are 'flagged' hints at alternate paths (UPS parcel, custom quote) but never explicitly names create_quote_request or states when to prefer it. No explicit when-not guidance, so it lands at implied usage rather than actionable routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_productAInspect
Full detail for one product by SKU, model number (MPN) or product slug: pricing (incl. volume tiers), stock status, lead time in business days, full manufacturer specifications, images and product page URL.
| Name | Required | Description | Default |
|---|---|---|---|
| sku | Yes | SKU, MPN or product slug |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden and does so well by enumerating the returned data (pricing incl. volume tiers, stock, lead time in business days, specs, images, URL). It stops short of stating the not-found/error behavior or explicitly confirming this is a non-mutating read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One tightly packed sentence, front-loaded with purpose and then the returned fields. No filler and nothing that fails to earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 enumerates the return payload, which is the main thing an agent needs. Minor gaps remain around error/empty-result handling and identifier precedence when a value could match multiple forms.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter already documents 'SKU, MPN or product slug'. The description repeats the same identifier set, adding no syntax, format, or normalization details beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (retrieval) and resource (one product) plus the accepted identifier forms (SKU, MPN, slug), so the agent knows exactly what it retrieves. It distinguishes itself implicitly from search_products by scoping to 'one product', but never names that sibling to sharpen the contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: retrieving full detail for a known identifier. There is no explicit when-to-use/when-not guidance and no pointer to search_products for discovery scenarios, leaving the agent to infer the routing itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_productsAInspect
Search the MaterialHandling.com catalog (30,000+ industrial products: lift tables, pallet jacks, casters, dock equipment, hoists, cranes, carts, shelving and more from Vestil, Valley Craft and other brands). Returns name, SKU, price, availability, lead time (business days) and product URL. Use get_product for full specs.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results, 1-25 (default 10) | |
| query | Yes | Search terms, e.g. "electric lift table 2000 lbs" or a SKU/model number |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the return fields (name, SKU, price, availability, lead time in business days, URL) and catalog breadth, but says nothing about rate limits, result ordering, or whether matching is fuzzy or exact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads catalog scope and categories, then return fields, then the alternative tool. Three tight sentences with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates well by enumerating the returned fields and units. The main remaining gap is result handling (ordering, pagination beyond the limit param), which is minor for a search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (query, limit) are already documented with examples and range. The description adds no syntax or format guidance beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Search) and resource (the MaterialHandling.com catalog), and scopes it concretely with catalog size, product categories, and brands. It also distinguishes itself from the sibling get_product by directing full-spec lookups there.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent to get_product for full specs, which is the key alternative given the sibling set. It does not, however, say when search is inappropriate (e.g., browsing categories via get_categories) or how to iterate/paginate results.
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.
5 tool updates
- First observed
create_quote_request - First observed
get_categories - First observed
get_freight_estimate - First observed
get_product - First observed
search_products
Related MCP Connectors
Get wholesale quotes and order industrial, MRO, and operational supplies from a US B2B distributor.
Get quotes in minutes and order wholesale industrial and operational supplies from a US distributor.
5,400+ manufacturing calculators plus live U.S. tariff, PMI, cost-index, wage, and forecast data.
Search surplus and overstock inventory, request bulk quotes, and check out.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceDeterministic industrial parts replacement engine with official catalogs and expert accuracy checksMIT
- FlicenseNot gradedqualityCmaintenanceReal published tariffs for European road freight and moving: quote by m3, kg, pallets or LDM across 560k+ routes. Dated price index, freight glossary, order submission. Live endpoint at https://mcp.fromtocargo.com/mcp (19 tools).-
- AlicenseNot gradedqualityCmaintenancePlan optimal container & truck loads: 3D layouts, right-size the container mix, and check utilization, centre of gravity, crush protection and securing across 200+ equipment types.9 npmMIT

warp-agent-mcpofficial
AlicenseAqualityCmaintenanceQuote, book, and track real LTL, FTL, cargo van, and box-truck freight through the Warp network - 20 tools, in-chat login, Stripe-charged bookings, and real carrier dispatch. Quoting is keyless; booking needs a free Warp account with a card on file.20233 npm5MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.