Skip to main content
Glama

Tethered Trust

Server Details

Compatibility checks for AI agents before they buy or install: verdicts, evidence, receipts.

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

A3.6/5.0

Scored across 18 tools

Disambiguation3/5

Several pairs overlap meaningfully: resolve_product vs identify_product (both product lookups differing mainly by input type), check_compatibility vs check_batch (single vs batch of the same operation), and validate_purchase_plan vs check_cart_before_checkout vs fix_purchase_plan (three ways to assess a whole purchase). Descriptions do clarify scope, but an agent must read carefully to pick the right one.

Naming Consistency5/5

Every tool follows a consistent snake_case verb_noun pattern (check_compatibility, validate_purchase_plan, verify_receipt, list_coverage, etc.). No mixing of conventions, and the leading verb clearly signals intent.

Tool Count4/5

18 tools is on the heavier side but justified by the breadth of the domain: discovery, single/batch/plan checking, fixing, verification, feedback, and catalog enrichment. A few (how_it_works, check_batch) could arguably be folded in, but each earns a place.

Completeness4/5

The lifecycle is well covered: identify/resolve products, check compatibility, validate and fix plans, recheck before ordering, verify receipts, report outcomes, plus coverage/standards listing and catalog enrichment. Minor gaps like a receipt revocation or bulk plan listing are non-blocking.

Available Tools

18 tools
check_batchCheck many pairsA
Read-only
Inspect

Up to 25 independent compatibility checks in one call (e.g. ranking candidate products for one device). Each result has its own decision, evidence and receipt.

ParametersJSON Schema
NameRequiredDescriptionDefault
checksYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds batching behavior and the fact that each check is independent with its own decision/evidence/receipt, but does not explain the unusual idempotentHint=false for a read-only check or any rate/cost implications.

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?

Two tight sentences with zero filler; the batch limit and independence constraint are front-loaded before the return-shape note.

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?

An output schema exists, so the mention of decision/evidence/receipt per result is a slight redundancy rather than a gap. For a batch wrapper over a well-documented nested schema, the definition is nearly complete, lacking only explicit routing against single-check siblings.

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?

The top-level 'checks' parameter itself carries no schema description, so the description's 'up to 25 independent checks' does add meaning. The nested fields (existing, candidate, ids, detail) are well documented inside the schema, so the description only needs to frame the container, which it does minimally.

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+resource ('compatibility checks') with a clear batching scope ('up to 25 ... in one call'). The phrase 'in one call' implicitly contrasts with the singular check_compatibility sibling, but does not name it.

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?

The example ('ranking candidate products for one device') implies a batch use case, and 'independent checks' hints at when batching is appropriate. However, there is no explicit when-to-use/when-not guidance or named alternative versus check_compatibility or check_fit.

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

check_cart_before_checkoutCheck a cart before checkoutA
Read-only
Inspect

Checks a cart at checkout. Takes the checkout session exactly as a commerce protocol returns it (a UCP checkout or an ACP CheckoutSession) or plain line items, plus what the customer already owns. Returns a decision per line item, safe_to_checkout, an action (proceed, resolve_conditions, do_not_checkout, ask_customer), questions, substitutions, a signed receipt, and a com.tetheredtrust.shopping.compatibility extension object to attach to the checkout.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownedNoWhat the customer already owns that these items must work with (model numbers, URLs or descriptions; objects may carry config like memory_modules).
checkoutNoThe checkout session as your commerce protocol returns it: a UCP checkout (line_items[].item.title) or an ACP CheckoutSession (line_items[].item.id). Or send line_items directly.
productsNoACP only: map of item id → {title | url | gtin} from your product feed, because ACP line items carry only ids.
line_itemsNoGeneric cart: [{id, title | url | gtin | sku | text, quantity}]. Used when checkout isn't sent.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: it enumerates the decision outputs, the action enum semantics, a signed receipt, and an extension object to attach to the checkout. It does not explain the idempotentHint=false implication (e.g., repeat calls may differ), which is the main omission.

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?

Two sentences, front-loaded with the purpose followed by behavior and outputs. Dense but every clause carries information; the long output enumeration is the only part that feels padded given an output schema exists.

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 high-complexity, multi-protocol tool with a rich nested schema and an output schema, the description covers input forms, ownership context, decision output, and the post-checkout handoff. An agent has enough to call it correctly without opening the schema.

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 100%, so the schema already documents the UCP/ACP/line_items input modes and the ACP products map. The description restates the protocol flexibility but adds no syntax, precedence rules, or format detail beyond what the schema provides; baseline 3 applies.

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 ('Checks a cart at checkout') and is clear about the input domain (UCP checkout, ACP CheckoutSession, or plain line items). It does not distinguish itself from near-neighbors like validate_purchase_plan, check_batch or check_compatibility, so an agent must infer the boundary from the name alone.

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

Usage Guidelines2/5

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

The description embeds timing ('at checkout') but gives no explicit when-to-use, when-not-to-use, or alternative routing. With 17 siblings including validate_purchase_plan, recheck_plan, check_batch and check_compatibility, the absence of any conditional guidance is a real gap.

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

check_compatibilityCheck compatibilityA
Read-only
Inspect

