prozorro_get_contract
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_contract for the schema, then POST the same URL with its arguments for the data.
The authoritative post-award contract record(s) for a Ukraine ProZorro tender (keyless OpenProcurement contracting API): current status (active | terminated | cancelled), dateSigned, contract period, current value (AFTER amendments — the API does not keep the original signed amount as a separate field; the change rationale usually states it) and amountPaid, terminationDetails, every contract change/amendment (rationale, rationaleTypes, date published, dateSigned), contract documents with their datePublished, and milestones. Use this — not the tender — for anything after signing: the copy of the contract embedded in a tender is frozen when the tender completes and keeps saying active after the contract is amended or terminated. Pass a tender id (32-hex or UA-… tenderID) to get all of its contracts, or a contract’s 32-hex id. Optional as_of (YYYY-MM-DD) splits changes and documents into those published on/before vs after that date and states whether the record’s status at that date is known: the public API keeps NO revision history, so if the record was modified after as_of the status at as_of is reported as not available rather than inferred. The API carries no termination date field; this tool never invents one.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
id | string | yes | A tender id (internal 32-hex, e.g. “6a9dca3807a14b37bf82fb8ad2eae0c9”, or human tenderID “UA-2026-07-13-009811-a”) to return every contract of that tender, or a contract’s own 32-hex id (the contract.id prozorro_get_tender returns). |
as_of | string | no | Optional cutoff date YYYY-MM-DD (or full ISO timestamp). Separates what was published on or before it from what came later, and says whether the status at that date can be established from the public record. |
Example call
Arguments
{
"id": "6a9dca3807a14b37bf82fb8ad2eae0c9",
"as_of": "2026-10-04"
}
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_contract","arguments":{"id":"6a9dca3807a14b37bf82fb8ad2eae0c9","as_of":"2026-10-04"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('prozorro_get_contract', {
"id": "6a9dca3807a14b37bf82fb8ad2eae0c9",
"as_of": "2026-10-04"
});
More examples
{
"id": "c184cdf66caa415db80dcacac38123d2"
}
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.