uk-tender-data
Server Details
Search UK Find a Tender notices. 3 free calls/day per IP; paid x402 MCP calls cost 0.01 USDC.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool targets a clearly distinct purpose: check_coverage reports metadata/allowance, search_tenders finds notices, and get_tender_details retrieves a specific notice by ocid. There is no overlap in intent or output, so an agent can easily pick the right tool.
All three names follow a consistent verb_noun snake_case pattern (check_coverage, get_tender_details, search_tenders). The verbs vary appropriately by action while the structure remains predictable.
Three tools is on the minimal side but each earns its place for a read-only tender data server: search, retrieve, and check coverage. It is slightly sparse compared to a fuller data API, but not problematic.
The surface covers the core read workflow: search notices, get full details by id, and verify coverage/allowance. A minor gap is the lack of a dedicated way to browse or list latest notices without keywords, though agents can likely work around this via search.
Available Tools
3 toolscheck_coverageARead-onlyIdempotentInspect
Check Find a Tender coverage, freshness and remaining free allowance. Free; no data-call allowance consumed.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context beyond the annotations: the call is free and does not consume the data-call allowance, which is important for an agent budgeting its API usage.
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 with no filler, and the core purpose is front-loaded ahead of the cost note. 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 parameterless diagnostic with no output schema, the description states what is inspected (coverage, freshness, remaining allowance) and what it costs. It does not describe the returned shape, but with no output schema that is a minor gap for such a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema-based baseline of 4 applies. The description adds nothing about parameters, but there are none to describe.
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 ('Check') and concrete resources ('Find a Tender coverage, freshness and remaining free allowance'), which clearly separates it from the retrieval siblings get_tender_details and search_tenders. It does not explicitly name those siblings, so it slightly misses the top mark, but the purpose 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?
There is no explicit when/when-not statement, but the closing note that the call is 'Free; no data-call allowance consumed' implies it is a safe diagnostic to run before spending allowance. That is implied usage rather than stated routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tender_detailsARead-onlyInspect
Retrieve latest ingested notice by an ocid returned by search_tenders. Uses one of three daily free calls on success; after that requires x402 payment (normally 0.01 USDC on Base). Not a compiled procurement history; description is limited to 6000 characters with an official source link.
| Name | Required | Description | Default |
|---|---|---|---|
| ocid | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/destructive/idempotent annotations, it discloses metered economics (3 free daily calls, then 0.01 USDC via x402 on Base) and a payload constraint (description capped at 6000 characters, official source link included). The quota and payment behavior are exactly the kind of operational context an agent needs before invoking and is not derivable from 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?
Three sentences, front-loaded with purpose, then cost, then scope caveats; little waste. The trailing 'description is limited to 6000 characters with an official source link' is slightly compressed and takes a moment to parse, but it 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 single-parameter read tool with no output schema and strong annotations, the definition covers purpose, input provenance, cost, and result scope. It omits failure behavior when the free quota is exhausted or payment is declined, which is the main remaining gap.
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 one parameter with 0% schema description coverage, so the description must carry meaning: it does, by identifying ocid as an identifier returned by search_tenders and framing the returned entity as 'latest ingested notice'. It still says nothing about the ocid's format or the 113-character constraint, so it is only partial compensation.
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 ('Retrieve latest ingested notice by an ocid') and names the sibling that supplies the input ('returned by search_tenders'). It also pre-empts a likely misconception by declaring 'Not a compiled procurement history', which lets an agent distinguish it from a history/coverage tool 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains where the required ocid comes from (search_tenders) and gives the cost condition for calling it: one of three daily free calls, then x402 payment. It does not contrast use cases with the other sibling, check_coverage, so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_tendersARead-onlyInspect
Search the latest ingested UK Find a Tender notices. Literal AND keywords; region is work location, not buyer address. Three free calls/day per network address, up to 5 notices. After the allowance, or if limit exceeds 5, requires x402 payment (normally 0.01 USDC on Base), up to 25 notices. Empty searches count. Retry identical arguments and original proof after uncertain payment.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | ||
| cpv | No | ||
| limit | No | ||
| offset | No | ||
| region | No | ||
| status | No | open | |
| snapshot | No | ||
| deadline_to | No | ||
| deadline_from | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover only the safety profile (readOnly, non-destructive, open-world); the description adds the traits an agent actually needs to avoid failure: per-network-address rate limits, the x402/0.01 USDC payment path, the 5 vs 25 result cap, the fact that empty searches still consume quota, and recovery via identical arguments plus the original proof. That is well beyond what the structured fields provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five compact sentences with the purpose front-loaded and the quota/payment constraints immediately after. Every clause carries actionable information (matching rule, quota, payment, edge case, retry), and the terse "Empty searches count" warning earns its place by pre-empting a quota surprise.
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?
The operational and commercial behavior is documented thoroughly and no output schema is needed for return values, so the description is complete on the 'how to call it safely' axis. It is incomplete on the 'what the arguments mean' axis for a 9-parameter tool, where cryptic fields like snapshot and deadline ranges remain unexplained.
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 0% across 9 parameters, so the description carries the full burden and only partially compensates: it clarifies q's matching semantics, that region means work location rather than buyer address, and limit's cap tiers. cpv, status, snapshot, offset, and especially the deadline_from/deadline_to formats get no explanation anywhere, leaving two-thirds of the surface undocumented.
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?
Names a specific verb and resource ("Search the latest ingested UK Find a Tender notices") and scopes it to ingested notices, which cleanly separates it from get_tender_details and check_coverage. It also pins down matching semantics ("Literal AND keywords"), so an agent knows what kind of search this is 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives strong operational context: the free-call allowance, when payment kicks in, result-count tiers, and retry behavior after an uncertain payment. It does not, however, name the sibling tools or say when to prefer get_tender_details / check_coverage over a fresh search, so routing between siblings 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
check_coverage - First observed
get_tender_details - First observed
search_tenders
Related MCP Connectors
Search public procurement notices from 17 sources across Germany, the EU and the UK. Read-only.
Search EU TED procurement notices by CPV, country, keyword, value, or type.
Search official UK tenders and create source-linked, deterministic supplier-fit assessments.
Related MCP Servers
- 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.55 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 gradedqualityCmaintenanceEnables users to search recent EU TED and Spanish PLACSP tender notices by keyword, country, and source, and to retrieve individual notices by id. A free tier returns five notices without source links, while an API key from tender.bitscorp.co unlocks every notice and call.MIT
- FlicenseNot gradedqualityBmaintenanceEnables searching government tenders and public procurement opportunities with structured, anti-bot-handled results.-
Glama MCP Gateway
Add one secure layer between your agents and this server.