prozorro_get_tender
Pack: prozorro · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/prozorro_get_tender for the schema, then POST the same URL with its arguments for the data.
Full detail for a single Ukraine ProZorro tender by id (via the keyless OpenProcurement public API). Returns tenderID, title, description, status, procurementMethod + procurementMethodType (raw OCDS fields — broad method vs ProZorro’s specific type, e.g. aboveThresholdUA/aboveThresholdEU), tender_value (the ORIGINAL ASKING PRICE — not money spent), the buyer/procuring entity (name, EDR identifier, region, contact), tender period (start/end), enquiry period, number of bids, line items (description, CPV classification, quantity, unit, relatedLot), lots (id/title/status/value, when the tender is lotted), and the OCDS award/contract stage: award (operative award: status, date, value, winning supplier, lotID, bid_id — null if none) plus the full awards history (each with the FULL suppliers[] array — name + identifier scheme/id — alongside the single-supplier supplier field kept for backward compatibility), and contract (signed contract value/date, with its CURRENT status and amountPaid read from the contract record — the tender’s own copy goes stale after signing; use prozorro_get_contract for amendments, termination and contract documents). An interpretation line states plainly whether the tender_value was ever actually spent. Pass raw:true to also get the complete, unshaped upstream OCDS tender object under raw, for any field not shaped above. Text is largely Ukrainian. Accepts the internal 32-char tender id OR a human tenderID (“UA-2026-09-20-000012-a”) — for a tenderID this now tries to resolve the internal id by scanning the most-recently-modified feed records first (cheap, usually one call for anything modified in the last few hours) and returns FULL detail when that succeeds; it falls back to the search index’s summary (detail_available:false, no awards) only when the tender wasn’t modified recently enough to be found that way.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | yes | Tender id — the internal 32-hex id (e.g. “156db6e773ba4b6e925d00f9ad3b13f4”) from prozorro_recent_tenders always returns full detail. A human tenderID (“UA-2026-09-20-000012-a”) from prozorro_search_tenders is also accepted; full detail depends on whether it can be resolved (see tool description) — detail_available in the response says which case you got. |
raw | boolean | no | Include the complete, unshaped upstream OCDS tender JSON under raw. Only applies when full detail is available (detail_available:true). Default false — the raw object can be large (documents, full bids, etc). |
Example call
Arguments
{
"id": "156db6e773ba4b6e925d00f9ad3b13f4"
}
curl
curl -X POST https://gateway.pipeworx.io/prozorro/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"prozorro_get_tender","arguments":{"id":"156db6e773ba4b6e925d00f9ad3b13f4"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('prozorro_get_tender', {
"id": "156db6e773ba4b6e925d00f9ad3b13f4"
});
Connect
Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the prozorro pack
{
"mcpServers": {
"prozorro": {
"url": "https://gateway.pipeworx.io/prozorro/mcp"
}
}
}
See Getting Started for client-specific install steps.