Skip to main content
Glama

Nestproof: Graded pattern files your LA factory signs off before the cut

Server Details

Graded pattern-file transfer to LA factories, with factory sign-off checks; terms by email

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

B3.4/5.0

Scored across 18 tools

Disambiguation3/5

The set has two dense clusters: requirement intake (interpret_requirement, edit_requirement, submit_request, send_requirement) and requirement/offer reading (get_requirement, request_status, inspect_offer). Descriptions do explain the distinctions (freeform vs structured vs field-edit vs send, and receipt vs offer credentials), but an agent must read carefully to avoid picking the wrong entry point or reader. The transactional tools (accept/decline/counter_offer, inspect_delivery/answer_remedy, release_payment, submit_purchase_order, report_vendor_status) are cleanly separated.

Naming Consistency4/5

Nearly every tool follows a consistent snake_case verb_noun pattern (accept_offer, counter_offer, inspect_offer, submit_purchase_order, report_vendor_status). The one clear deviation is request_status, which is noun_verb and reads as a reader alongside get_requirement, creating a minor inconsistency rather than a systemic one.

Tool Count4/5

Eighteen tools is on the heavy side, but the domain is a long multi-stage flow (intake, offer, counter, accept, purchasing, payment, delivery, remedy) and each tool maps to a distinct stage. There is some redundancy in the intake group, but no filler tools are present.

Completeness4/5

The lifecycle is largely covered end to end: requirement creation and revision, offer inspection/counter/accept/decline, purchasing requirements and PO matching, payment release, delivery inspection, remedies, and deliverable retrieval. Gaps are minor: there is no explicit cancel/withdraw for a sent requirement, offer, or placed order, no listing across multiple requests/offers (status is credential-scoped), and pattern file transfer is punted to email.

Available Tools

18 tools
accept_offerAccept an offer and place the orderA
Idempotent
Inspect

Place an order on terms you have inspected and the buyer has authorized you to accept. Requires the exact terms hash and explicit acceptance. Follow inspect_offer later for payment links and verified payment state.

NameRequiredDescriptionDefault
idYesThe request or offer id from your receipt or customer link
nameYes
tokenYesPrivate token from your receipt or customer link; keep it for later visits
acceptYes
organizationNo
terms_sha256Yes
purchase_orderNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly=false, idempotent=true, destructive=false; the description adds the commitment semantics (exact terms hash binding, explicit acceptance flag) and clarifies scope by pushing payment links and verified payment state to inspect_offer. It does not say what happens on a hash mismatch or whether the resulting order can be cancelled, which are the remaining behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

Three tight sentences, front-loaded with the commitment action and its preconditions before the follow-up pointer. "Follow inspect_offer later" is slightly awkward phrasing but carries no filler.

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?

With no output schema and seven parameters, the description covers the commit decision and the post-acceptance path well, but leaves unanswered what success returns (order id? receipt?), how hash mismatch is reported, and the semantics of three optional fields. Adequate for the happy path, incomplete around failure and identity handling.

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 only 29%, so the description must compensate, and it does add meaning for the two highest-stakes parameters (terms_sha256 as the exact inspected-terms hash, accept as an explicit acceptance flag). However, name, organization, and purchase_order are undocumented in both schema and description, leaving the agent to guess buyer-identity and PO-field conventions.

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 concrete verb and outcome ("Place an order") rather than restating the name, and frames it against the offer lifecycle ("terms you have inspected"). It is distinguishable from decline_offer/counter_offer, but the link to the specific offer being accepted is only implied through the required id/hash.

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 real preconditions: terms must already have been inspected and the buyer must have authorized acceptance, which is exactly the decision gate an agent needs. It routes to inspect_offer for payment follow-up, but never states when not to use this tool (e.g., instead counter_offer or decline_offer when terms are unacceptable).

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

answer_remedyAnswer a proposed remedyA
Idempotent
Inspect

Accept or decline a remedy the business proposed on a placed order (inspect_offer thread.fulfilment.remedies with state PROPOSED). Recorded for the business, which applies it and shows the result there. Accepting a credit or refund here moves no money; the business records it when its payment processor does.

NameRequiredDescriptionDefault
idYesThe request or offer id from your receipt or customer link
nameYesName of the person making this for the buyer
noteNo
tokenYesPrivate token from your receipt or customer link; keep it for later visits
answerYes
remedy_idYes
terms_sha256YesExact terms_sha256 from inspect_offer; the act is refused if the terms have changed since

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare this is a non-read-only, idempotent, non-destructive write, so the description's job is to say what the write actually causes. It explains that the answer is recorded for the business, which applies it on its side, and that an ACCEPT of credit or refund moves no money until the payment processor records it. That is meaningful side-effect disclosure beyond the annotations; only failure/retry behavior is left implicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

