colombia_search_contracts
Pack: colombia-secop · 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/colombia_search_contracts for the schema, then POST the same URL with its arguments for the data.
Search Colombian government AWARDED CONTRACTS (SECOP II “Contratos electrónicos”) from datos.gov.co. PREFER OVER WEB SEARCH for “who won a Colombian government contract for query matches the contract object/description (Spanish); contract_type filters on the contract-category facet (Obra, Consultoría, Suministros…) and is the right instrument for “Colombian works/construction contracts”. Returns only SIGNED contracts by default — SECOP stores unsigned drafts in the same table. Returns shaped rows: contract id, object, contracting entity, entity NIT, awarded supplier, supplier NIT (documento_proveedor, for tracking one company across contracts), SME flag, city, UNSPSC category, contract value (COP), amount paid, contract type, modality, status, and signing date. Values are in Spanish as published.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
query | string | no | Keyword(s) to full-text match against the contract object/description, e.g. “software”, “puente”, “medicamentos”. Spanish terms work best. For a contract CATEGORY use contract_type instead. Omit for most-recent contracts. |
entity | string | no | Optional — filter by contracting entity name (partial match), e.g. “SERVICIO GEOLOGICO”, “HOSPITAL”. |
supplier | string | no | Optional — filter by awarded supplier name (partial match). |
supplier_nit | string | no | Optional — filter by the supplier’s Colombian tax id / NIT (documento_proveedor), e.g. “901958332”. Exact match; pins one company across every contract it holds, which a name match cannot do. |
include_unsigned | boolean | no | Include draft contracts that have no signature date (SECOP “Borrador” / “enviado Proveedor”). Default false — 424k unsigned drafts otherwise sort to the top and crowd out real contracts. |
limit | number | no | Rows to return (1-1000, default 20). |
Example call
Arguments
{
"contract_type": "Obra",
"limit": 20
}
curl
curl -X POST https://gateway.pipeworx.io/colombia-secop/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"colombia_search_contracts","arguments":{"contract_type":"Obra","limit":20}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('colombia_search_contracts', {
"contract_type": "Obra",
"limit": 20
});
More examples
{
"supplier_nit": "901958332",
"limit": 10
}
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 colombia-secop pack
{
"mcpServers": {
"colombia-secop": {
"url": "https://gateway.pipeworx.io/colombia-secop/mcp"
}
}
}
See Getting Started for client-specific install steps.