Will this exact part or accessory work with that exact device? Use before recommending or buying. Covers anything that has to fit, plug in, mount, run on or charge with something someone owns. Verified catalog (specs checked against cited manufacturer sources): computers & consoles (RAM, M.2 SSDs, USB-C chargers), phones/tablets/watches (USB-C PD, MagSafe, Qi2, watch bands), cameras (lens mounts, adapters, batteries, memory cards), cordless power tools (battery platforms), printers (ink, toner, drums), appliances (refrigerator water and air filters, installation fit), vacuums (bags, filters, batteries, robot-vacuum parts), air quality (purifier filters, HVAC media, humidifier pads), e-bikes (batteries and chargers by drive system), smart home (Matter, Thread, Zigbee, hubs, bulb bases), PC building (CPU sockets, cooler mounts, memory, clearances, power), cars & EV charging (tire sizes by trim, NACS/J1772/CCS1 and approved adapters, home chargers; a starter set of models) and TVs, consoles & streaming (VESA mounts, weight and screen size, console generations, app platforms). Products outside the catalog in any category are read by AI in terms of the same standards and returned as unverified. Returns a decision (supported / conditional / incompatible / insufficient_evidence), the rules checked, caveats, required accessories, the questions to ask when it can't decide, evidence links and a signed receipt. When the text matches several models it returns each candidate's answer.

ParametersJSON Schema
NameRequiredDescriptionDefault
detailNoOptional extra identifiers: machine type, revision, year, region, serial range.
existingYesWhat the person already has, ideally with the exact model number, e.g. 'Lenovo ThinkPad T480', 'Sony A7 IV', 'DeWalt DCD800', 'HP OfficeJet Pro 9015e', 'iPhone 16 Pro', 'HomePod mini'.
candidateYesWhat they want to buy: a model/part number or key specs, e.g. 'Crucial CT16G4SFRA32A', '1TB M.2 2230 NVMe', 'DCB205', 'HP 962XL', 'Canon RF 24-105mm f/4L', 'Eve Energy'.
existing_idNoOptional: an exact product id (from resolve_product, suggestions or a candidates list) instead of existing text.
candidate_idNoOptional: an exact product id instead of candidate text.

Output Schema

ParametersJSON Schema
NameRequiredDescription
fitNo
termsNo
checksNo
noticeNo
caveatsNo
missingNo
receiptNoSigned receipt (EdDSA JWS) proving Tethered Trust issued this verdict unaltered. Not a guarantee the verdict is correct.
summaryYes
verdictYes
check_idYes
decisionYessupported | conditional | incompatible | insufficient_evidence. Act on this, not on confidence alone.
evidenceNo
verifiedNoTrue only when every spec came from a manufacturer source with a recorded check date.
next_stepNo
questionsNoExactly what to ask, measure or look up next. blocking=true means no decision until answered.
candidatesNoPresent when the text matched several models: each option with its own verdict.
conditionsNoWhat must be true for a conditional answer (accessory, dependency).
confidenceYesEvidence score from fixed rules (source tier, rule strength). Not a calibrated probability: act on decision, conditions and questions.
constraintsNo
valid_untilNoWhen this answer should be re-checked (based on how fresh its sources are).
requirementsNo
decision_helpNo
required_accessoriesNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, destructiveHint=false, openWorldHint), so the bar is lower; the description adds real value by disclosing the verified-vs-unverified catalog boundary, the signed receipt, and the four-value decision taxonomy. It does not mention latency, rate limits, or failure modes, keeping 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.

Conciseness3/5

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

The purpose and usage triggers are correctly front-loaded, but the middle is a single sprawling sentence enumerating every catalog category and sub-item, which is far denser than an agent needs to select the tool. The return-value sentence is useful, but the taxonomy list bloats the definition.

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 an output schema present, return values need not be enumerated, yet the description still summarizes decisions, caveats, and multi-candidate behavior, and it explains the out-of-catalog fallback. An agent has enough to call it correctly; only the absence of any exclusion/alternative guidance leaves a small gap.

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 100%, so the schema already documents each field with examples, including the id-based substitutes. The description adds no additional semantics for existing/candidate/detail or the *_id parameters, so the baseline 3 applies.

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?

Opens with a specific verb+resource question ('Will this exact part or accessory work with that exact device?') and immediately frames the two-input comparison. It is clearly distinguishable from siblings like check_fit, check_batch, or find_parts because it names both sides of the pair being compared.

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?

'Use before recommending or buying' gives an explicit trigger condition and the query even quotes user phrasing. It never names an alternative tool or states when NOT to use this one (e.g. batch cases belonging to check_batch), 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.

check_fitCheck physical fitA
Read-onlyIdempotent
Inspect

Will this appliance physically fit this space? Compares dimensions plus typical installation clearances and required connections (power, water, gas).