Three sentences, front-loaded with the action and followed by effect and then payment/money clarification, with no filler. The middle sentence is slightly convoluted in phrasing but still carries distinct information.

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?

For a 7-parameter mutation with no output schema and only 57% schema coverage, the description covers the important side-effect semantics but is thin on the optional note and on what the caller receives back after answering. An agent can call it correctly, but some parameter-level semantics are left to the schema or unstated.

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?

Coverage is 57%, so the schema already documents id, name, token, and terms_sha256 while remedy_id, answer, and note have none. The description usefully explains where remedy_id comes from (the PROPOSED remedy in the offer thread) and what ACCEPT/DECLINE mean at a business level, but leaves note and name unaddressed, which matches the baseline 3 rather than exceeding it.

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?

Uses a specific verb pair (accept/decline) on a specific resource (a remedy proposed by the business on a placed order), which is concrete enough to act on. It does not explicitly distinguish itself from the sibling tools accept_offer and decline_offer, so an agent must infer that this one targets a remedy object rather than an offer.

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?

The parenthetical tells the agent exactly where the input comes from (inspect_offer thread.fulfilment.remedies with state PROPOSED), which is genuine when-to-use guidance tied to a prerequisite. It stops short of naming exclusion cases, such as what to do when no remedy is in PROPOSED state.

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

counter_offerPropose changes to an offerA
Idempotent
Inspect

Propose a change to an issued offer on its inspected terms: other quantities (by item index in terms.items), another list of companies (where the items price companies), a delivery date, a total price for the whole, a payment plan, or a note. It is a proposal, not a change: the terms stand and can still be accepted as they are. The business answers it in inspect_offer thread.counteroffers, with a revised offer to inspect and accept, or a reason. A later proposal replaces an earlier one still awaiting an answer. Nothing here orders or pays.

NameRequiredDescriptionDefault
idYesThe request or offer id from your receipt or customer link
nameYesName of the person making this for the buyer
tokenYesPrivate token from your receipt or customer link; keep it for later visits
proposalYesAt least one of quantities, counterparties, deliver_by, total_minor, payment or note
organizationNoThe buyer's organization
terms_sha256YesExact terms_sha256 from inspect_offer; the act is refused if the terms have changed since

TDQS

A4.5/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: the original terms remain intact, a later proposal silently replaces an earlier one still awaiting an answer, and the business responds in inspect_offer thread.counteroffers with a revised offer or a reason. The closing 'Nothing here orders or pays' clarifies the non-destructive boundary even though readOnlyHint is false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

Front-loaded with the purpose, then the changeable dimensions, then the consequence and follow-up path. Dense but each sentence carries information; a few clauses ('on its inspected terms') are jargon-heavy but not wasteful.

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

Completeness4/5

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

With no output schema, the description usefully explains where the answer appears (inspect_offer thread.counteroffers) and what happens to superseded proposals. For a nested, five-required-parameter mutation tool that is nearly complete, though it says nothing about failure modes or authorization beyond the token carried in the schema.

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

Parameters4/5

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

Schema coverage is already 100%, and the description still adds meaning by tying quantities to item indices in terms.items and explaining counterparties only applies where items price companies, plus framing total_minor as a price for the whole. It stops short of describing the token/terms_sha256 staleness check, but the schema covers that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb and resource ('Propose a change to an issued offer') and enumerates the dimensions that can be changed (quantities, companies, delivery date, total, payment plan, note). It immediately frames the act as a proposal rather than a mutation, which separates it from accept_offer without naming it.

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?

Clear about when to use it: when the inspected terms are not acceptable as-is, while noting the terms still stand and can be accepted unchanged. It does not explicitly name accept_offer or decline_offer as the alternatives, so routing is implied rather than stated.

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

decline_offerDecline an offerC
DestructiveIdempotent
Inspect

Decline an issued offer on its inspected terms.

NameRequiredDescriptionDefault
idYesThe request or offer id from your receipt or customer link
tokenYesPrivate token from your receipt or customer link; keep it for later visits
reasonNo
terms_sha256Yes

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is covered. The description adds nothing beyond that: it does not say the decline is final, what happens to the offer or any held funds, or how a terms_sha256 mismatch is handled — all material for an irreversible mutation.

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?

One short, front-loaded sentence with no filler, so there is no wasted wording. However, the brevity comes at the cost of the preconditions and consequences an agent needs, so it reads as under-specified rather than efficient.

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

Completeness2/5

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

This is a destructive, irreversible mutation with no output schema and only half its parameters documented in the schema. The description should explain the inspect-then-decline flow, the role of the terms hash, and what success or failure looks like; it covers none of that.

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 50%: id and token carry descriptions, while reason and terms_sha256 do not. The phrase 'inspected terms' weakly points at terms_sha256 but never explains that it binds the decline to the exact terms version shown by inspect_offer, nor what happens if it is stale; reason's purpose is left entirely unstated. Baseline 3 given partial coverage, but the gap is not compensated.

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 ('Decline') and resource ('an issued offer'), which cleanly separates it from siblings accept_offer, counter_offer, and answer_remedy. The trailing phrase 'on its inspected terms' is opaque, but the core action 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 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 guidance, no mention that inspect_offer must run first, and no statement of consequences versus accept_offer or counter_offer. 'On its inspected terms' faintly implies a prior inspection step, but the agent must guess at the prerequisite ordering.

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

describe_businessAbout Nestproof
Read-onlyIdempotent
Inspect

What Nestproof does (Graded pattern files your LA factory signs off before the cut: Describe your pattern files and your Los Angeles factory's request. Get a proposed transfer scope, the factory sign-off checks and an owner for every open item, then nonbinding terms by email.), what happens to a request, what you receive, its scope, and the request fields with examples.

NameRequiredDescriptionDefault

No parameters

edit_requirementChange a requirement by fieldB
Idempotent
Inspect

Set fields by name ({"op":"set","values":{...}}, an empty value clears) or change the list ({"op":"add"|"update"|"remove"|"replace", ...}), exactly as given: no reading. Use it to answer the open question when the answer is a value.

NameRequiredDescriptionDefault
idYesThe requirement id from an earlier answer
opsYes
op_idNo
tokenYesIts private token (also the receipt token of the request it is sent as); keep it private
base_revisionNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare the safety profile (readOnlyHint=false, idempotentHint=true, destructiveHint=false, openWorldHint=false). The description adds two useful traits beyond that: an empty value clears the field, and the payload is applied 'exactly as given: no reading' — i.e. no read-back or validation of the result. It does not explain what happens on revision conflict (base_revision), how op_id interacts with the idempotency hint, whether multiple ops are atomic, or what the call returns despite there being no 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?

It is short and packs real information into few words, but it is front-loaded with JSON snippets instead of a plain statement of what the tool does, and phrases like 'exactly as given: no reading' and 'the open question' force the agent to decode intent. Some compaction costs clarity here.

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?

For a 5-parameter mutation tool with no output schema and only 40% schema coverage, the description covers the ops payload and the clear-on-empty rule but omits conflict handling via base_revision, the 30-op limit, atomicity of multi-op batches, and any statement of what a successful call returns. Enough to attempt a call, not enough to call it safely in a concurrent setting.

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

Parameters4/5

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

Schema coverage is only 40%, and the description compensates for the most complex parameter by enumerating the ops grammar ({"op":"set","values":{...}}, add/update/remove/replace, empty clears) that the schema leaves as an untyped object array. It leaves op_id (80-char limit) and base_revision (optimistic concurrency) entirely unexplained, so the compensation is substantial but incomplete.

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: set named fields on a requirement, or add/update/remove/replace list entries, with concrete op payload shapes. 'No reading' implicitly separates it from the read-side sibling get_requirement, though that sibling is never named. An agent can tell what the tool mutates, but the phrasing is telegraphic rather than plainly stated.

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?

'Use it to answer the open question when the answer is a value' gives a conditional trigger, which is more than nothing. However, it depends on unstated domain vocabulary ('the open question') and never names the alternative path (e.g. interpret_requirement or answer_remedy) for when the answer is not a value. The when-not guidance is only implied.

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

get_requirementRead a requirement as it standsB
Read-onlyIdempotent
Inspect

A Nestproof requirement as it stands: each value with where it came from, what it replaced, the open question, words not yet read, whether it was sent and any offer on it.

NameRequiredDescriptionDefault
idYesThe requirement id from an earlier answer
tokenYesIts private token (also the receipt token of the request it is sent as); keep it private

TDQS

B3/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 adds useful disclosure about returned state – provenance, what a value replaced, the open question, unread words, sent status, and any offer – which is genuine context beyond the annotations. It says nothing about failure modes (invalid id/token) or pagination/size behavior.

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 front-loaded sentence with a compact colon list, no filler. Some phrases ('words not yet read') are idiosyncratic and slightly opaque, but nothing is redundant.

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 two-parameter read-only tool with full schema coverage and no output schema, the description carries the return-value burden and does list the key fields an agent would get back. It stops short of explaining response shape or how the provenance/replacement data is structured, but it is adequately complete for invocation.

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 the uuid id ('from an earlier answer') and the 48-hex token (private receipt token) are already documented in the schema. The description adds no further meaning about either parameter; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description is a noun phrase ('A Nestproof requirement as it stands') with no explicit verb, so the read operation is only implied by the title and the 'as it stands' framing. It does enumerate the returned content, which distinguishes it from edit_requirement and send_requirement, but an agent must infer that this is a retrieval call.

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 mention of prerequisites, and no named alternative (e.g., edit_requirement to change values or accept_offer to act on the offer it returns). Usage is only inferable from the sibling list.

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

inspect_deliveryRecord a delivery inspectionA
Idempotent
Inspect

Record the buyer's inspection of a placed order: for each item (its index in terms.items) the quantity accepted and the quantity rejected, with a reason for a rejection, optionally for one portion of the order. Whether it was accepted is computed: only when nothing is rejected. Recorded for the business, which answers a rejection in inspect_offer thread.fulfilment, with a proposed remedy. Nothing here pays or refunds.

NameRequiredDescriptionDefault
idYesThe request or offer id from your receipt or customer link
nameYesName of the person making this for the buyer
noteNo
linesYes
tokenYesPrivate token from your receipt or customer link; keep it for later visits
portionNoThe portion inspected, as thread.fulfilment.portions names it
terms_sha256YesExact terms_sha256 from inspect_offer; the act is refused if the terms have changed since

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare the write-but-non-destructive, idempotent, closed-world profile. The description adds real behavioral context beyond them: acceptance is computed and only holds when nothing is rejected, the business replies with a proposed remedy via the inspect_offer thread, the call is refused if terms have changed since terms_sha256, and no payment or refund occurs here.

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, but the prose is telegraphic and grammatically tangled ('with a reason for a rejection, optionally for one portion of the order'; 'Recorded for the business, which answers a rejection in inspect_offer thread.fulfilment'). The content earns its place, yet the phrasing forces the reader to re-parse several clauses.

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 non-destructive idempotent write with a rich schema but no output schema, the description covers the key downstream consequences (remedy proposed by the business, no payment movement) and the terms-drift refusal. What is missing is how errors or partial rejections surface and how the record relates to later remedy acceptance.

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

Parameters4/5

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

Schema coverage is 71%, so the schema does most of the work, but the description meaningfully clarifies the domain: lines map to indices in terms.items, the portion scopes the inspection to one part of the order, and the rejection reason attaches to rejected quantities. It does not discuss name, note, id, or token, but those are documented in 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 description opens with a specific verb and resource: recording the buyer's inspection of a placed order, with accepted/rejected quantities per line item. It implicitly distinguishes itself from the read-only inspect_offer by describing what is recorded rather than what is read, though the contrast is never stated outright.

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: the tool applies after an order has been placed, and a buyer who rejects something should expect a response through the inspect_offer thread. There is no explicit when-to-use or when-not-to-use statement, and no direct naming of alternatives such as release_payment or answer_remedy.

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

inspect_offerInspect an offer's terms and threadA
Read-onlyIdempotent
Inspect

Read the exact authorized terms, terms hash, order state and processor payment links, and the thread the business published on the offer: its answers to counteroffers (thread.counteroffers), the purchasing requirements, vendor status and purchase order matches it holds (thread.purchasing), and the portions, shortfall and remedies of delivery (thread.fulfilment). Use the offer link credentials, or credentials of the request explicitly linked to this offer.

NameRequiredDescriptionDefault
idYesThe request or offer id from your receipt or customer link
tokenYesPrivate token from your receipt or customer link; keep it for later visits

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely new context: the authorization scoping ('exact authorized terms'), the credential model (offer-link token vs. token of a request linked to the offer), and a full inventory of the data surfaced. It stops short of a 5 by omitting what happens when the token is invalid or the request is not linked to the offer.

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 main purpose is front-loaded and the parenthetical groupings (counteroffers, purchasing, fulfilment) keep a dense enumeration readable. The single long sentence is heavy on dotted field paths, but each listed item maps to real returned content rather than filler. Slightly tighter phrasing would make it easier to scan.

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

Completeness4/5

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

With no output schema, the description carries the burden of describing returns and does so thoroughly across terms, order state, payment links and three thread sections. Credentials and authorization scope are covered. Remaining gaps are error/failure behavior for invalid or mismatched credentials, which matter for a token-gated read.

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 id and token are already documented in the schema. The description reinforces the credential meaning of token ('offer link credentials, or credentials of the request explicitly linked to this offer'), which is a modest addition over the schema's 'private token from your receipt'. No format or linkage constraints are added beyond that, 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 opens with a specific verb and resource ('Read the exact authorized terms, terms hash, order state and processor payment links') and then enumerates the thread sub-objects it returns (thread.counteroffers, thread.purchasing, thread.fulfilment). This clearly separates it from request_status and describe_business. It falls short of a 5 because it never names the closely related siblings (inspect_delivery, answer_remedy) even though thread.fulfilment overlaps with their territory.

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: an agent can infer this is the read path for a specific offer, and the final sentence gives a credential prerequisite ('Use the offer link credentials, or credentials of the request explicitly linked to this offer'). There is no explicit when-to-use/when-not-to-use guidance and no routing to alternatives such as request_status for lightweight status checks or inspect_delivery for delivery-only views.

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

interpret_requirementDescribe a need to Nestproof in wordsAInspect

Give Nestproof the buyer's requirement, or a correction or addition to it, in their own words: it is read into a structured requirement (each value says which words it came from), conflicting or unclear facts come back as one question, and words not yet read are kept as written. Pass the requirement (id, token) from the first answer to continue it. Nothing is sent or ordered: send_requirement sends it when the buyer says so. When you already have the fields in structured form, use submit_request instead.

NameRequiredDescriptionDefault
turn_idNoYour id for this message: a retry with the same id is applied once
timezoneNoThe buyer's IANA time zone, for reading dates
utteranceYesThe buyer's words, as written
requirementNoThe requirement to continue

TDQS

A4.6/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false, openWorldHint=false, idempotentHint=false, destructiveHint=false; the description goes well beyond them by disclosing what happens to the input (provenance per value, conflicts returned as one question, unread words preserved verbatim) and that no order/send side effect occurs. It stops short of covering token secrecy and retry/dedup behavior, which live in the schema rather than the description.

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 dense paragraph, front-loaded with the core action, then outcome, then continuation rule, then the two routing exclusions. Every clause carries distinct information; no filler or restatement of the title.

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 mutation-style ingestion tool with a nested continuation object and no output schema, the description supplies the return shape in prose (structured values with source words, a single clarifying question, unread text retained) and the send/no-send boundary. Minor gaps: privacy of the token and retry semantics are only in the schema, and nothing is said about what happens on an expired or invalid requirement handle.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3, but the description adds real meaning: it explains that 'requirement' is a continuation handle carried from a prior answer and that the utterance is the buyer's own words including corrections/additions. It does not clarify turn_id or timezone, which the schema already documents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: take the buyer's words and read them into a structured requirement, including corrections/additions. It also names the two siblings an agent might confuse it with (send_requirement, submit_request) and the condition that separates them, so an agent can pick it without opening the schemas.

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

Usage Guidelines5/5

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

Explicit when-to-use ('give the buyer's requirement... in their own words'), explicit when-not ('Nothing is sent or ordered'), explicit alternative ('When you already have the fields in structured form, use submit_request instead'), plus the continuation rule ('Pass the requirement (id, token) from the first answer to continue it'). Nothing about 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.

release_paymentRelease a payment conditionA
Idempotent
Inspect

Confirm a payment condition only where the inspected order allows the customer to release it. This records approval; it does not pay the processor.

NameRequiredDescriptionDefault
idYesThe request or offer id from your receipt or customer link
nameNo
tokenYesPrivate token from your receipt or customer link; keep it for later visits
confirmYes
paymentYes
terms_sha256Yes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare non-read-only, idempotent, non-destructive, closed-world, so the bar is lower; the description still adds genuinely useful behavior: the call records approval only and does not move funds. It omits whether a failed or duplicate release is rejected, and says nothing about what the confirm/terms proof guarantees.

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, zero filler, with the confirmation action front-loaded and the critical non-effect (does not pay the processor) placed where it will be read before invocation.

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?

For a 6-parameter mutation with five required fields and no output schema, the description covers intent and the not-a-payment caveat but leaves the majority of required inputs semantically undefined. An agent can tell why to call it, but not confidently construct terms_sha256 or payment.

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

Parameters2/5

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

Schema description coverage is only 33% — id and token are documented, but name, payment, terms_sha256 and confirm are bare. terms_sha256 in particular is opaque (a 64-hex digest of what terms?) and the description never explains what must be hashed or why the release requires it, nor what the 'payment' string should contain.

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 pairs a specific verb (records approval / confirms a payment condition) with the resource and explicitly bounds scope by excluding processor payment: 'This records approval; it does not pay the processor.' It distinguishes itself from settlement tooling but does not name or differentiate from near siblings like accept_offer or submit_purchase_order.

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 states a real precondition — 'only where the inspected order allows the customer to release it' — which routes the agent to an inspection step (inspect_offer/inspect_delivery) before calling. There is no explicit when-not guidance 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_vendor_statusReport vendor approval statusA
Idempotent
Inspect

Report the seller's vendor standing with the buyer's organization (APPROVED, DOCUMENTS_REQUESTED or REJECTED) with the buyer's approval or case reference and any documents requested. Recorded as the buyer's own statement; the business answers it in inspect_offer thread.purchasing.

NameRequiredDescriptionDefault
idYesThe request or offer id from your receipt or customer link
nameYesName of the person making this for the buyer
tokenYesPrivate token from your receipt or customer link; keep it for later visits
statusYes
referenceYesThe buyer's approval or case reference
organizationYesThe buyer's organization
terms_sha256YesExact terms_sha256 from inspect_offer; the act is refused if the terms have changed since
buyer_vendor_idNo
documents_requestedNo

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare this is a mutation (readOnlyHint=false) that is idempotent and non-destructive, so the basic safety profile is covered. The description adds real value beyond that by characterizing the write as the buyer's own statement and pointing to where the counterparty's answer appears, but it is silent on what happens on a repeat report (overwrite vs. supersede) and on any authorization requirements.

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 dense sentences with the action and its allowed values front-loaded, then the recording semantics. No filler; the only mild awkwardness is the trailing 'thread.purchasing' fragment, which reads as a raw path rather than prose.

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 9-parameter mutation with no output schema, the description supplies what the schema cannot: that the act is an attestation by the buyer and that the resulting answer is found in the inspect_offer purchasing thread. Combined with the schema's explicit terms_sha256 refusal note, an agent has enough to call this correctly.

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

Parameters3/5

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

Schema coverage is 67%, and the description reinforces the meaning of status, reference, and documents_requested (including tying documents to the DOCUMENTS_REQUESTED state). It adds nothing for buyer_vendor_id, which also has no schema description, and says nothing about the id/token/terms_sha256 prerequisites beyond what the schema already documents.

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 (report) and a specific resource (the seller's vendor standing) and enumerates the exact status values the call records, so the agent knows precisely what effect it has. It does not explicitly contrast itself with siblings such as answer_remedy or state_purchasing_requirements, which keeps it 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?

The line 'Recorded as the buyer's own statement; the business answers it in inspect_offer thread.purchasing' tells the agent this is a buyer-side attestation whose outcome is later visible in the offer thread, which implies the context of use. However, there is no explicit when-to-use/when-not guidance and no routing versus the many other write siblings.

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

request_statusCheck a request and its offersB
Read-onlyIdempotent
Inspect

Resume a requirement using the receipt credentials. Read the recorded requirement and any linked offers. Contact details are kept apart.

NameRequiredDescriptionDefault
idYesThe request or offer id from your receipt or customer link
tokenYesPrivate token from your receipt or customer link; keep it for later visits

TDQS

B3.1/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 two non-obvious facts beyond that: access requires private receipt credentials (an auth condition), and contact details are deliberately withheld/separated from the returned record. It does not cover error behavior for a bad token, but the added context is substantive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

Three short sentences with the action front-loaded and no filler. 'Contact details are kept apart' is compact but slightly cryptic in isolation, which keeps it just below the top mark.

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?

With no output schema, the description must convey what comes back; it does so only at a high level ('the recorded requirement and any linked offers') without indicating structure, whether offers are summarized or full, or what happens on an invalid token. For a read-only, fully documented two-parameter tool this is adequate but not thorough.

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%: 'id' is documented as the request or offer id from the receipt or customer link, and 'token' as the private token to retain for later visits. The description's 'using the receipt credentials' merely restates that provenance, adding no new meaning about format or scope.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says it resumes/reads a 'requirement' and any linked offers using receipt credentials, which conveys a read of a stored record plus its associated offers. However, the vocabulary ('requirement', 'resume') does not map cleanly onto the tool name request_status, and it never distinguishes this from sibling readers like inspect_offer or inspect_delivery, which plausibly return overlapping data.

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 only usage signal is the implicit requirement for receipt credentials. There is no statement of when to choose this over inspect_offer, inspect_delivery, or report_vendor_status, and no mention of what to do if the token is invalid or expired.

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

retrieve_deliverableRetrieve a paid order's deliverableA
Read-onlyIdempotent
Inspect

Retrieve what a paid order delivers, where the business produces it itself (a report): the exact text, its SHA-256, version, sources and any shortfall. Before payment is confirmed it says it is not yet available. Use the offer link or linked request credentials.

NameRequiredDescriptionDefault
idYesThe request or offer id from your receipt or customer link
tokenYesPrivate token from your receipt or customer link; keep it for later visits

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and closed-world, so safety is covered. Beyond that, the description adds real behavioral context: the exact contents returned (text, hash, version, sources, shortfall) and the notable pre-payment response state, which an agent could not infer from annotations or schema.

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 payload description is front-loaded in the first clause, followed by the availability caveat and the credential note. Every sentence carries information; the phrasing is dense but not 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?

There is no output schema, so the description correctly carries the burden of describing returned fields, and it does so with reasonable specificity. Combined with the auth prerequisite and pre-payment behavior, an agent has enough to call this correctly, with only sibling disambiguation left implicit.

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 are already documented, setting the baseline at 3. The description adds a little meaning by tying credentials to 'the offer link or linked request', clarifying that the id may be either an offer or a request identifier, but it adds no format or constraint 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 description gives a specific verb and resource (retrieve a paid order's deliverable) and enumerates the payload: exact text, SHA-256, version, sources, and any shortfall. The parenthetical constraint 'where the business produces it itself (a report)' narrows scope, which implicitly separates it from a sibling like inspect_delivery, but no sibling is named explicitly.

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 describes a precondition ('Before payment is confirmed it says it is not yet available') and tells the agent what credentials to supply, which implies the correct usage context. However, it never states when to choose this tool over inspect_delivery or request_status, nor any exclusion besides the unpaid case.

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

send_requirementSend the requirementA
Idempotent
Inspect

Send the requirement to Nestproof once the buyer says to: the first send records the request (its receipt token is the requirement's token, for request_status and offers); a later send of a changed requirement records a revision of the same request. Name the revision the buyer saw. This orders nothing: an offer comes later and is accepted separately on its exact terms.

NameRequiredDescriptionDefault
idYesThe requirement id from an earlier answer
op_idNo
tokenYesIts private token (also the receipt token of the request it is sent as); keep it private
actionNoWhat the buyer wants done (default quote): to buy, lease, verify...
contactNo
revisionYes

TDQS

A3.9/5.0
Behavior4/5

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

Adds real context beyond the annotations: the first send creates the request and its token doubles as the receipt token used by request_status and offers, resends create a revision, and 'This orders nothing' pre-empts the natural but wrong assumption that sending commits a purchase. Consistent with idempotentHint=true and destructiveHint=false, though it says nothing about the op_id idempotency key or contact handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

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

Front-loaded with the action and tightly written, with the crucial 'orders nothing' caveat placed last for emphasis. The first sentence is long and parenthetical-heavy, which slightly slows parsing but every clause carries 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?

For a 6-parameter mutation tool with no output schema, it covers the essential semantics: what gets created, how revisions work, and that no order is placed. The undocumented contact and op_id parameters are the remaining gap, but the core mental model an agent needs is present.

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 50%; the schema already documents id, token, and action, and the description reinforces revision ('name the revision the buyer saw') and the token's dual role. It adds nothing about op_id or the required contact object, so it only partially compensates for the coverage gap.

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 ('Send the requirement to Nestproof') and goes further by explaining the two modes: first send records the request, later send records a revision of the same request. It does not explicitly name the nearest siblings (edit_requirement, submit_request) to distinguish itself, so 4 rather than 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?

'Once the buyer says to' gives a clear precondition, and the first-send vs later-send split tells the agent when to use this versus keeping a draft. It stops short of naming alternatives like edit_requirement or submit_request, leaving the sibling routing to inference.

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

state_purchasing_requirementsState the buyer's purchasing requirementsA
Idempotent
Inspect

Tell the business how the buyer's purchasing works for this offer: whether the seller must be an approved vendor, whether a purchase order is required, which documents are needed, the seller's vendor id with the buyer, where orders and invoices go, and the payment terms. Recorded as the buyer's statement; the business answers it in inspect_offer thread.purchasing. Nothing here orders or pays.

NameRequiredDescriptionDefault
idYesThe request or offer id from your receipt or customer link
nameYesName of the person making this for the buyer
tokenYesPrivate token from your receipt or customer link; keep it for later visits
organizationYesThe buyer's organization, whose purchasing this is
requirementsYes
terms_sha256YesExact terms_sha256 from inspect_offer; the act is refused if the terms have changed since

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds genuinely new behavioral context: the record is framed as the buyer's statement, it is later surfaced under inspect_offer thread.purchasing, and it explicitly does not place orders or move money. It does not describe what a successful call returns, but that is minor against the annotation coverage.

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 before the enumeration and scope disclaimer. The six-item list is dense but each item corresponds to a real field the caller must supply, so nothing is padding. The middle clause 'Recorded as the buyer's statement' is slightly awkwardly spliced in but still earns its place.

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 six-parameter, nested-object mutation with no output schema, the description covers purpose, scope boundaries, and where the recorded data is later read. The concurrency guard on terms_sha256 is documented in the schema, so its absence from the description is acceptable. Only the success/response behavior is unaddressed.

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

Parameters4/5

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

Schema description coverage is 83%, so the baseline is 3. The description nonetheless adds meaning for the nested requirement fields that the schema leaves bare — vendor_approval_required, purchase_order_required, buyer_vendor_id, and payment_terms_days — by explaining them in plain business terms. Identity and integrity parameters (id, token, terms_sha256, name, organization) are left entirely to the schema, which already documents them.

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 and resource ('Tell the business how the buyer's purchasing works for this offer') and then enumerates exactly which facts are recorded: vendor approval, PO requirement, documents, vendor id, order/invoice route, payment terms. The closing line 'Nothing here orders or pays' separates it from submit_purchase_order, so an agent can pick between them without opening a schema.

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

Usage Guidelines4/5

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

Usage context is clear: this is the buyer's statement of purchasing requirements, and the counterpart read is 'the business answers it in inspect_offer thread.purchasing', which tells the agent where the data surfaces afterwards. There are no explicit exclusions or named alternatives (submit_purchase_order is only implied via 'Nothing here orders or pays'), 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.

submit_purchase_orderSend a purchase orderA
Idempotent
Inspect

Send the buyer's purchase order for an issued offer or a placed order: number, revision, lines, total, currency and payment terms. It is matched against the accepted terms; differences are recorded and shown in inspect_offer thread.purchasing as exceptions, never silently accepted. A changed purchase order is the same number with a higher revision. This does not accept the offer and pays nothing.

NameRequiredDescriptionDefault
idYesThe request or offer id from your receipt or customer link
poYes
nameYesName of the person making this for the buyer
tokenYesPrivate token from your receipt or customer link; keep it for later visits
organizationNoThe buyer's organization
terms_sha256YesExact terms_sha256 from inspect_offer; the act is refused if the terms have changed since

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations (readOnlyHint=false, idempotentHint=true, destructiveHint=false), the description discloses the key behavior: the PO is reconciled against accepted terms, differences are recorded as exceptions visible in inspect_offer rather than silently accepted, and revision semantics govern changes. With annotations already covering safety and idempotency, this adds meaningful context; only the refusal-on-stale-terms condition lives in the schema rather than the description.

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 tight sentences with the purpose stated first, followed by the reconciliation behavior and the two negative guarantees. The field enumeration in sentence one slightly overlaps the schema, but it earns its place by framing what makes up a PO.

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 six-parameter nested mutation with no output schema, the description covers purpose, the matching/consequence model, and where to see the outcome (inspect_offer thread.purchasing). It does not describe what a successful submission returns or whether multiple POs may be sent against one offer, which are the remaining gaps.

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

Parameters4/5

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

Schema coverage is 83%, so the baseline is already high, but the description adds real meaning: it enumerates the PO content the caller must supply (number, revision, lines, total, currency, payment terms) and explains that a changed PO reuses the number with a higher revision, which clarifies how 'revision' is meant to be used in practice.

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 ('send the buyer's purchase order') and scopes it to 'an issued offer or a placed order', which separates it cleanly from accept_offer, counter_offer and release_payment in the sibling list. An agent can identify both the action and its object without opening the schema.

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

Usage Guidelines4/5

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

It gives clear usage context (send a PO against an issued offer or placed order) and explicit exclusions ('does not accept the offer and pays nothing'), which steers the agent away from accept_offer and release_payment. It also routes exception review to inspect_offer thread.purchasing. It stops short of an explicit when-to-use versus when-not-to-use contrast with every sibling, so a 4 rather than 5.

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

submit_requestSend Nestproof a requirementInspect

Send Nestproof a requirement (Graded pattern files your LA factory signs off before the cut). Your request is recorded with a reference number and a private link to your transfer page, carrying the proposed scope, your choices and the open questions. Nestproof reviews it and, when you leave an email address, replies by email with nonbinding terms, the sign-off plan for your factory and the questions still open; you send the pattern files by replying. Nothing is transferred, ordered or committed until you agree terms. Contact details are kept apart from the requirement, while we correspond or do business and for 24 months after, so a later request picks up where it left off; ask us to delete them at any time. It is answered with a receipt: keep its id and token to read its status (request_status), to add details later (continuation) and to act on an offer made in reply. A requirement is not an order and costs nothing.

NameRequiredDescriptionDefault
needYesThe requirement in the buyer's own words
actionNo
budgetNo
timingNo
contactNo
quantityNo
geographyNo
continuationNoThe receipt id and token of an earlier request, to add to it instead of opening a new one
specificationsNoFields from the request_schema describe_business returns
requested_fieldsNo

Tool Schema Changelog

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

  1. 4 tool updates
    • Addededit_requirement
    • Addedget_requirement
    • Addedinterpret_requirement
    • Addedsend_requirement
  2. 14 tool updates
    • First observedaccept_offer
    • First observedanswer_remedy
    • First observedcounter_offer
    • First observeddecline_offer
    • First observeddescribe_business
    • First observedinspect_delivery
    • First observedinspect_offer
    • First observedrelease_payment
    • First observedreport_vendor_status
    • First observedrequest_status
    • First observedretrieve_deliverable
    • First observedstate_purchasing_requirements
    • First observedsubmit_purchase_order
    • First observedsubmit_request

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    MCP server for real FDM 3D-printing slicing, quoting, and design-for-manufacturability analysis via the FabTally API, supporting 12 printer profiles and 12 materials. Includes free discovery/printability tools and paid slice/quote/orientation tools settled via x402 (USDC on Base).
    6
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Financial model factory MCP server: turns a spec into a live-formula Excel workbook. 14 templates (LBO, DCF, M\&A, IPO, restructuring, project finance, NPL, structured credit, 3-statement) with every cell formulated and every number source-traced to its document page.
    3
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources