Trade & public tenders
Server Details
UK commodity codes and duties, UK trade statistics, UK/EU public tenders and US federal spending.
- Status
- Healthy
- Uptime
- 100.0% over 19 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 18 tools
Namespace prefixes (eu-tenders__, uk-tenders__, uk-trade-tariff__, us-spending__) cleanly separate the five source domains, and within each domain the tools target distinct resources (notice vs search vs supplier-awards). There is mild overlap in that 'search' and 'notice' recur across namespaces and uk-tenders splits into search vs find-a-tender-latest, but the descriptions make each source and action clear.
Nearly all tools use consistent kebab-case resource nouns (notice, search, commodity, country, heading, quotas, exchange-rates) with a stable namespace prefix scheme. The lone outlier is uk-tenders__find-a-tender-latest, a verbose sentence-like name that breaks the short-noun pattern, but it remains readable.
18 tools spread across five distinct data domains averages 3-6 per namespace, so each tool earns its place without obvious padding. The total is slightly on the heavy side but is justified by covering multiple separate sources.
Coverage is broad: tender search and notice lookup for EU and UK, trade statistics, tariff commodity/heading/areas/quotas/exchange-rates, and US federal award/recipient search. Minor gaps exist (e.g. no EU supplier-award lookup and no explicit pagination/export tools), but core lifecycle operations for each domain are present.
Available Tools
18 toolseu-tenders__noticeEU Public Tenders (TED): EU noticeARead-onlyIdempotentInspect
One TED notice by publication number: title, buyer, value, deadline, CPV, place of performance, description and winners. Free within the daily allowance, then $0.002 USDC per call via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | TED publication number, e.g. 674231-2026 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive. The description adds genuinely new behavioral context beyond them: the pricing model ('Free within the daily allowance, then $0.002 USDC per call via x402'), which is relevant for call planning and not present in 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose before the pricing note. The enumerated field list is slightly long but plausibly useful for output expectations; little waste overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description need not explain return values, and it does not over-explain them beyond naming fields. With annotations covering safety and the schema covering the parameter, the description is complete for a single-record lookup; only explicit sibling routing is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single id parameter is fully documented with an example (674231-2026), so the schema carries the burden. The description only restates that it takes a publication number, adding no format or validation detail beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: fetch 'One TED notice by publication number,' and enumerates the fields returned (title, buyer, value, deadline, CPV, place, winners). The singular-by-ID framing implicitly contrasts with the sibling eu-tenders__search, but it never names or explicitly distinguishes the sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent infers it should use this tool when it holds a TED publication number rather than search criteria. There is no explicit when-to-use, when-not-to-use, or named alternative (eu-tenders__search), leaving routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eu-tenders__searchEU Public Tenders (TED): Search EU tendersBRead-onlyIdempotentInspect
TED notices by keywords, buyer country (ISO alpha-3), CPV code, publication date and type (competition or award), newest first. Free within the daily allowance, then $0.003 USDC per call via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Keywords (full text) | |
| cpv | No | CPV code prefix, e.g. 48000000 (software) | |
| page | No | Page | |
| type | No | competition or award | |
| limit | No | Max results (default 20, max 50) | |
| country | No | Buyer country, ISO alpha-3 (DEU, FRA, IRL…) | |
| active_only | No | "true" to search only notices still open | |
| published_from | No | YYYY-MM-DD |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, openWorld and non-destructive, so the safety profile is fully declared. The description adds genuinely new behavioral context — free within a daily allowance then $0.003 USDC per call via x402 — but omits pagination behavior despite a page/limit parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the searchable scope front-loaded and pricing appended. No wasted words, though the second sentence is arguably secondary to invocation and could be split more clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and all 8 params are schema-documented. The description covers the searchable surface plus cost model, leaving only pagination and alternative-tool routing unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 8 parameters including format hints (ISO alpha-3, YYYY-MM-DD, max 50). The description only restates these dimensions and adds no syntax or defaulting detail beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('TED notices') and enumerates the searchable dimensions (keywords, buyer country, CPV, date, type) plus result ordering. It distinguishes the tool as a filtered search, though it never names sibling eu-tenders__notice as the single-notice alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by listing filters but gives no explicit when-to-use, prerequisites, or routing to alternatives like eu-tenders__notice for fetching one notice. An agent must infer the boundary between searching and retrieving.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uk-tenders__find-a-tender-latestUK Public Tenders: Latest Find a Tender noticesARead-onlyIdempotentInspect
Above-threshold UK notices published or updated on Find a Tender in the last 1–7 days, by stage (planning, tender, award), optionally filtered by keyword. Free within the daily allowance, then $0.003 USDC per call via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Keyword filter on title, description and buyer | |
| days | No | Look back 1–7 days (default 3) | |
| limit | No | Max results (default 20, max 50) | |
| stage | No | planning, tender (default) or award |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely new context not in structured fields: a pricing model (free within the daily allowance, then $0.003 USDC per call via x402) and the fact that 'updated' as well as newly published notices are returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the scope and window before the pricing note. The pricing sentence carries real information rather than filler, though the stage enumeration slightly duplicates the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation. The description covers scope, time window, stage dimension, filtering and cost model, leaving little an agent would need before calling it; only sibling routing is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all four parameters (q, days, limit, stage) are documented there, including defaults and the 1–7 day bound. The description restates the stage values and keyword filter without adding syntax or format detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: above-threshold UK notices published or updated on Find a Tender within a 1–7 day window, broken out by stage. The recency window implicitly separates it from the historical uk-tenders__search, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the 'last 1–7 days' framing (use this for recent notices rather than historical lookup), but there is no explicit when-to-use statement, no exclusions, and no pointer to uk-tenders__search or uk-tenders__notice for other cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uk-tenders__noticeUK Public Tenders: NoticeARead-onlyIdempotentInspect
One notice in full: description, CPV codes, contract dates, procedure and awards (supplier, value, dates). Accepts a Contracts Finder id (GUID) or a Find a Tender notice number (e.g. 095302-2026). Free within the daily allowance, then $0.002 USDC per call via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Contracts Finder GUID or Find a Tender notice number |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuine context beyond that: the pricing/licensing model (free within the daily allowance, then $0.002 USDC per call via x402), which an agent cannot infer from annotations and which affects invocation strategy.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences: the first front-loads the content scope, the second covers accepted ID formats and cost. No filler, no restatement of the title, and every clause carries information an agent can act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with an output schema present, the description needn't document return values and doesn't try. It covers identity, input formats, and cost, which is sufficient; only explicit sibling routing is missing, which is a usage-guideline gap rather than a completeness one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and there is only one parameter, so the baseline is 3. The description goes slightly beyond the schema by restating both accepted identifier types and supplying a concrete example format ('095302-2026'), which helps the agent construct a valid value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('One notice in full') and enumerates the returned content (description, CPV codes, contract dates, procedure, awards), which clearly frames it as the detail-view counterpart to the search tools. It does not explicitly name a sibling, so the differentiation is implicit 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains which identifier forms are accepted (Contracts Finder GUID or Find a Tender notice number, with an example), which implies the retrieval context. However, it gives no explicit guidance on when to use this versus uk-tenders__search, uk-tenders__find-a-tender-latest, or uk-tenders__supplier-awards, nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uk-tenders__searchUK Public Tenders: Search tendersARead-onlyIdempotentInspect
Contracts Finder notices by keyword, status (open, closed, awarded, withdrawn), type and publication date, optionally above a minimum value. Free within the daily allowance, then $0.003 USDC per call via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Keywords (title, description, buyer, supplier) | |
| type | No | contract, pipeline, early-engagement or future-opportunity | |
| limit | No | Max results (default 20, max 50) | |
| status | No | open, closed, awarded or withdrawn | |
| min_value | No | Minimum value in £ | |
| published_to | No | YYYY-MM-DD | |
| published_from | No | YYYY-MM-DD |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnly, idempotent, non-destructive, openWorld), so the bar is lower. The description adds genuinely useful behavioral context the annotations lack: the x402 pay-per-call model and the free daily allowance, which affects how an agent should budget repeated calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences: the first front-loads the resource and searchable facets, the second handles only the pricing caveat. No filler, no repetition of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and all seven params are optional and schema-documented. The description covers facets and cost; it omits only minor operational details like result pagination or ordering behavior, which keeps it just short of full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all seven parameters with their formats and enum-like values. The description restates the same facets (status values, type, dates, min value) without adding syntax or semantics beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (Contracts Finder notices) and enumerates the filterable facets: keyword, status, type, publication date, and minimum value. An agent understands exactly what corpus is searched, though it never explicitly contrasts itself with siblings like uk-tenders__notice or uk-tenders__find-a-tender-latest.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to pick this tool over uk-tenders__notice, uk-tenders__find-a-tender-latest, or the EU equivalents, nor when-not to use it. The only usage-adjacent content is pricing (free allowance, then $0.003/call), which is cost guidance rather than selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uk-tenders__supplier-awardsUK Public Tenders: Awards to a supplierARead-onlyIdempotentInspect
Contracts Finder awards won by a supplier (name match), newest first, with total value. Free within the daily allowance, then $0.003 USDC per call via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| supplier | Yes | Supplier name (matched as a phrase) | |
| published_from | No | YYYY-MM-DD |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, open world), so the bar is lower; the description still adds real context by disclosing result ordering, phrase-based name matching, and the pricing model (free within a daily allowance, then $0.003 USDC via x402). The paid call behavior is a genuine operational trait an agent should know before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single dense sentence that front-loads scope (awards to a supplier), then matching method, ordering, return value, and cost. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure need not be described, and the description covers scope, ordering, and cost. The only meaningful omission is routing guidance relative to the sibling uk-tenders__search and uk-tenders__notice tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented, and the description's 'name match' phrasing merely echoes the schema's 'matched as a phrase' note. No additional date-format or default semantics are supplied beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: awards won by a supplier from Contracts Finder, with the matching method (name match) and ordering (newest first). That is enough to separate it from the generic uk-tenders__search, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says what the tool returns but never states when to choose it over uk-tenders__search or uk-tenders__notice, nor any prerequisite around the supplier name format. Usage is only inferable from the purpose sentence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uk-trade-stats__commodityUK Trade Statistics: Trade in a productARead-onlyIdempotentInspect
UK imports and exports of one product (HS2, HS4, HS6 or CN8 code) for a month or year: totals and top partner countries with share. A few free samples a day, then $0.003 USDC per call via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Partner countries to list (default 15, max 50) | |
| code | Yes | Commodity code: 2, 4, 6 or 8 digits | |
| period | No | YYYY, YYYY-MM or "latest" (default latest month) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, openWorld, non-destructive), so the description's real contribution is the cost model: a few free samples per day, then $0.003 USDC per call via x402. That payment/auth context is valuable and not derivable from structured fields, though it doesn't describe failure modes or rate-limit enforcement details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no waste, front-loaded with what the tool returns before the cost caveat. The pricing sentence earns its place because cost directly affects whether an agent should call repeatedly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-format explanation is unnecessary, and the description covers scope, granularity, and cost. It is largely complete for a simple read tool, though it omits any note about partner-country ordering or data-source caveats.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all three parameters are already documented; description content is largely redundant, restating the code formats and the period unit. The HS2/HS4/HS6/CN8 naming maps digit lengths to nomenclature, which adds slight meaning over the schema's '2, 4, 6 or 8 digits', but not enough to lift it above the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: UK imports and exports of one product identified by HS2/HS4/HS6/CN8 code, with explicit granularity and result shape (totals plus top partners with share). The 'one product' framing cleanly distinguishes it from the uk-trade-stats__country sibling without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the 'one product' scope and the period granularity, but no when-to-use/when-not guidance or explicit alternative (e.g. uk-trade-stats__country or __latest) is named. The pricing note adds operational context but not selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uk-trade-stats__countryUK Trade Statistics: Trade with a countryARead-onlyIdempotentInspect
UK imports from and exports to one country for a month or year: totals and top HS2 product chapters. A few free samples a day, then $0.003 USDC per call via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | Chapters to list (default 15, max 50) | |
| period | No | YYYY, YYYY-MM or "latest" (default latest month) | |
| country | Yes | Partner country, ISO alpha-2 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint), so the bar is lower. The description adds genuinely useful behavior beyond them: a metered x402 payment model with a few free samples per day and $0.003 USDC per call, which an agent must know before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no waste: the data scope is front-loaded and the payment model follows. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full annotation set and an output schema present, the description needn't explain return values, and it covers the cost/auth dimension. The one remaining gap is routing guidance relative to the two sibling uk-trade-stats tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters (top, period, country) are already documented in the schema; this sets the baseline at 3. The description only loosely reinforces the dimensions ('for a month or year', 'top HS2 product chapters') without adding 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: 'UK imports from and exports to one country', with scope (month or year) and payload (totals and top HS2 product chapters). It implicitly separates itself from uk-trade-stats__commodity by the 'country' dimension, but never names or contrasts with the sibling tools explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied — 'Trade with a country' tells you the query dimension but gives no when-to-use, when-not-to-use, or direction to uk-trade-stats__commodity / uk-trade-stats__latest for other slices. The pricing sentence is cost guidance, not selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uk-trade-stats__latestUK Trade Statistics: Latest monthARead-onlyIdempotentInspect
The most recent month HMRC has published trade statistics for. A few free samples a day, then $0.0005 USDC per call via x402.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds genuinely new behavioral context beyond the structured fields: a few free calls per day, then $0.0005 USDC per call via x402, which tells the agent there is a metered cost and a payment protocol.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler. The purpose is front-loaded and the pricing detail follows, so an agent gets the core fact in the first clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema available, the description need not explain return values, and it covers purpose plus the cost model. The only real gap is the absence of any positional guidance against the other uk-trade-stats tools, which is minor for a zero-parameter anchor call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; there is no parameter syntax for the description to clarify. Schema description coverage is reported at 100%, so nothing is left undocumented on that front.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource precisely: the most recent month HMRC has published trade statistics for. It is clear enough to act on, but it never states what is actually returned (the month identifier vs. the statistics for that month) and does not contrast itself with siblings like uk-trade-stats__commodity or __country.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to reach for this tool versus the country/commodity siblings in the same family. A single clause such as 'use this to anchor a query before calling the per-country tools' would have resolved the ambiguity, but no usage context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uk-trade-tariff__areasUK Trade Tariff: Countries & groupsARead-onlyIdempotentInspect
Tariff geographical areas: countries and the groups used in measures (e.g. 1011 ERGA OMNES, 1013 European Union, trade agreements), with group members. Free within the daily allowance, then $0.002 USDC per call via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Filter by name or id | |
| kind | No | all, countries or groups |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely new operational context: the result includes group members, and there is a metered cost model (free daily allowance, then $0.002 USDC per call via x402) that the agent must know before issuing calls. Nothing contradicts the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the resource definition and scope come first, followed by the cost note. Every clause carries signal — examples, members, and pricing — with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-format explanation is not needed, and the description still flags that group members are included. With annotations covering safety and the description covering cost, the only unmet need is explicit guidance on when to prefer this tool over the other uk-trade-tariff endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description lifts it by giving concrete id examples (1011, 1013) that clarify what a 'group' id looks like for the q filter and what 'groups used in measures' means. It does not explain the kind enum values, but the schema does.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource — tariff geographical areas — and disambiguates it with concrete examples (1011 ERGA OMNES, 1013 European Union, trade agreements) plus the scope of 'group members'. None of the siblings (commodity, heading, quotas, exchange-rates) overlap, so an agent can place this tool immediately.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no routing to an alternative tool. The only contextual sentence is about pricing ('Free within the daily allowance, then $0.002 USDC per call'), which is cost information, not selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uk-trade-tariff__commodityUK Trade Tariff: Commodity duties & measuresARead-onlyIdempotentInspect
One commodity code: description, section/chapter/heading, third-country duty and every import/export measure (preferential rates, VAT, additional duties, controls with document codes). Give country to keep only what applies to that origin. Free within the daily allowance, then $0.002 USDC per call via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Commodity code, 6–10 digits (padded to 10), e.g. 0901210000 | |
| country | No | Country of origin, ISO alpha-2 (e.g. CN, US, IN) — filters measures to those that apply |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, openWorld, and non-destructive, so the safety profile is set. The description adds real behavioral value by disclosing cost/rate-limit behavior ('Free within the daily allowance, then $0.002 USDC per call via x402'), which the annotations do not convey, plus the breadth of returned measures including controls with document codes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the returned payload, then the optional parameter's effect, then the pricing model in three compact sentences with no filler. Slightly dense but every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema already documents return structure and annotations carry the safety profile, the description supplies the remaining essentials: scope of measures, origin filtering, and cost. Error and pagination behavior are untouched, but for this lookup-shaped tool the coverage is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are documented at baseline. The description restates the country filter's effect ('keep only what applies to that origin'), largely repeating the schema's 'filters measures to those that apply' without adding format, padding, or default details beyond the code example already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource ('One commodity code') and enumerates exactly what is returned: description, section/chapter/heading, third-country duty, and every import/export measure. This is far more informative than the title. It does not explicitly name the sibling it differs from (heading, search), but 'one commodity code' implies a single-code detail lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage guidance is the origin-filtering hint ('Give country to keep only what applies to that origin'). There is no explicit when-to-use vs alternatives such as uk-trade-tariff__heading (broader level) or uk-trade-tariff__search (code discovery), leaving the agent to infer which tariff tool fits which lookup granularity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uk-trade-tariff__exchange-ratesUK Trade Tariff: HMRC customs exchange ratesARead-onlyIdempotentInspect
HMRC's monthly exchange rates used to convert invoice values for customs and import VAT, units per £1. Free within the daily allowance, then $0.002 USDC per call via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | Year | |
| month | Yes | Month 1–12 | |
| currency | No | ISO currency code, e.g. USD (default: all) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive/openWorld, so the safety profile is handled. The description adds genuinely useful behavioral context beyond them: the data unit ('units per £1') and the commercial constraint ('Free within the daily allowance, then $0.002 USDC per call via x402'), which an agent needs to know before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no waste: the what/unit comes first, the cost constraint second. 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.
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 the description still communicates the output unit and payment model. For a simple 3-param read tool this is nearly complete; only explicit routing to alternatives would make it fully airtight.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so year/month/currency are already documented in the schema, and the description adds no parameter-level detail beyond implying a monthly granularity. Baseline 3 is correct 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('HMRC's monthly exchange rates') and its role ('convert invoice values for customs and import VAT'), which is clearly distinct from the sibling tariff endpoints (commodity, heading, quotas, search). It stops short of explicitly contrasting itself with siblings, but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'used to convert invoice values for customs and import VAT' implies the usage context, but there is no explicit when-to-use vs when-to-use-an-alternative guidance or mention of prerequisites. Context 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.
uk-trade-tariff__headingUK Trade Tariff: HeadingARead-onlyIdempotentInspect
A 4-digit heading and every commodity code under it, with indents and whether each is declarable. Free within the daily allowance, then $0.002 USDC per call via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | 4-digit heading, e.g. 0901 |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint, destructiveHint, idempotentHint, openWorldHint). The description adds useful operational context: a free daily allowance followed by $0.002 USDC per call via x402, and it characterizes the return as including indents and declarability. This goes beyond the structured annotations, though it doesn't detail authentication or rate-limit mechanics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: the first defines the output, the second covers pricing. Both are front-loaded and free of filler, so every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup with a rich output schema and detailed annotations, the description covers the returned data and the payment model. The main omission is routing guidance relative to sibling tariff tools, which prevents a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single 'code' parameter is documented with type and example. The description repeats '4-digit heading' but adds no syntax, format, or validation detail beyond what the schema provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource ('A 4-digit heading and every commodity code under it') and what it returns ('with indents and whether each is declarable'). It does not name or differentiate from sibling tariff tools like uk-trade-tariff__commodity or uk-trade-tariff__search, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as uk-trade-tariff__commodity or uk-trade-tariff__search. The pricing sentence describes cost, not usage context, so the agent is left to infer selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uk-trade-tariff__quotasUK Trade Tariff: Tariff-rate quotasARead-onlyIdempotentInspect
Quota definitions with status (open, exhausted, critical), initial volume, remaining balance and validity, by order number or country of origin. Free within the daily allowance, then $0.002 USDC per call via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page | |
| status | No | open, exhausted, blocked, critical or not_exhausted | |
| country | No | Country of origin, ISO alpha-2 | |
| order_number | No | 6-digit quota order number |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so safety is covered. The description adds genuinely new behavioral context beyond the annotations: the pricing model ('free within the daily allowance, then $0.002 USDC per call via x402'), which is exactly the kind of cost/call-limit disclosure an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler; the resource and its returned fields are front-loaded before the pricing note. Nothing is wasted, though it is terse enough that a slightly richer usage clause would have fit.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety profile. The description adds the cost/allowance behavior. It is essentially complete for a read-only lookup tool, with only the absence of alternative-routing guidance keeping it from the top.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents page, status, country and order_number. The description restates the country and order-number filters and enumerates status values, but adds no syntax or format detail beyond the schema. 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (tariff-rate quota definitions) and enumerates the data returned (status, initial volume, remaining balance, validity), which is more concrete than a bare title restatement. It also states the two lookup keys (order number, country of origin). It does not explicitly differentiate itself from sibling tariff tools like commodity or heading, but the resource is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the filtering keys ('by order number or country of origin'), so an agent can infer when to reach for it. However, no when-to-use/when-not guidance, no prerequisites, and no named alternative (e.g. vs uk-trade-tariff__commodity) are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
uk-trade-tariff__searchUK Trade Tariff: Find a commodity codeARead-onlyIdempotentInspect
Candidate commodity codes, headings and chapters for a product description ("roasted coffee", "lithium battery"), best match first. Free within the daily allowance, then $0.003 USDC per call via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Product description | |
| limit | No | Max results (default 15, max 30) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and open-world, so the safety profile is covered. The description adds genuinely new behavior: result ordering ('best match first') and a cost model (free within the daily allowance, then $0.003 USDC per call via x402), which an agent must know before repeated calls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no waste, front-loaded with the return value and examples before the billing caveat. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value detail is unnecessary, and annotations cover the safety profile; the description supplies ordering and pricing on top. The only meaningful omission is routing guidance relative to the sibling commodity/heading lookup tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both q and limit are documented in the schema, and the baseline is 3. The description reinforces q's intent with sample product descriptions, but says nothing about limit or result-shaping beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what comes back — candidate commodity codes, headings and chapters — and anchors it to a free-text product description with two concrete examples. It is clearly a description-based search, distinct from the code-lookup siblings (uk-trade-tariff__commodity, uk-trade-tariff__heading), though it never names those alternatives to draw the boundary explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: supply a product description when you don't yet know the code. There is no statement of when not to use it, no mention of routing to uk-trade-tariff__commodity/heading once a code is known, and no prerequisites (e.g., what happens when no candidate matches).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
us-spending__awardUS Federal Spending: AwardARead-onlyIdempotentInspect
One federal award in full: agency, recipient and parent, obligated/outlayed/potential value, dates, place of performance, NAICS and PSC. Free within the daily allowance, then $0.002 USDC per call via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Award id from search (generated_internal_id) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/openWorld/non-destructive, so the bar is lower; the description adds genuinely useful operational context by disclosing the cost model (free within daily allowance, then $0.002 USDC per call via x402). That payment/rate-limit detail is not in the annotations and helps the agent decide whether to invoke.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the resource and returned fields front-loaded and the pricing note last; no wasted words. The fragment style ('One federal award in full:') is slightly clipped but efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 1-param read tool with an output schema and full annotations, the description supplies the cost behavior and content scope, which is enough to invoke it correctly. Enumerating return fields is somewhat redundant against the output schema, and it omits the search-then-fetch linkage, but nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single parameter with 100% schema description coverage, so the schema already documents 'id' (generated_internal_id from search). The description adds nothing about the parameter, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource ('One federal award') and enumerates exactly what it returns (agency, recipient/parent, values, dates, place of performance, NAICS/PSC), which implicitly contrasts with the list-oriented search/recipient siblings. It is clear and specific, but it never explicitly frames itself as a single-item lookup versus the search sibling, so it stops short of a full 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative naming. The id is described in the schema as coming 'from search', but the description itself gives no guidance on when to call this versus us-spending__search or us-spending__recipient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
us-spending__recipientUS Federal Spending: Recipient profileARead-onlyIdempotentInspect
A federal recipient: name, UEI, parent, alternate names, business types, location and total amounts. Give id, or name to use the best match. A few free samples a day, then $0.02 USDC per call via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Recipient id (from search) | |
| name | No | Recipient name |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld, so the safety profile is covered. The description goes further by disclosing the cost model ('a few free samples a day, then $0.02 USDC per call via x402'), which is meaningful operational context absent from the structured fields. It stops short of describing pagination or response limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the field list front-loaded and the input mechanics immediately after; nothing is redundant. The pricing sentence is relevant but slightly vague ('a few free samples a day'), which keeps it from a clean 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be explained, and the description nonetheless previews the profile contents. It covers the two inputs, the matching behavior, and the payment gate, leaving only minor gaps around parameter precedence and result limits for a read-only, idempotent lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are documented, so baseline is 3. The description adds value by clarifying the resolution behavior — an id is exact while a name is resolved to the 'best match' — semantics the schema does not convey. It does not specify precedence when both are supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific resource (a federal recipient profile) and enumerates its fields (name, UEI, parent, business types, location, totals), so an agent knows exactly what comes back. It does not explicitly contrast this with siblings like us-spending__search or us-spending__award, so it falls short of the 5 bar for sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Give id, or name to use the best match' tells the agent both inputs work and that name triggers fuzzy resolution, which is useful invocation guidance. However, it never states when to reach for this tool versus us-spending__search (the obvious upstream step for obtaining an id), leaving the workflow to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
us-spending__searchUS Federal Spending: Search awardsARead-onlyIdempotentInspect
Federal awards by keyword, recipient, awarding agency and date range, largest first. kind: contracts (default), idvs, grants or loans. Free within the daily allowance, then $0.003 USDC per call via x402.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Keywords | |
| to | No | Action date to, YYYY-MM-DD | |
| from | No | Action date from, YYYY-MM-DD | |
| kind | No | contracts, idvs, grants or loans | |
| page | No | Page | |
| limit | No | Max results (default 20, max 50) | |
| agency | No | Awarding agency (top tier), e.g. Department of Defense | |
| recipient | No | Recipient name |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so safety is covered. The description adds genuinely useful context beyond that: the cost model ('free within the daily allowance, then $0.003 USDC per call via x402') and the result ordering, which an agent would not know otherwise. It stops short of describing pagination or return shape, but those are covered by 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with zero filler: scope and filters first, then the kind enumeration and default, then the pricing caveat. Every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 fully documented parameters, an output schema, and rich annotations, the description needs only to add what structured data cannot: the cost/allowance model and the default kind/sort. It does that. A brief note on pagination behavior would make it fully self-contained, but nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description earns an extra point by surfacing the default for the kind parameter ('contracts (default)') and enumerating its values (contracts, idvs, grants or loans), which the schema does not state explicitly, plus the default sort order.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource (Federal awards) and the exact filter dimensions it accepts (keyword, recipient, awarding agency, date range), plus result ordering ('largest first'). An agent immediately understands this is a faceted award search rather than a single-record lookup, though it never names siblings like us-spending__award or us-spending__recipient to sharpen the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the filter list and the 'largest first' sort, so an agent can infer this is the browse/search entry point. However, there is no explicit when-to-use versus the sibling award/recipient lookup tools, and no guidance on whether filters are combinable or which are required (all are optional).
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.
18 tool updates
- First observed
eu-tenders__notice - First observed
eu-tenders__search - First observed
uk-tenders__find-a-tender-latest - First observed
uk-tenders__notice - First observed
uk-tenders__search - First observed
uk-tenders__supplier-awards - First observed
uk-trade-stats__commodity - First observed
uk-trade-stats__country - First observed
uk-trade-stats__latest - First observed
uk-trade-tariff__areas - First observed
uk-trade-tariff__commodity - First observed
uk-trade-tariff__exchange-rates - First observed
uk-trade-tariff__heading - First observed
uk-trade-tariff__quotas - First observed
uk-trade-tariff__search - First observed
us-spending__award - First observed
us-spending__recipient - First observed
us-spending__search
Related MCP Connectors
UK and Ireland public sector tenders, contract awards, buyers and expected re-tenders.
Public tenders and contract awards in the UK, US, Canada and EU, and help preparing bids.
UK Integrated Online Tariff from HMRC's trade-tariff service: look up a UK commodity code, its…
UK company lookup & monitor, UK/EU tenders, awards, planning, charities, schools, NHS, trade marks.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables looking up UK commodity codes and their full tariff details, including duty rates by origin, VAT, excise, import/export conditions, and live quota balances.187 npmMIT

oro-intel-mcpofficial
AlicenseNot gradedqualityDmaintenanceUK public procurement data for AI agents. Tenders, contracts, buyer and supplier profiles over MCP and REST. 250 free credits.MIT- AlicenseNot gradedqualityBmaintenanceEnables searching UK government procurement data — Contracts Finder notices and contracts (with supplier and value), plus high-value Find a Tender Service tenders — and retrieving full details for any single notice. Covers NHS trusts, councils, police, universities and central government departments.16 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables searching and analyzing government tenders, contract awards, and pre-tender pipelines from 21 official sources, with tools for tender search, award intelligence, and detailed notice retrieval.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.