ParametersJSON Schema
NameRequiredDescriptionDefault
hasNoConnections available at the location.
needsNoConnections the product needs, e.g. '120V, water line' or '240V'.
openingYesWidth, height and depth of the space it goes into. Any subset is accepted; missing axes come back as 'missing'.
productNoWhat's being installed, e.g. '36-inch French-door refrigerator'. Used to pick typical clearances.
categoryNo
product_dimensionsNoWidth, height and depth of the product (from its spec sheet). Any subset is accepted; missing axes come back as 'missing'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
fitNo
termsNo
checksNo
noticeNo
caveatsNo
missingNo
receiptNoSigned receipt (EdDSA JWS) proving Tethered Trust issued this verdict unaltered. Not a guarantee the verdict is correct.
summaryYes
verdictYes
check_idYes
decisionYessupported | conditional | incompatible | insufficient_evidence. Act on this, not on confidence alone.
evidenceNo
verifiedNoTrue only when every spec came from a manufacturer source with a recorded check date.
next_stepNo
questionsNoExactly what to ask, measure or look up next. blocking=true means no decision until answered.
candidatesNoPresent when the text matched several models: each option with its own verdict.
conditionsNoWhat must be true for a conditional answer (accessory, dependency).
confidenceYesEvidence score from fixed rules (source tier, rule strength). Not a calibrated probability: act on decision, conditions and questions.
constraintsNo
valid_untilNoWhen this answer should be re-checked (based on how fresh its sources are).
requirementsNo
decision_helpNo
required_accessoriesNo

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds useful scope context (clearances and connections are considered, not just raw dimensions), but says nothing about how authoritative the clearance figures are, what happens on 'missing' axes, or any estimation caveats.

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?

Two short sentences with zero padding; the core comparison is front-loaded ahead of the detail about which inputs are considered.

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 an output schema present and annotations covering the read-only/idempotent profile, the description need not explain return values. It covers what is compared and which inputs matter, leaving only the sibling routing and clearance reliability unaddressed.

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 83%, so the schema already documents dimensions, units, the 'has'/'needs' connection strings and the accepted-subset behavior. The description's mention of dimensions and connections largely restates the schema and adds no new syntax or format detail.

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 a specific verb+resource: a fit check that 'compares dimensions plus typical installation clearances and required connections (power, water, gas)'. That scope is clear and separable from siblings like check_compatibility, though it never names the alternative, so an agent must infer the boundary itself.

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 by the rhetorical question 'Will this appliance physically fit this space?', which tells the agent when the tool is relevant. It gives no when-not guidance and does not mention how it differs from check_compatibility or check_cart_before_checkout, both of which an agent might otherwise pick.

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

enrich_catalogEnrich a product catalogA
Read-only
Inspect

For retailers and marketplaces (API key required): up to 50 products per call (SKU with title, URL or GTIN) in; each product's compatibility attributes out (standards it takes and provides, numeric limits, evidence level, freshness), ready to add to a product feed or UCP catalog so agents can match it to what shoppers own.

ParametersJSON Schema
NameRequiredDescriptionDefault
itemsYes
researchNoDefault true: research up to 10 items per call that aren't in our catalog (from the manufacturer's page).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint=false and destructiveHint=false. The description adds genuinely new behavioral context: API key requirement and a per-call batch ceiling of 50 products. It does not explain what idempotentHint=false means in practice (e.g. re-running re-researches/refreshes), which is the one annotation worth unpacking.

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 audience and scope lead the sentence, which is the right front-loading, and there is no filler. It is one sprawling sentence with nested parentheses ('(standards it takes and provides, numeric limits, evidence level, freshness)', '(SKU with title, URL or GTIN)') that packs a lot into a single breath and slightly resists parsing.

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 a title, a rich annotation set, and an output schema already in place, the description carries a lighter burden, and it covers audience, auth, batch limits, and output character well. The notable hole is that the `research` behavior (default on, up to 10 uncatalogued items researched from the manufacturer's page) appears only in the schema, so an agent reading the description alone would miss a meaningful mode.

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 50%. The description names only three of the six item fields (title, URL, GTIN) and adds no format detail, and it omits the `research` parameter entirely — arguably the most consequential one, since it governs whether unknown items trigger manufacturer-page research. With half the schema documented, the baseline 3 is appropriate.

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 states a specific verb and resource ('enrich a product catalog'), names the audience (retailers and marketplaces), and pins down both the input shape (SKU with title, URL or GTIN, up to 50 per call) and the output (compatibility attributes: standards taken/provided, numeric limits, evidence level, freshness). This is specific enough to distinguish it from siblings like check_compatibility or resolve_product.

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?

It establishes the audience and scenario ('ready to add to a product feed or UCP catalog so agents can match it to what shoppers own'), which implies batch enrichment use. However, it never states when to reach for this tool versus the many sibling tools, nor any exclusions, so the routing is left to inference.

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

find_partsFind parts that fitA
Read-onlyIdempotent
Inspect

Which parts and accessories fit this model? OEM parts first, then verified alternatives: e.g. a refrigerator's water filter, a printer's cartridges, a camera's lenses and batteries, a tool's batteries, or the RAM, SSDs and chargers that fit a computer.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesModel number of the device, tool, camera, printer or appliance, e.g. 'GFE28GYNFS', 'ThinkPad T480', 'Canon EOS R6 Mark II', 'Milwaukee 2904-20', 'Brother HL-L2350DW'.
part_typeNoOptional filter, e.g. 'water filter', 'memory', 'ssd', 'charger', 'battery', 'lens', 'ink', 'toner', 'band'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
foundYes
modelNo
partsYes
termsNo
totalNo
noticeNo
messageYes
check_idYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description does add one genuine behavioral fact beyond the annotations: result ordering ('OEM parts first, then verified alternatives'). It says nothing about auth needs, rate limits, or result breadth.

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?

Purpose is front-loaded in the first clause, followed by a compact colon-led example list. The enumeration is longer than strictly necessary but remains scannable and informative rather than padded.

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?

An output schema exists, so return values need not be described, and the read-only annotations carry the safety profile. Combined with 100% schema coverage, the description supplies enough context to call the tool correctly, though it could note its relationship to the compatibility-checking siblings.

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 100% and both parameters are already documented with rich examples in the schema itself. The description's example list largely mirrors the 'model' and 'part_type' schema descriptions, so it adds little parameter meaning beyond structured data. Baseline 3 applies when the schema does the heavy lifting.

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 a specific question ('Which parts and accessories fit this model?') and enumerates concrete resource examples (water filters, cartridges, lenses, RAM, SSDs) that make the discovery intent unambiguous. It does not, however, name or contrast against close siblings like check_fit, check_compatibility, or identify_product, so differentiation must be inferred.

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 through the example device/part pairings, which show the tool's scope, but there is no explicit when-to-use, when-not-to-use, or alternative tool named. An agent can guess it is a discovery tool, but nothing tells it to prefer check_compatibility for a specific known pair.

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

fix_purchase_planFix a purchase planA
Read-only
Inspect

When a plan comes back incompatible or conditional: the smallest set of changes that makes it work (swap a part for a verified one that fits everything else, add a missing cooler, hub or adapter, trim quantities that exceed slots), re-validated, with the reason for each change. Fewest changes and verified products first; no prices.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalNoOptional: what the person is trying to do, e.g. 'upgrade this laptop to 32 GB'. Echoed back; requirements are derived from the devices.
setupNoWhat the person already owns (devices, appliances, tools, hubs) with exact model numbers, plus current configuration.
purchaseYesEverything being considered for purchase: parts, accessories or new devices, with quantities.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, and destructiveHint. The description adds meaningful behavior beyond those: the result is re-validated, includes the reason for each change, favors fewest changes and verified products, and contains no prices. It does not contradict the read-only annotation.

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 compact and front-loads the triggering condition before the output characteristics. The parenthetical examples are dense but useful; there is little 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?

With a rich input schema and an output schema present, the description need not explain return structure. It adequately covers the triggering context and optimization behavior, though it could more explicitly connect to validate_purchase_plan or recheck_plan.

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 100%, and the schema already documents goal, setup, and purchase thoroughly. The description adds no parameter-level syntax or meaning beyond what the schema provides, so baseline 3 is appropriate.

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 a specific job: produce the smallest set of changes that makes an incompatible or conditional purchase plan work, re-validated, with reasons for each change. It clearly differentiates the tool from a pure validation tool by targeting plans that already failed validation, though it does not name a specific sibling alternative.

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 gives clear context: use when a plan comes back incompatible or conditional. No explicit exclusions or named alternatives are provided, but the triggering condition is unambiguous.

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

how_it_worksHow Tethered Trust worksA
Read-onlyIdempotent
Inspect

What Tethered Trust is, what it covers, where its data comes from, pricing and terms.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds only a topical outline of the content (scope, provenance, pricing, terms), which is mild extra context but not the kind of behavioral detail (static vs. dynamic content, freshness) that would push higher.

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 front-loaded sentence that enumerates the covered topics with zero filler. Every clause earns its place and nothing is padded.

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 a declared output schema, the description does not need to explain return values, and for a zero-parameter informational tool the topical outline is nearly sufficient. The only real gap is the absence of routing guidance against the many sibling tools.

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 there is no parameter semantics to document and the baseline of 4 applies. The description correctly avoids inventing parameters or implying optional arguments that do not exist.

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 concretely enumerates the resource's scope: what Tethered Trust is, its coverage, data provenance, pricing, and terms. An agent can tell this is an informational overview tool with no side effects. It does not, however, distinguish itself from adjacent informational siblings like list_coverage or list_standards.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance, nor any mention of alternatives. With siblings such as list_coverage, list_standards, and check_compatibility available, the agent is left to infer that this is the general orientation tool rather than a targeted lookup.

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

identify_from_photoRead a model number from a photoA
Read-only
Inspect

Read the brand, model and part numbers from a photo of a label or nameplate and match them to products. Matches are returned as candidates, with what was read. The photo isn't stored.

ParametersJSON Schema
NameRequiredDescriptionDefault
hintNoOptional context, e.g. 'refrigerator label inside the door'.
imageYesA photo of the label or nameplate as a data URL (data:image/jpeg;base64,...), under 4 MB.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, destructiveHint=false, and openWorldHint, so the safety profile is covered. The description adds genuinely non-structured context: matches come back as candidates rather than a single resolved answer, and 'the photo isn't stored' is a privacy/data-handling fact not derivable from annotations or schema. This meaningfully lowers uncertainty for a photo upload.

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 short sentences with no filler, and the core action (read numbers from a photo and match to products) is front-loaded before the output and privacy notes. Every sentence carries new information.

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 an output schema present, the description need not explain return values, and it correctly stops after noting the candidate-based matching. It covers input type, output nature, and data handling. The only gap is routing guidance relative to the many sibling identification/validation tools.

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 100%, so both parameters (image as a base64 data URL under 4 MB, and the optional hint) are already fully documented in the schema. The description echoes the photo-of-a-label framing but adds no format, size, or hint-usage detail beyond what the schema provides; baseline 3 applies.

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 names a specific verb and resource: read brand, model, and part numbers from a photo of a label or nameplate, then match them to products. It is concrete about the input artifact (label/nameplate photo) and the output shape (candidates plus what was read). It does not, however, distinguish itself from the sibling identify_product, leaving the agent to infer which identification path fits.

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 by the phrase 'a photo of a label or nameplate' – the agent can infer this is for image-based identification. But there is no explicit when-to-use versus when-not, no mention of the sibling identify_product or resolve_product as alternatives, and no prerequisites stated.

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

identify_productIdentify any productA
Read-only
Inspect

Identify a product from a URL, model number, SKU, ASIN, UPC/EAN or description, and get its compatibility profile: the standards it takes and provides (mounts, sockets, connectors, platforms, part numbers, sizes), numeric limits (OS version, watts, weight, screen size), evidence and freshness. Products not in our reviewed catalog are researched on demand from the manufacturer's page and returned with status read_from_manufacturer_page (unreviewed) or unconfirmed (not enough to decide on). Use first when the product could be anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoOptional: is this something the person already owns, or something being considered? Helps when a product is both (a phone owns cases; a car mount holds phones).
productYesAnything that identifies the product: a manufacturer or retailer URL, a model number, SKU, ASIN, UPC/EAN, a vehicle VIN, or a listing title / description.
researchNoDefault true. Set false to look only in the reviewed catalog (no on-demand research).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=true), and the description adds substantive behavior beyond them: unreviewed products are researched on demand from the manufacturer's page and returned with the statuses read_from_manufacturer_page (unreviewed) or unconfirmed, plus evidence and freshness are surfaced. That tells the agent to expect degraded-confidence results for off-catalog items, which no annotation conveys.

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 purpose is front-loaded in the first clause, followed by the returned profile and then the fallback behavior and a routing hint. The sentences are dense and occasionally long (the parenthetical standards list), but each clause carries information an agent needs; nothing is padding.

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 an output schema present, the description need not explain return values, yet it still covers accepted inputs, the research on/off mode, and the outcome statuses for unresolvable products. For a single-required-parameter identification tool with rich annotations, nothing essential is missing.

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 100%, so each parameter (including the role enum and the research default) is fully documented in the schema itself. The description restates the product identifier forms but adds no new syntax or format detail beyond what the schema already provides, so the baseline of 3 applies.

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 opens with a specific verb ("Identify") and resource ("a product") and enumerates the accepted identifier forms (URL, model number, SKU, ASIN, UPC/EAN, description), which cleanly separates it from identify_from_photo and, with the closing "Use first when the product could be anything," from resolve_product/check_compatibility. It also states what the tool returns — a compatibility profile — so scope is unambiguous.

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?

"Use first when the product could be anything" gives an explicit entry-point condition, and the identifier list implies that photo-based identification belongs to identify_from_photo. However, no sibling is named and there is no stated when-not-to-use (e.g., when the product is already resolved, use resolve_product instead), so the routing guidance stops one step short of fully explicit.

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

list_coverageList coverageA
Read-onlyIdempotent
Inspect

Which product categories and models are in the compatibility graph, with counts. Pass a category to list its models. Covers anything that has to fit, plug in, mount, run on or charge with something someone owns. Verified catalog (specs checked against cited manufacturer sources): computers & consoles (RAM, M.2 SSDs, USB-C chargers), phones/tablets/watches (USB-C PD, MagSafe, Qi2, watch bands), cameras (lens mounts, adapters, batteries, memory cards), cordless power tools (battery platforms), printers (ink, toner, drums), appliances (refrigerator water and air filters, installation fit), vacuums (bags, filters, batteries, robot-vacuum parts), air quality (purifier filters, HVAC media, humidifier pads), e-bikes (batteries and chargers by drive system), smart home (Matter, Thread, Zigbee, hubs, bulb bases), PC building (CPU sockets, cooler mounts, memory, clearances, power), cars & EV charging (tire sizes by trim, NACS/J1772/CCS1 and approved adapters, home chargers; a starter set of models) and TVs, consoles & streaming (VESA mounts, weight and screen size, console generations, app platforms). Products outside the catalog in any category are read by AI in terms of the same standards and returned as unverified.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoOptional: one category id from a previous list_coverage call (e.g. 'cameras') to list every model in it.

Output Schema

ParametersJSON Schema
NameRequiredDescription
modelsNo
totalsYes
categoriesYes

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, openWorld=false, non-destructive), so the bar is lower. The description adds genuinely new behavioral context: the catalog is verified against cited manufacturer sources, and anything outside it is returned as 'unverified' AI-read data. That provenance/verification distinction is not present in any structured field.

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?

