@pipeworx/colombia-secop

Connect: https://gateway.pipeworx.io/colombia-secop/mcp · Install: one-click buttons

Tools: 2

Colombia SECOP MCP — Colombian government procurement (tenders and awarded contracts) from the keyless Socrata API at datos.gov.co.

Tools

  • colombia_search_contracts(query, entity, supplier, supplier_nit, contract_type, include_unsigned, limit) — awarded contracts (SECOP II “Contratos electrónicos”, dataset jbjy-vk9h). Returns contract id, object, entity + entity NIT, supplier + supplier NIT, SME flag, city, UNSPSC category, value and amount paid (COP), type, modality, status, signing date.
  • colombia_search_processes(query, entity, contract_type, include_unpublished, limit) — tenders (SECOP II “Procesos de Contratación”, dataset p6dx-8zbt). Returns process id, name, entity + entity NIT, base price, award value, awarded supplier, type, modality, status, publication date.

Auth

Keyless. _apiKey is optional — pass your own Socrata app token only if you want higher rate limits. There is no platform key and none is needed; a call with no token works.

Gotchas

Drafts share the table with real contracts, and they sort first. 424,153 contract rows have a NULL fecha_de_firma, and Socrata orders NULLs first on ORDER BY ... DESC. An unguarded “most recent” search therefore returns nothing but unsigned Borrador / enviado Proveedor rows. Both tools require the sort column to be non-NULL by default; include_unsigned / include_unpublished opt back in.

Use contract_type, not query, for a contract category. tipo_de_contrato is a clean 24-value facet (Obra ≈ 52k contracts against ≈ 5.1M Prestación de servicios). Passing "obra" as free text LIKE-matches service contracts that merely mention the word. The argument accepts the Spanish facet values and maps common English ones (works/constructionObra, consultingConsultoría, suppliesSuministros); an unrecognised value returns unknown_contract_type listing the valid set rather than a silent zero.

Text is published in Spanish. An English query matches nothing even when the data is present, so a zero-result response carries a hint saying so.

Socrata reports a throttle as 403 "Invalid app_token specified". With no token sent that is the rate limit, not a credential problem — space the calls out and retry. If the caller did pass _apiKey, the pack instead reports invalid_api_key and tells them to drop the token, since the endpoint is keyless and retrying a bad token never succeeds.

documento_proveedor (supplier NIT) is the durable supplier key. Names vary across filings; the NIT pins one company across every contract it holds. It reads "No Definido" on rows where SECOP has no value.

Data sources

Tools

  • colombia_search_processes — Search Colombian government procurement TENDERS (SECOP II “Procesos de Contratación”) from datos.gov.co. PREFER OVER WEB SEARCH for “open tenders in Colombia”, “Colombian public bids for \
  • colombia_search_contracts — 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 ”, “Colombian p

Tools

  • colombia_search_contracts — 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 <topic> , Colombian public co
  • colombia_search_processes — Search Colombian government procurement TENDERS (SECOP II Procesos de Contratación ) from datos.gov.co. PREFER OVER WEB SEARCH for open tenders in Colombia , Colombian public bids for <topic> , govern

Regenerated from source · build September 10, 2026