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

NameTypeRequiredDescription
idstringyesTender 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.
rawbooleannoInclude 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.

Regenerated from source · build October 30, 2026