The purpose and the category instruction are front-loaded, which is good. But the massive mid-sentence enumeration of every category and sub-part is bloated, especially since an output schema exists and would return that catalog anyway; it reads like a data dump rather than an invocation aid.

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 enumeration tool with an output schema, return-format detail is unnecessary and correctly omitted. The description covers scope, the optional filter, and the verified-vs-unverified behavior, which is enough to invoke it correctly; only the routing against siblings is absent.

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 100% and the single optional 'category' param is fully documented in the schema, including the example value and the 'id from a previous list_coverage call' guidance. The description's 'Pass a category to list its models' restates rather than extends that, so baseline 3 applies.

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 opening sentence gives a specific verb and resource: listing product categories and models in the compatibility graph, with counts. The purpose is unmistakable, but it never names or contrasts a sibling tool (e.g. check_compatibility, find_parts), so it misses the sibling-differentiation bar for a 5.

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?

'Pass a category to list its models' supplies a conditional usage pattern, which is more than nothing. However, it gives no when-to-use vs. the many check_* / find_parts siblings and no exclusions, leaving the agent to infer that this is the discovery entry point.

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

list_standardsList the standards vocabularyB
Read-onlyIdempotent
Inspect

Every compatibility standard family (with reviewed values), the open formats used for new values, and the numeric limit keys. How Tethered Trust represents physical connections, dimensional fit, vehicles, software and services.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description usefully discloses the scope of the vocabulary returned, but adds nothing about caching, staleness, or how 'reviewed values' differ from open formats.

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?

Two sentences, no filler, with the content list front-loaded. The second sentence is slightly abstract ('How Tethered Trust represents...') and could be folded into the first, but the overall size is well matched to a zero-parameter listing tool.

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

Completeness3/5

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

An output schema exists, so return values need not be explained, and a parameterless read-only tool is low-complexity. What is missing is the workflow context — when an agent should consult this vocabulary before calling check_compatibility or check_fit — which the description never supplies.

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 there is nothing for the description to disambiguate; the baseline of 4 applies. The schema is an empty object and needs no compensating text.

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 enumerates exactly what the tool surfaces — compatibility standard families with reviewed values, open formats for new values, and numeric limit keys — and frames it as Tethered Trust's representation model, which separates it from check_compatibility/check_fit. It never states a verb ('list'/'retrieve') and never names a sibling, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the seventeen siblings. The closest thing to guidance is the domain framing sentence, which implies 'reference lookup' but leaves the agent to infer it.

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

plan_upgradePlan an upgradeB
Read-only
Inspect

What can be upgraded on this device and with what: memory (type, slots, maximum), storage (M.2 slots, lengths, PCIe generation), power, CPU and cooling for motherboards, graphics card and cooler clearance for PC cases, plus the parts in our graph that fit (verified first) and the manufacturer's notes.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoOr its product id.
goalNoOptional: what the person wants, e.g. 'more memory for video editing'.
modelNoThe device's exact model number or name (laptop, motherboard, case, camera, tool...).

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description usefully adds that fitting parts are 'verified first' and that manufacturer's notes are included, which tells the agent something about result reliability. It does not disclose auth requirements, rate limits, or the non-idempotent behavior flagged in annotations.

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?

A single well-structured sentence with a colon-led enumeration that is front-loaded on the core purpose. It is dense but each clause (memory, storage, power, CPU/cooling, GPU clearance) carries distinct information rather than filler.

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 an output schema present, the description need not explain return values, and it adequately conveys the content domains and the verification caveat. The main gap is the absence of routing guidance relative to sibling repair/compatibility tools.

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 100%, so the schema already documents id, goal and model. The description implies a target device ('this device') but adds no syntax, format, or constraint detail about the parameters beyond what the schema provides. Baseline 3 is appropriate.

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 a concrete resource and scope: upgrade options for a given device, enumerated across memory, storage, power, CPU/cooling and GPU clearance. An agent can tell it produces a candidate upgrade plan rather than a yes/no check. It does not, however, explicitly differentiate itself from siblings like check_compatibility, check_fit or find_parts.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance, and none of the closely related siblings (check_compatibility, check_fit, find_parts, validate_purchase_plan) are named as alternatives. Usage must be inferred from the enumerated content.

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

recheck_planRecheck a saved planA
Read-only
Inspect

Re-run a saved purchase plan against today's data before ordering, and see what changed since it was issued: decisions, product records, or receipt status.

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_idYesThe plan_id from validate_purchase_plan.

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description reinforces that it re-runs against live 'today's data' (consistent with the non-idempotent hint) and enumerates what it inspects, but adds no auth, rate-limit, or result-stability detail beyond that.

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?

One well-formed sentence that front-loads the action ('Re-run a saved purchase plan') and then the purpose and outputs. No filler.

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?

An output schema exists, so return values need not be explained; the description still signals the kinds of changes reported. For a single-param read-only recheck it is essentially complete, with only minor room for stating prerequisites like plan freshness.

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?

With one parameter at 100% schema coverage, the schema already documents plan_id and its provenance from validate_purchase_plan. The description contributes nothing further about the identifier's format or constraints, so the baseline 3 applies.

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 gives a specific verb and resource ('Re-run a saved purchase plan against today's data') plus the observable outcomes (decisions, product records, receipt status). It clearly differs from validate_purchase_plan (which issues a plan) and fix_purchase_plan, though it never names a sibling explicitly.

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?

'before ordering' establishes the timing context in which this tool applies, and the schema ties plan_id back to validate_purchase_plan, implying the upstream step. There is no explicit when-not or named alternative, so it stops 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.

report_outcomeReport what happenedA
Idempotent
Inspect

After a purchase, report whether it actually fit. Free, safe to call, and only the first report per check counts. Reports are weighted by level: self_reported (website), agent_reported (anonymous API/MCP), partner_reported (API key holders) and order_confirmed (order evidence we've confirmed). Only the last two can raise future confidence.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNoWhat happened, briefly.
outcomeYes
check_idYesThe check_id returned by check_compatibility, find_parts or check_fit.
evidenceNoOptional order details we can confirm later (raises the report to 'order_confirmed' once reviewed). Order references only; payment and personal details aren't accepted.

Output Schema

ParametersJSON Schema
NameRequiredDescription
levelNo
messageYes
recordedYes
evidence_receivedNo

TDQS

A4.1/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: it explains that only the first report per check counts (reinforcing idempotency), describes the four weighted report tiers, and clarifies that only partner_reported and order_confirmed can raise future confidence. This is meaningful consequence-level information an agent cannot derive from the structured fields.

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?

Four sentences, front-loaded with the core action before the tier/weighting detail. Dense with useful information and no filler, though the tier list is fairly compact for the weight it carries.

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 an output schema present, return values need no explanation, and the description covers the tiering and idempotency behavior that matters for a write tool. It omits any auth/permission requirement for the partner_reported tier, which would make it fully complete.

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 75% and the schema already documents check_id, outcome, and evidence in detail. The description connects the evidence object to the 'order_confirmed' tier, but does not explain the note parameter or the fit/no_fit semantics beyond what the enum and schema provide. Baseline 3 is appropriate.

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+resource with clear timing: 'After a purchase, report whether it actually fit.' An agent can immediately tell this is the post-purchase feedback tool, distinct from check_fit or verify_receipt. It does not name a sibling explicitly, so it falls short of a 5.

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 triggering context ('After a purchase') and reassures the caller it is 'Free, safe to call.' However, it names no alternatives and gives no explicit when-not-to-use guidance, so it is clear-context without exclusions rather than a full routing statement.

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

resolve_productLook up a productB
Read-onlyIdempotent
Inspect

Look up one product in the Tethered Trust graph by name or model number and get its structured specs, what it accepts (mounts, battery platforms, cartridges, protocols) and what it fits. If the text could mean several models, returns them all as candidates (ambiguous: true) with ambiguous: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesProduct name or model number.

Output Schema

ParametersJSON Schema
NameRequiredDescription
foundYes
messageNo
productNo
ambiguousNo
candidatesNo
read_from_textNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered structurally. The description adds the ambiguity/candidates behavior, but says nothing about a no-match result, alternative identifiers, or lookup scope limits, so it adds only modest value beyond annotations and the output schema.

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?

The purpose is front-loaded in the first clause, but the final clause is literally redundant — "returns them all as candidates (ambiguous: true) with ambiguous: true" repeats the same flag twice. The second sentence also restates return fields the output schema already documents.

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 an output schema present, the description need not explain return values, and annotations cover the safety profile; what remains is adequate for a one-parameter read lookup. The only real gap is the not-found/zero-candidate case.

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 100% and there is only one parameter, so the baseline is 3. "By name or model number" restates the schema's own description of query without adding format, normalization, or matching-rule detail.

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 a specific verb and resource ("Look up one product in the Tethered Trust graph") and enumerates the payload (structured specs, accepts, fits), which is clearly distinguishable from multi-item siblings like find_parts. It never names a sibling tool or explicitly contrasts scope, so it stops short of a 5.

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: lookup a single product by name or model number, with a fallback stated when the text is ambiguous. There is no guidance on when to prefer this over identify_product, find_parts, or check_compatibility, and no exclusions.

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

validate_purchase_planValidate a purchase planA
Read-only
Inspect

Check a whole purchase before recommending or ordering it: the setup the person owns (with current configuration) plus everything in the cart. Returns one decision (supported / conditional / incompatible / insufficient_evidence), a result per part, configuration limits across the plan (memory slots and capacity, M.2 slots), adapters or hubs still needed, substitutions for parts that won't work, the exact questions blocking a decision, evidence, and a signed receipt. Covers anything that has to fit, plug in, mount, run on or charge with something someone owns. Verified catalog (specs checked against cited manufacturer sources): computers & consoles (RAM, M.2 SSDs, USB-C chargers), phones/tablets/watches (USB-C PD, MagSafe, Qi2, watch bands), cameras (lens mounts, adapters, batteries, memory cards), cordless power tools (battery platforms), printers (ink, toner, drums), appliances (refrigerator water and air filters, installation fit), vacuums (bags, filters, batteries, robot-vacuum parts), air quality (purifier filters, HVAC media, humidifier pads), e-bikes (batteries and chargers by drive system), smart home (Matter, Thread, Zigbee, hubs, bulb bases), PC building (CPU sockets, cooler mounts, memory, clearances, power), cars & EV charging (tire sizes by trim, NACS/J1772/CCS1 and approved adapters, home chargers; a starter set of models) and TVs, consoles & streaming (VESA mounts, weight and screen size, console generations, app platforms). Products outside the catalog in any category are read by AI in terms of the same standards and returned as unverified.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalNoOptional: what the person is trying to do, e.g. 'upgrade this laptop to 32 GB'. Echoed back; requirements are derived from the devices.
setupNoWhat the person already owns (devices, appliances, tools, hubs) with exact model numbers, plus current configuration.
purchaseYesEverything being considered for purchase: parts, accessories or new devices, with quantities.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsNo
plan_idYes
receiptNo
resultsYes
summaryYes
decisionYes
evidenceNo
next_stepNo
questionsNo
confidenceNo
valid_untilNo
requirementsNo
substitutionsNo
system_checksNo
required_accessoriesNo

TDQS

A4/5.0
Behavior5/5

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

Annotations cover only the safety profile (readOnly, not destructive, openWorld), so the description carries the disclosure load and does so well: it enumerates the return payload (a single decision, per-part results, memory/M.2 slot limits, needed adapters, substitutions, blocking questions, evidence, signed receipt) and explains the verified-vs-unverified catalog behavior. This is exactly the context an agent needs beyond the structured hints.

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?

The core purpose is front-loaded, but the middle sentence is a very long catalog enumeration that reads more like a coverage dump than guidance. It is defensible for scoping, yet it bloats the definition and buries the usage instruction.

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?

Given a complex multi-item validation tool, the description covers inputs, decision output, and catalog boundaries, and the return values are also covered by the output schema (making their in-description listing redundant). The one real gap is sibling disambiguation among the many overlapping 'check/validate/verify' tools.

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 100%, so the baseline is 3. The description restates what the setup and purchase collections mean ('the setup the person owns (with current configuration) plus everything in the cart'), which adds a little framing but no syntax, ordering, or formatting detail beyond 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?

The opening clause gives a specific verb and scope: 'Check a whole purchase before recommending or ordering it,' followed by an explicit inventory of what is validated (owned setup + cart). This distinguishes it from single-item checkers like check_compatibility or check_fit. It does not, however, name siblings such as check_cart_before_checkout or recheck_plan, so the boundary is inferred rather than stated.

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 gives a clear usage context ('before recommending or ordering it') and defines the input shape (owned setup + everything in the cart, quantities included). There is no explicit when-not guidance or routing between itself and the overlapping siblings verify_receipt, check_cart_before_checkout, and recheck_plan.

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

verify_receiptVerify a receiptA
Read-onlyIdempotent
Inspect

Check a Tethered Trust receipt: is the signature ours, is it still within valid_until, and have the records behind it changed since? A valid receipt proves what we said and when; it doesn't guarantee the verdict was right.

ParametersJSON Schema
NameRequiredDescriptionDefault
jwsNoOr the full signed receipt string, if someone handed it to you.
receipt_idNoThe receipt id (rcpt_...) from a check.

Output Schema

ParametersJSON Schema
NameRequiredDescription
claimNo
statusYes
explainNo
issued_atNo
disclaimerNo
receipt_idNo
valid_untilNo
signature_validYes
changed_subjectsNo
issued_by_tethered_trustNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds real semantic value by defining what 'valid' means (proves what was said and when) and explicitly bounding the claim (does not guarantee the verdict was right), which prevents an agent from over-reading the result.

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?

Two sentences, no waste, with the operational check front-loaded before the semantic caveat. Every clause carries information the agent needs.

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?

An output schema exists, so return values need not be described, and annotations cover the safety profile. The description supplies the interpretation of a valid vs. invalid receipt, but it never says how the jws and receipt_id alternatives relate (which takes precedence, what if neither is given), leaving a small operational gap.

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 100%, so the baseline is 3; the schema already explains that jws is a full signed receipt string and receipt_id is an rcpt_ value. The description references valid_until but adds no format, precedence, or mutually-exclusive rules beyond 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 (verify/check) and resource ('Tethered Trust receipt'), then enumerates exactly the three questions it answers: signature ownership, valid_until window, and record drift. That is far more specific than a generic 'check' sibling, though it never names or contrasts an alternative tool.

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 only implied through the parameter context ('if someone handed it to you', 'from a check'), which signals the scenario but never states when to reach for this versus other verification-adjacent siblings. No explicit when/when-not guidance or prerequisites are given.

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. 18 tool updates
    • First observedcheck_batch
    • First observedcheck_cart_before_checkout
    • First observedcheck_compatibility
    • First observedcheck_fit
    • First observedenrich_catalog
    • First observedfind_parts
    • First observedfix_purchase_plan
    • First observedhow_it_works
    • First observedidentify_from_photo
    • First observedidentify_product
    • First observedlist_coverage
    • First observedlist_standards
    • First observedplan_upgrade
    • First observedrecheck_plan
    • First observedreport_outcome
    • First observedresolve_product
    • First observedvalidate_purchase_plan
    • First observedverify_receipt

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources