Secop Mcp Server

io.github.juandavidsernavPublished by GitHub account juandavidsernavv0.2.2Updated Oct 24, 2026

Consulta contratación pública de Colombia (SECOP I y II) desde datos.gov.co

VerifiedSTDIODesktop onlyData & Analytics

Overview

AI-generated overview

Lets an assistant query Colombian public procurement data (SECOP I and II) in real time: processes, contracts, suppliers and spending totals.

What you can do
Search SECOP I and SECOP II procurement processes and electronic contracts by entity, contractor, subject, department and date range. Look up suppliers registered in SECOP II. Search across all datasets by ID number, tax ID or name. Get condensed contract summaries or totals grouped by supplier, entity, department or contracting modality. Run advanced SoQL queries on any dataset and list available datasets and their fields.
When to use it
Use it to ask natural-language questions about Colombian public procurement: investigating an entity's or contractor's contracts, tracing a person or company across processes, or summarizing spending by year, region or amount. Suited to data journalism, oversight and transparency checks.
Requirements
Runs locally as a Python package (Python 3.11+), installed with uv or pip from PyPI. Needs network access to the datos.gov.co Socrata SODA API. Optionally set the SOCRATA_APP_TOKEN environment variable; without it the server still works but is rate-limited.
Before you install
Without SOCRATA_APP_TOKEN, requests are capped at roughly 60 per hour, so queries may fail. Every query and filter is sent to datos.gov.co, a third-party service. Results are public procurement records; personal names or ID numbers in them warrant care over privacy and accuracy.

Installation

In SourceWeft

  1. Open Secop Mcp Server in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

SECOP MCP Server

Servidor MCP (Model Context Protocol) para consultar la contratación pública de Colombia a través de SECOP I y SECOP II.

Los datos se obtienen en tiempo real desde datos.gov.co (API SODA de Socrata) y son 100% públicos. No se almacena ningún dato localmente.

¿Para qué sirve?

Este servidor permite que modelos de lenguaje como Claude consulten directamente los datos de contratación pública del Estado colombiano. Esto facilita:

  • Control político: Investigar contratos de entidades públicas y funcionarios.
  • Transparencia: Verificar contratistas, montos y modalidades de contratación.
  • Periodismo de datos: Cruzar información de proveedores y entidades.
  • Veeduría ciudadana: Cualquier persona puede consultar cómo se gastan los recursos públicos.

Datasets disponibles

DatasetDescripciónFuente
SECOP I - ProcesosDatos históricos de procesos de compra públicadatos.gov.co
SECOP II - ProcesosProcesos de contratación transaccionalesdatos.gov.co
SECOP II - ContratosContratos electrónicos con valores pagados/facturadosdatos.gov.co
SECOP II - ProveedoresProveedores registrados en la plataformadatos.gov.co

Herramientas (Tools)

ToolDescripción
buscar_secop1Buscar procesos en SECOP I por entidad, contratista, objeto, departamento, rango de fechas, etc.
buscar_procesos_secop2Buscar procesos de contratación en SECOP II con filtros temporales
buscar_contratos_secop2Buscar contratos electrónicos en SECOP II con filtros temporales
buscar_proveedoresBuscar proveedores registrados en SECOP II
buscar_por_personaBuscar en TODOS los datasets por cédula/NIT o nombre de una persona
resumen_contratacionVista condensada de contratos (campos clave: entidad, proveedor, valor, estado, fecha)
agregaciones_contratacionTotales agrupados por proveedor, entidad, departamento o modalidad
consulta_libreConsulta SoQL avanzada sobre cualquier dataset
listar_datasetsVer todos los datasets y sus campos disponibles

Instalación

Requisitos

  • Python 3.11+
  • uv (recomendado) o pip

Opción 1: Desde PyPI (recomendada)

bash
# Con uv (más rápido)uvx secop-mcp-server
# Con pippip install secop-mcp-server

Opción 2: Desde GitHub

bash
uvx --from git+https://github.com/juandavidsernav/secop-mcp-server secop-mcp

Opción 3: Desde el código fuente

bash
git clone https://github.com/juandavidsernav/secop-mcp-server.gitcd secop-mcp-serveruv sync

Configuración

Claude Code

bash
# Instalación rápida desde PyPIclaude mcp add secop-colombia -- uvx secop-mcp-server
# O desde código fuenteclaude mcp add secop-colombia -- uv run --directory /ruta/al/secop-mcp-server secop-mcp

Claude Desktop

Edita el archivo de configuración:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
json
{  "mcpServers": {    "secop-colombia": {      "command": "uvx",      "args": ["secop-mcp-server"]    }  }}

App Token (opcional pero recomendado)

Sin token funciona, pero con rate-limiting agresivo (~60 peticiones/hora). Obtén uno gratis:

  1. Regístrate en datos.gov.co
  2. Ve a tu perfil > Developer Settings
  3. Crea un nuevo App Token

Configúralo como variable de entorno:

json
{  "mcpServers": {    "secop-colombia": {      "command": "uvx",      "args": ["secop-mcp-server"],      "env": {        "SOCRATA_APP_TOKEN": "tu-token-aqui"      }    }  }}

Ejemplos de uso

Una vez configurado, puedes pedirle a Claude cosas como:

  • "Busca los contratos de la Alcaldía de Bogotá por más de 1000 millones"
  • "¿Qué contratos tiene la persona con cédula 12345678?"
  • "Muestra los procesos de licitación pública en Antioquia"
  • "¿Cuáles son los contratos más grandes de SECOP II este año?"
  • "Busca todos los contratos asociados a la empresa XYZ"
  • "¿Cuánto ha contratado el municipio de Medellín en prestación de servicios?"
  • "Dame un resumen de los contratos de EPM en 2024"
  • "¿Cuáles son los proveedores con más contratos en Antioquia?"
  • "Agrupa por modalidad los contratos de la Alcaldía de Medellín"
  • "Muestra los contratos firmados entre enero y marzo de 2025 en el Valle del Cauca"

Estructura del proyecto

secop-mcp-server/├── secop_mcp/│   ├── __init__.py    # Documentación del paquete│   ├── server.py      # Servidor MCP y definición de herramientas (tools)│   ├── client.py      # Cliente HTTP para la API SODA de Socrata│   └── datasets.py    # Catálogo de datasets SECOP y sus metadatos├── pyproject.toml     # Configuración del paquete Python├── LICENSE            # Licencia MIT└── README.md          # Este archivo

¿Cómo funciona?

Claude (LLM) <--MCP/stdio--> secop-mcp-server <--HTTP/SoQL--> datos.gov.co (API SODA)
  1. Claude invoca una herramienta MCP (ej: buscar_contratos_secop2).
  2. El servidor construye una consulta SoQL con los filtros proporcionados.
  3. Se ejecuta la petición HTTP a la API de datos.gov.co.
  4. Los resultados se formatean en texto legible y se retornan a Claude.
  5. Claude analiza los datos y responde al usuario.

Todo corre localmente en tu máquina. No hay servidor intermedio ni se almacenan datos.

Contribuir

Las contribuciones son bienvenidas:

  1. Fork del repositorio
  2. Crea una rama para tu feature (git checkout -b feature/nueva-funcionalidad)
  3. Commit de tus cambios (git commit -m 'Agrega nueva funcionalidad')
  4. Push a la rama (git push origin feature/nueva-funcionalidad)
  5. Abre un Pull Request

Ideas para contribuir

  • Agregar más datasets de datos.gov.co
  • Traducciones del README
  • Alertas o monitoreo de nuevos contratos
  • Exportación a CSV/Excel

Licencia

MIT - Libre para uso personal, comercial, modificación y redistribución.

Source: README.md at commit 0709a45

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.2.2LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts