Skip to main content

MCP Server para consultar contratación pública de Colombia (SECOP I y II)

Project description

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

Dataset Descripción Fuente
SECOP I - Procesos Datos históricos de procesos de compra pública datos.gov.co
SECOP II - Procesos Procesos de contratación transaccionales datos.gov.co
SECOP II - Contratos Contratos electrónicos con valores pagados/facturados datos.gov.co
SECOP II - Proveedores Proveedores registrados en la plataforma datos.gov.co

Herramientas (Tools)

Tool Descripción
buscar_secop1 Buscar procesos en SECOP I por entidad, contratista, objeto, departamento, etc.
buscar_procesos_secop2 Buscar procesos de contratación en SECOP II
buscar_contratos_secop2 Buscar contratos electrónicos en SECOP II
buscar_proveedores Buscar proveedores registrados en SECOP II
buscar_por_persona Buscar en TODOS los datasets por cédula/NIT o nombre de una persona
consulta_libre Consulta SoQL avanzada sobre cualquier dataset
listar_datasets Ver todos los datasets y sus campos disponibles

Instalación

Requisitos

  • Python 3.11+
  • uv (recomendado) o pip

Opción 1: Desde PyPI (recomendada)

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

# Con pip
pip install secop-mcp-server

Opción 2: Desde GitHub

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

Opción 3: Desde el código fuente

git clone https://github.com/juandavidsernav/secop-mcp-server.git
cd secop-mcp-server
uv sync

Configuración

Claude Code

# Instalación rápida desde PyPI
claude mcp add secop-colombia -- uvx secop-mcp-server

# O desde código fuente
claude 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
{
  "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:

{
  "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?"

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
  • Mejorar el formateo de resultados
  • Agregar filtros por rango de fechas
  • Crear visualizaciones o resúmenes automáticos
  • Traducciones del README

Licencia

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

secop_mcp_server-0.1.0.tar.gz (51.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

secop_mcp_server-0.1.0-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file secop_mcp_server-0.1.0.tar.gz.

File metadata

  • Download URL: secop_mcp_server-0.1.0.tar.gz
  • Upload date:
  • Size: 51.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for secop_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d635278a86f24c756b596a82e6400b36608fcee4fbe44b523011114b16816223
MD5 8a3ad08f4014b13ed5034f6284dfb3ae
BLAKE2b-256 516cbc6f12103421607130c60e9d7ff892d5e64bf270bd2189c8fa5c57a6a480

See more details on using hashes here.

File details

Details for the file secop_mcp_server-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: secop_mcp_server-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for secop_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 90d369f8935f47dcaad760defc9ae3a4d7426590641f0295b7141a44d345ca60
MD5 2ef3d3e01f84700adc733743975f5e59
BLAKE2b-256 bb889d1c35d63dd1afaeec7ccba53b6bb4b411171fe2430877b62b3d1de2d79f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page