Token导航 LogoToken导航

MCP Server · AI代理

Secop MCP Project

SECOP II MCP服务器是一个通过Claude和其他AI代理智能查询哥伦比亚公共采购系统API的服务,简化了复杂的数据查询过程。

未说明官方级别未说明来源级核验工具 3
TypeScriptClaude数据分析

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
oddradioada
提供方
oddradioada

工具数量

3

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

Secop MCP Project 属于AI代理类 MCP Server,公开资料标注 3 个工具,通过传输方式未标注接入,适配 Claude,没有现成的安装命令;接入前要先准备 OAuth 授权。

分类

AI代理

传输方式

未说明

认证方式

OAuth 授权

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 3 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

公开资料仍需确认:安装命令

详细介绍

SECOP II MCP Server

Servidor MCP (Model Context Protocol) para consultar el API de SECOP II de forma inteligente usando Claude y otros agentes de IA

Tabla de Contenidos


¿Qué es esto?

Un servidor Model Context Protocol (MCP) que permite a Claude y otros agentes de IA consultar el sistema de contratación pública colombiano SECOP II en lenguaje natural.

En lugar de:

curl "https://www.datos.gov.co/resource/p6dx-8zbt.json?$where=entidad LIKE '%MINISTERIO%' AND departamento_entidad='Bogotá D.C.'&$limit=50"

Ahora puedes:

Usuario: "Busca licitaciones activas de servicios TI en Bogotá publicadas este mes"
Claude: [Usa el servidor MCP automáticamente y retorna resultados estructurados]

Problema que resuelve

Las empresas que contratan con el sector público colombiano necesitan:

  • Encontrar oportunidades de contratación activas
  • Investigar procesos históricos similares
  • Analizar requisitos y modalidades de contratación
  • Identificar entidades que contratan servicios específicos

Actualmente esto requiere:

  • L Búsquedas manuales en datos.gov.co
  • L Conocimiento técnico del API Socrata y lenguaje SoQL
  • L Construcción manual de queries complejas
  • L Procesamiento de respuestas JSON grandes

Con este servidor MCP:

  • Consultas en lenguaje natural vía Claude
  • Acceso programático simple
  • Filtros inteligentes automáticos
  • Respuestas estructuradas y fáciles de procesar

Características

MVP v1.0

  • 3 Tools principales para búsqueda y análisis:

- search_processes - Búsqueda flexible con 12 parámetros - get_process_details - Detalles completos de un proceso - aggregate_by_entity - Estadísticas por entidad

  • 1 Resource:

- secop://data-dictionary - Diccionario de datos completo (59 campos)

  • Características técnicas:

- Autenticación segura con Socrata API - Retry automático con exponential backoff - Manejo robusto de errores - Validación de schemas con Zod - TypeScript strict mode


Requisitos

  • Node.js 20 o superior
  • npm o yarn
  • Credenciales de Socrata API (ver Configuración)
  • Claude Code o cualquier cliente MCP compatible

Instalación

Opción 1: Desde el repositorio

# Clonar el repositorio
git clone https://github.com/tu-usuario/secop-scrapper.git
cd secop-scrapper

# Instalar dependencias
npm install

# Compilar TypeScript
npm run build

Opción 2: Desarrollo local

# Instalar en modo desarrollo
npm install

# Ejecutar en modo watch
npm run dev

Configuración

1. Variables de entorno

Crear archivo .env en la raíz del proyecto:

# Credenciales Socrata (REQUERIDO)
SOCRATA_API_KEY=tu_api_key_aquí
SOCRATA_API_SECRET=tu_api_secret_aquí
SOCRATA_APP_TOKEN=tu_app_token_aquí

# Configuración opcional (valores por defecto)
SOCRATA_BASE_URL=https://www.datos.gov.co
SOCRATA_DATASET_ID=p6dx-8zbt
REQUEST_TIMEOUT_MS=30000
MAX_RESULTS_LIMIT=200
RETRY_ATTEMPTS=3

2. Obtener credenciales de Socrata

Ver documentación en docs/secop-api-settings.md para instrucciones detalladas sobre cómo obtener:

  • API Key
  • API Secret
  • App Token

3. Configurar en Claude Code

Añadir al archivo de configuración de MCP servers:

En Linux/macOS: ~/.config/claude-code/mcp.json En Windows: %APPDATA%\claude-code\mcp.json

{
  "mcpServers": {
    "secop": {
      "command": "node",
      "args": ["/ruta/completa/al/proyecto/dist/index.js"],
      "env": {
        "SOCRATA_API_KEY": "tu_api_key",
        "SOCRATA_API_SECRET": "tu_api_secret",
        "SOCRATA_APP_TOKEN": "tu_app_token"
      }
    }
  }
}

Nota: También puedes usar las credenciales que están documentadas en docs/secop-api-settings.md si tienes acceso al repositorio.


Uso

En Claude Code

Una vez configurado, simplemente pregunta en lenguaje natural:

Encuentra licitaciones activas de consultoría en Bogotá

Muéstrame qué ha contratado el Ministerio de Salud en 2024

¿Qué modalidad de contratación usa más la Alcaldía de Medellín?

Dame detalles del proceso OCDS-87SD3T-...

Claude usará automáticamente los tools del servidor MCP para responder.

Verificar que funciona

# Desde Claude Code
> ¿Está funcionando el servidor SECOP?

# Claude intentará usar el servidor y te dirá si está conectado

Tools Disponibles

1. search_processes

Búsqueda flexible de procesos de contratación.

Parámetros disponibles:

  • entity_name (string) - Nombre de la entidad (búsqueda parcial)
  • department (string) - Departamento (ej: "Bogotá D.C.")
  • city (string) - Ciudad
  • phase (enum) - Fase del proceso: Planeación, Selección, Evaluación, Adjudicación, Contratación, Ejecución
  • modality (string) - Modalidad: Licitación Pública, Selección Abreviada, Concurso de Méritos, etc.
  • min_value (number) - Valor mínimo en COP
  • max_value (number) - Valor máximo en COP
  • from_date (string) - Fecha inicial (YYYY-MM-DD)
  • to_date (string) - Fecha final (YYYY-MM-DD)
  • status (string) - Estado: Activo, Adjudicado, Desierto, Celebrado
  • limit (number) - Máximo de resultados (1-200, default: 50)

Ejemplo de respuesta:

{
  "total_found": 1234,
  "returned": 50,
  "processes": [
    {
      "id": "OCDS-87SD3T-...",
      "reference": "CD-001-2024",
      "entity": "MINISTERIO DE SALUD",
      "title": "Adquisición de equipos médicos",
      "phase": "Selección",
      "status": "Activo",
      "modality": "Licitación Pública",
      "base_value": 500000000,
      "publication_date": "2024-11-01T10:30:00Z",
      "deadline": "2024-12-15T17:00:00Z",
      "url": "https://www.colombiacompra.gov.co/proceso/..."
    }
  ]
}

2. get_process_details

Obtener información detallada de un proceso específico.

Parámetros:

  • process_id (string, requerido) - ID del proceso (OCDS o referencia)

Ejemplo de respuesta:

{
  "process": {
    "basic_info": { "id": "...", "reference": "...", "title": "..." },
    "entity": { "name": "...", "nit": "...", "department": "..." },
    "procurement": { "phase": "...", "modality": "...", "base_value": 0 },
    "dates": { "publication": "...", "deadline": "..." },
    "statistics": { "views": 0, "interested_providers": 0 },
    "award": { "is_awarded": false, "provider_name": null }
  }
}

3. aggregate_by_entity

Estadísticas agregadas de contratación por entidad.

Parámetros:

  • entity_nit (string, requerido) - NIT de la entidad
  • from_date (string, opcional) - Fecha inicial
  • to_date (string, opcional) - Fecha final

Ejemplo de respuesta:

{
  "entity": { "name": "...", "nit": "..." },
  "statistics": {
    "total_processes": 150,
    "total_value": 15000000000,
    "by_phase": { "Selección": 50, "Adjudicación": 80 },
    "by_modality": { "Licitación Pública": 30 },
    "top_categories": [
      { "code": "80111500", "name": "Servicios de Consultoría", "count": 45 }
    ]
  }
}

Resources Disponibles

secop://data-dictionary

Diccionario de datos completo del dataset SECOP II.

Contiene:

  • 59 campos con descripciones
  • Tipos de datos
  • Ejemplos de valores
  • Mapeo entre nombres de columna y API fields

Uso:

> Muéstrame el diccionario de datos de SECOP II

Ejemplos

Caso 1: Encontrar oportunidades activas

Pregunta:

Muéstrame licitaciones activas de servicios TI en Bogotá con valor mayor a $100 millones

Claude ejecutará:

search_processes({
  status: "Activo",
  department: "Bogotá D.C.",
  min_value: 100000000
})

Caso 2: Investigar entidad específica

Pregunta:

¿Qué ha contratado el Ministerio de Salud este año?

Claude ejecutará:

aggregate_by_entity({
  entity_nit: "800123456", // Claude busca el NIT primero
  from_date: "2024-01-01",
  to_date: "2024-12-31"
})

Caso 3: Analizar modalidad

Pregunta:

¿Qué procesos de selección abreviada se publicaron esta semana?

Claude ejecutará:

search_processes({
  modality: "Selección Abreviada",
  from_date: "2024-11-19", // Hace 7 días
  to_date: "2024-11-26"
})

Arquitectura

Diagrama de componentes

      +------------------------+
      | MCP Host (Claude Code) |
      +------------------------+
                  ^
                  | STDIO
                  v
      +----------------------------------+
      |        MCP Server (secop)        |
      |                                  |
      |  +----------------------------+  |
      |  |       Tools Handler        |  |
      |  |  - search_processes        |  |
      |  |  - get_process_details     |  |
      |  |  - aggregate_by_entity     |  |
      |  +----------------------------+  |
      |                |                 |
      |                v                 |
      |  +----------------------------+  |
      |  |     Socrata API Client     |  |
      |  |  - Auth & Retry Logic      |  |
      |  |  - SoQL Query Builder      |  |
      |  +----------------------------+  |
      +----------------------------------+
                  |
                  | HTTPS
                  v
      +----------------------------------+
      |           Socrata API            |
      |  Dataset: p6dx-8zbt (SECOP II)   |
      +----------------------------------+

Estructura del proyecto

secop-scrapper/
├── src/
│   ├── index.ts              # Entry point, MCP server
│   ├── config.ts             # Configuration management
│   ├── tools/
│   │   ├── search.ts         # search_processes
│   │   ├── details.ts        # get_process_details
│   │   └── aggregate.ts      # aggregate_by_entity
│   ├── resources/
│   │   └── dictionary.ts     # data-dictionary resource
│   ├── api/
│   │   ├── client.ts         # Socrata API client
│   │   ├── queries.ts        # SoQL query builder
│   │   ├── types.ts          # TypeScript interfaces
│   │   └── utils.ts          # Utilities
│   └── utils.ts
├── tests/
│   └── *.test.ts             # Unit & integration tests
├── data/
│   └── data-dictionary.json  # Static data dictionary
├── docs/
│   ├── SECOP I y II_ Investigación Exhaustiva.md
│   ├── diccionariodedatos-secop-ii-procesos-de-contrataciondocx.md
│   ├── secop-api-settings.md
│   └── secop-ii-procesos-de-contratacion-estadisticas-nacionales.md
├── SPECIFICATION.md          # MVP Specification (590 líneas)
├── PLAN.md                   # Technical Plan (966 líneas)
├── TASKS.md                  # Implementation Tasks (982 líneas)
├── .env.example
├── .gitignore
├── package.json
├── tsconfig.json
├── vitest.config.ts
└── README.md

Desarrollo

Setup inicial

# Instalar dependencias
npm install

# Compilar TypeScript
npm run build

# Modo desarrollo (watch)
npm run dev

Scripts disponibles

npm run dev              # Desarrollo con hot reload
npm run build            # Compilar TypeScript
npm run start            # Ejecutar servidor compilado
npm test                 # Ejecutar tests
npm run test:watch       # Tests en modo watch
npm run test:coverage    # Coverage report
npm run lint             # Linting
npm run type-check       # Type checking sin compilar

Stack tecnológico

  • Lenguaje: TypeScript 5.6+
  • Runtime: Node.js 20+
  • MCP SDK: @modelcontextprotocol/sdk v1.0
  • HTTP Client: axios v1.7
  • Validación: zod v3.23
  • Testing: vitest v2.1
  • Build: tsx v4.19

Testing

Ejecutar tests

# Todos los tests
npm test

# Tests en modo watch
npm run test:watch

# Coverage
npm run test:coverage

Niveles de testing

Unit Tests:

  • Validación de configuración
  • Query builder (SoQL)
  • Transformación de errores
  • Transformación de respuestas

Integration Tests:

  • API client con mocks
  • Tools end-to-end
  • Resources end-to-end

Manual Tests:

  • Integración con Claude Code
  • Casos de uso reales

Objetivo de cobertura

  • Unit tests: 80%+
  • Integration tests: 100% de tools y resources

Limitaciones

Limitaciones conocidas (MVP v1.0)

  1. Sin caché: Cada consulta golpea el API (puede ser lento)
  2. Sin paginación inteligente: Máximo 200 resultados por query
  3. Sin búsqueda por texto completo: Solo filtros exactos o LIKE simple
  4. Sin análisis de documentos: No lee PDFs de términos de referencia
  5. Solo SECOP II: No incluye SECOP I (legacy system)
  6. Sin persistencia: No guarda historial de consultas
  7. Transport único: Solo STDIO, no HTTP/SSE

Rate limiting de Socrata

  • Con App Token: ~1000 requests/hora
  • Sin App Token: ~100 requests/hora (no recomendado)
  • El servidor implementa retry automático con exponential backoff

Roadmap

v1.1 (Próxima versión)

  • [ ] Caché en memoria con TTL
  • [ ] Tool adicional: search_by_unspsc (búsqueda por categoría UNSPSC)
  • [ ] Mejoras en parseo de fechas y valores monetarios
  • [ ] Paginación automática para resultados > 200

v1.2

  • [ ] Prompt especializado para análisis de competencia
  • [ ] Tool: compare_processes (comparar múltiples procesos)
  • [ ] Resource adicional: estadísticas generales del dataset
  • [ ] Soporte para filtros UNSPSC más inteligentes

v2.0

  • [ ] Soporte para HTTP/SSE transport
  • [ ] Integración con SECOP I
  • [ ] Sistema de alertas (requiere persistencia)
  • [ ] Dashboard o UI opcional

Documentación Adicional

Documentos de especificación

  • SPECIFICATION.md - Especificación completa del MVP (590 líneas)
  • PLAN.md - Plan técnico de implementación (966 líneas)
  • TASKS.md - Tareas de implementación por fases (982 líneas)

Documentación de investigación

Referencias externas


Manejo de Errores

El servidor categoriza errores en 5 tipos:

1. VALIDATION_ERROR (400)

Parámetros inválidos o malformados

{
  "error": "VALIDATION_ERROR",
  "message": "El parámetro 'from_date' debe tener formato YYYY-MM-DD"
}

2. API_ERROR (502)

Error al consultar API de Socrata

{
  "error": "API_ERROR",
  "message": "Error al consultar API de Socrata",
  "details": { "status": 500 }
}

3. AUTH_ERROR (401)

Credenciales inválidas o expiradas

{
  "error": "AUTH_ERROR",
  "message": "Credenciales de API inválidas o expiradas"
}

4. RATE_LIMIT_ERROR (429)

Límite de requests excedido

{
  "error": "RATE_LIMIT_ERROR",
  "message": "Límite de requests excedido. Intente nuevamente en 60 segundos",
  "retry_after": 60
}

5. TIMEOUT_ERROR (504)

Query tardó más de 30 segundos

{
  "error": "TIMEOUT_ERROR",
  "message": "La consulta tardó más de 30 segundos. Intente con filtros más específicos"
}

Contribuir

Este proyecto está en fase MVP. Las contribuciones son bienvenidas una vez se complete la implementación inicial.

Proceso de desarrollo

  1. Fase actual: PLAN (Planning/Specification)
  2. Metodología: Spec-Driven Development
  3. Siguiente paso: Implementación de Phase 1 (Setup & Infrastructure)

Ver TASKS.md para el plan de implementación completo.


Documentación de Referencia y Mejores Prácticas

Esta sección recopila las mejores prácticas y documentación clave para el desarrollo de servidores MCP y el uso de IA en el ciclo de vida del desarrollo, basándose en la documentación oficial del protocolo y el blog de Anthropic.

1. Ecosistema MCP (Model Context Protocol)

Repositorios Oficiales y Servidores de Referencia:

* filesystem: Acceso seguro a archivos. * git: Lectura y manipulación de repositorios. * memory: Grafo de conocimiento persistente. * sequential-thinking: Herramienta para resolución de problemas complejos.

  • Integraciones de Referencia: Servidores pre-construidos para Google Drive, Slack, GitHub y Postgres.
  • SDKs Disponibles: TypeScript, Python, Java, Go, Kotlin, entre otros.

Mejores Prácticas de Seguridad y Performance:

  • Seguridad:

* OAuth 2.1: Estándar obligatorio para autenticación en transportes HTTP. * Sandboxing: Ejecutar servidores con privilegios mínimos (nunca root). * Human-in-the-loop: Requerir aprobación humana para acciones de alto riesgo (escritura, ejecución).

  • Performance:

* Code Execution vs Granular Tools: En lugar de muchas tools pequeñas, exponer un entorno de ejecución seguro (sandbox) permite al modelo filtrar y procesar datos en un solo paso, reduciendo latencia y tokens. * Tool Search: Permitir al modelo buscar tools bajo demanda en lugar de cargar todas las definiciones en el contexto.

2. Spec-Driven Development (SDD) - Metodología

El desarrollo guiado por especificaciones (SDD) pone a la especificación como la fuente de verdad, permitiendo que los agentes de IA generen código de alta calidad y alineado con los objetivos.

Workflow Recomendado:

  1. Specify (Especificar): Definir el "qué" y el "por qué". Crear una especificación detallada centrada en la experiencia de usuario y objetivos.
  2. Plan (Planificar): Definir el "cómo". Crear un plan técnico que respete la arquitectura y restricciones del proyecto.
  3. Tasks (Tareas): Desglosar el plan en tareas pequeñas, atómicas y verificables.
  4. Implement (Implementar): Ejecución asistida por IA, siguiendo estrictamente las tareas definidas.

Tips para el Éxito:

  • Treat Specs as Code: Las especificaciones deben estar en el repositorio, versionadas y revisadas en Pull Requests.
  • Human in the Loop: El desarrollador actúa como arquitecto y verificador. Nunca se debe aceptar código generado sin revisión crítica.
  • Start Small: No intentar generar todo el proyecto de una vez. Iterar por módulos o funcionalidades pequeñas.

Referencias Oficiales:


Licencia

Todos los derechos reservados @oddradiocircle 2025


Soporte

Para reportar bugs o solicitar features:

  • Abrir un issue en GitHub
  • Consultar la documentación en docs/
  • Revisar SPECIFICATION.md para entender el alcance del MVP

Estado del Proyecto


  Estado: PLANNING                                       
  Versión: MVP 1.0 (en desarrollo)                       
  Última actualización: 2025-12-13                       

Fases completadas:

  • Investigación (SECOP I/II)
  • Especificación (SPECIFICATION.md)
  • Planificación técnica (PLAN.md)
  • Definición de tareas (TASKS.md)
  • README y documentación

Próxima fase:

  • 🚀 Phase 1: Setup & Infrastructure (ver TASKS.md)

工具与能力

工具数量

3

资源数量

0

提示词数量

0

能力标签

公共采购TypeScript本地部署AI代理数据查询智能过滤哥伦比亚政府

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 3 个工具,职责集中,接入后不容易误操作。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 需要自备OAuth 授权,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 暂时拿不到OAuth 授权的人。
  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Secop MCP Project

MCP World · 本页

3未说明未标注1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Secop MCP Project 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Secop MCP Project 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Secop MCP Project 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Secop MCP Project 需要 API Key 吗?

公开资料标注的认证方式是OAuth 授权,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Secop MCP Project 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP