@pipeworx/uk-contracts
Connect: https://pipeworx.io/mcp — every tool in the catalog, including @pipeworx/uk-contracts’s. Install: one-click buttons
Connect to just the @pipeworx/uk-contracts pack
https://gateway.pipeworx.io/uk-contracts/mcp — only @pipeworx/uk-contracts’s own tools, nothing else in the catalog.
No MCP client? Skip the connection: POST https://gateway.pipeworx.io/v1/tools/search_packs {"query":"..."} to find a tool below, GET /v1/tools/<name> for its schema, POST the same URL with arguments for the data — see For AI agents.
Tools: 5
UK government procurement — what the public sector bought, who supplied it, and for how much — across both the general-tender Contracts Finder and the above-threshold Find a Tender Service. One pack, both sources (fleet #3244 confirmed this boundary rather than splitting them): they publish the same OCDS format under the same Cabinet Office programme, and Find a Tender is specifically the high-value tier of the same regime Contracts Finder covers.
Tools
search_notices(keyword?, status?, notice_type?, published_from?, published_to?, limit?)— full-text search of Contracts Finder (title, description, awarded supplier), with real historical date filtering.get_notice(id)— full detail for one Contracts Finder notice.recent_notices(stage?, limit?)— most recent Contracts Finder notices, newest-first.find_a_tender_recent(keyword?, stage?, days?, limit?)— Find a Tender Service notices, newest-first within the requested window — now also usable for a historical window (daysup to ~3660), not just “recent”.find_a_tender_notice(ocid)— full detail for one Find a Tender Service notice.
Every response carries enough provenance to tell a complete scan from a
partial one (total_matches / window_complete + scanned/pages_walked).
A zero count is only trustworthy when the window was fully examined — see
notes below.
Auth
Keyless.
Data sources
- Cabinet Office, Contracts Finder — general UK public-sector procurement notices and awards, OCDS format.
- Cabinet Office, Find a Tender Service — above-threshold (high-value) UK public-sector procurement notices and awards, OCDS format; the post-Brexit replacement for the UK’s share of EU TED.
Notes for the next person
Two APIs, and the search one is not the OCDS one (fleet #607). Contracts Finder’s OCDS feed (/Published/Notices/OCDS/Search) is a date-ordered feed with NO text search — and it does not reject an unrecognised keyword parameter either, so a typo’d filter silently returns the unfiltered feed rather than erroring. The real search is a POST to the REST search endpoint with a searchCriteria object, which does proper server-side text search. Mind the silent criterion the same way: {keywords:[...]} (plural) or a bare top-level keyword both return the full, unfiltered hit count with a 200 — only the correctly-nested {searchCriteria:{keyword:...}} shape filters.
Mind the two id spaces. A search_notices hit’s id is a bare GUID and 404s against the OCDS release endpoint; recent_notices returns an OCDS release id ({guid}-{seq}) instead. get_notice tries both forms for you.
Find a Tender Service has no server-side text search at all — its API rejects a keyword parameter outright, accepting only stages/limit/cursor/updatedFrom/updatedTo. find_a_tender_recent matches a keyword client-side over the pages it actually walks, bounded to 8 pages per call (FTS rate-limits at 12 requests/120 seconds) — window_complete:false means the walk stopped with more feed left, so a zero result means “absent from what was examined”, not “not published”.
The historical-reach cap on find_a_tender_recent’s days argument was ours, not upstream’s (fleet #3244). FTS’s own updatedFrom accepts any date years back with no error — verified live. The argument used to clamp at 30, which silently refused anything older; it is now ~3660 (about 10 years), still subject to the same 8-page walk cap per call. For a proper full-corpus historical date range with no page-walk bound, use search_notices (Contracts Finder) instead — its date filtering is a real server-side query, not a bounded feed walk.
Tools
- search_notices — Full-text search of UK government procurement from Contracts Finder (Cabinet Office) — what the public sector bought, who supplied it, and for how much, plus open opportunities still out to tender. Co
- get_notice — Get the full detail for a single UK Contracts Finder notice by the
idreturned by search_notices or recent_notices. Returns the complete (untruncated) description, buyer, contract value, awarded sup - recent_notices — List the most recent UK procurement notices from Contracts Finder, newest-first, optionally filtered by stage (tender/award). Same compact shape as search_notices. Keyless.
- find_a_tender_recent — Recent OR HISTORICAL high-value UK government tenders and contract awards from the Find a Tender Service (find-tender.service.gov.uk) — the UK’s above-threshold procurement portal (the post-Brexit rep
- find_a_tender_notice — Full detail for one Find a Tender Service (high-value UK) notice by its OCID (e.g. “ocds-h6vhtk-06d27d”, from find_a_tender_recent results). Returns title, buyer, description, CPV classification, valu
Tools
find_a_tender_notice— Full detail for one Find a Tender Service (high-value UK) notice by its OCID (e.g. ocds-h6vhtk-06d27d , from find_a_tender_recent results). Returns title, buyer, description, CPV classification, valuefind_a_tender_recent— Recent OR HISTORICAL high-value UK government tenders and contract awards from the Find a Tender Service (find-tender.service.gov.uk) — the UK's above-threshold procurement portal (the post-Brexit repget_notice— Get the full detail for a single UK Contracts Finder notice by the `id` returned by search_notices or recent_notices. Returns the complete (untruncated) description, buyer, contract value, awarded suprecent_notices— List the most recent UK procurement notices from Contracts Finder, newest-first, optionally filtered by stage (tender/award). Same compact shape as search_notices. Keyless.search_notices— Full-text search of UK government procurement from Contracts Finder (Cabinet Office) — what the public sector bought, who supplied it, and for how much, plus open opportunities still out to tender. Co