Skip to main content
Glama
MCP Mercado Público

MCP Mercado Público

by NicolasAEV

🇨🇱 MCP Mercado Público

Servidor Model Context Protocol (MCP) para la API pública de Mercado Público / ChileCompra. Permite que asistentes de IA consulten licitaciones, órdenes de compra y empresas del Estado chileno en tiempo real.


🔑 Paso 1: Obtener tu ticket gratuito

Antes de usar el servidor necesitas tu propio ticket (API key):

  1. Ir a api.mercadopublico.cl

  2. Iniciar sesión con Clave Única

  3. Completar el formulario → el ticket llega a tu correo

El servidor no almacena credenciales. El ticket se pasa como parámetro en cada consulta.


Related MCP server: chile-procurement

⚙️ Paso 2: Configurar en tu IDE

No necesitas clonar ni compilar nada. Usa npx directamente.

Tienes dos formas de pasar tu ticket:

Método

Cuándo usarlo

Variable de entorno MERCADO_PUBLICO_TICKET

Configuras el ticket una sola vez en el IDE — el asistente nunca te lo pedirá

Parámetro ticket en cada tool call

Si no configuraste la env var, pásalo directamente en cada consulta

Se recomienda usar la variable de entorno para una experiencia fluida.

Claude Desktop

Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "mercado-publico": {
      "command": "npx",
      "args": ["-y", "mcp-mercado-publico"],
      "env": {
        "MERCADO_PUBLICO_TICKET": "TU-TICKET-AQUI"
      }
    }
  }
}

Reinicia Claude Desktop después de guardar.


Cursor

Global ~/.cursor/mcp.json · Por proyecto .cursor/mcp.json

{
  "mcpServers": {
    "mercado-publico": {
      "command": "npx",
      "args": ["-y", "mcp-mercado-publico"],
      "env": {
        "MERCADO_PUBLICO_TICKET": "TU-TICKET-AQUI"
      }
    }
  }
}

Verifica en Settings → MCP que el servidor aparezca con punto verde.


VS Code (GitHub Copilot)

Requiere VS Code 1.99+ y Copilot en Agent mode.

Por proyecto .vscode/mcp.json:

{
  "servers": {
    "mercado-publico": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "mcp-mercado-publico"],
      "env": {
        "MERCADO_PUBLICO_TICKET": "TU-TICKET-AQUI"
      }
    }
  }
}

Global en settings.json:

{
  "mcp": {
    "servers": {
      "mercado-publico": {
        "type": "stdio",
        "command": "npx",
        "args": ["-y", "mcp-mercado-publico"],
        "env": {
          "MERCADO_PUBLICO_TICKET": "TU-TICKET-AQUI"
        }
      }
    }
  }
}

Antigravity (Google DeepMind)

C:\Users\<usuario>\.gemini\antigravity\claude_desktop_config.json

{
  "mcpServers": {
    "mercado-publico": {
      "command": "npx",
      "args": ["-y", "mcp-mercado-publico"],
      "env": {
        "MERCADO_PUBLICO_TICKET": "TU-TICKET-AQUI"
      }
    }
  }
}

Windsurf (Codeium)

C:\Users\<usuario>\.codeium\windsurf\mcp_config.json

{
  "mcpServers": {
    "mercado-publico": {
      "command": "npx",
      "args": ["-y", "mcp-mercado-publico"],
      "env": {
        "MERCADO_PUBLICO_TICKET": "TU-TICKET-AQUI"
      }
    }
  }
}

Desarrollo local (sin publicar en npm)

Si estás modificando el código fuente, compila primero y apunta al binario local:

npm install && npm run build
{
  "mcpServers": {
    "mercado-publico": {
      "command": "node",
      "args": ["D:\\PROGRAMACION\\NEST-JS\\mcp-mercado-publico\\dist\\main.js"]
    }
  }
}

🛠️ Herramientas disponibles

Tool

Descripción

buscar_licitaciones

Lista licitaciones por fecha, estado, proveedor u organismo (nombre o código)

buscar_licitaciones_rango

Busca licitaciones en un rango de fechas (máximo 30 días)

obtener_licitacion

Detalle completo de una licitación por su código

buscar_ordenes_de_compra

Lista órdenes de compra por fecha, estado, proveedor u organismo (nombre o código)

obtener_orden_de_compra

Detalle completo de una OC por su código

buscar_proveedor

Busca un proveedor por su RUT

listar_compradores

Lista todos los organismos públicos disponibles

buscar_organismo

Busca un organismo público por nombre — retorna su CodigoOrganismo

estructura

Retorna la estructura de respuesta JSON de la API nativa para cualquier entidad

consultas

Retorna los parámetros funcionales y diccionarios de anexos para consultar la API

ejemplos_url

Muestra ejemplos reales de URIs HTTP de la API y los distintos formatos soportados

ayuda

Muestra la guía completa de uso del MCP, referencias de códigos y límites operativos


💬 Ejemplos de uso

Una vez configurado, puedes preguntarle al asistente cosas como:

¿Cuáles son las licitaciones activas de hoy?
Mi ticket es F8537A18-6766-4DEF-9E59-426B4FEE2844
Busca la licitación con código 1509-5-L114 usando mi ticket ABC123-...
¿Qué órdenes de compra aceptadas existen para el 01042026?
Busca las licitaciones de la Municipalidad de Alto del Carmen
Busca el proveedor con RUT 70.017.820-k

📋 Referencia de estados

Licitaciones — parámetro estado

Valor para ?estado=

Código en respuesta

activas

Todas las publicadas hoy

publicada

5

cerrada

6

desierta

7

adjudicada

8

revocada

18

suspendida

19

todos

Todos los estados

Órdenes de Compra — parámetro estado

Valor para ?estado=

Código en respuesta

enviadaproveedor

4

(sin query param)

5 (En proceso, solo en respuesta)

aceptada

6

cancelada

9

recepcionconforme

12

pendienterecepcion

13

recepcionaceptadacialmente

14

recepecionconformeincompleta

15

todos

Todos los estados

Formato de fecha

La API usa ddmmaaaa. Ejemplos: 07042026 → 7 de abril de 2026.


📦 Publicar en npm

npm login
npm publish   # ejecuta npm run build automáticamente (prepublishOnly)

🏗️ Estructura del proyecto

src/
├── main.ts                                           # Bootstrap (modo stdio)
├── app.module.ts
├── common/
│   └── constants/
│       └── api.constants.ts                          # BASE_URL, endpoints, códigos de estado
├── mercado-publico/
│   ├── interfaces/mercado-publico.interfaces.ts      # Tipos de parámetros
│   ├── helpers/query-builder.helper.ts               # Construcción de query params
│   ├── mercado-publico.service.ts                    # Cliente HTTP
│   └── mercado-publico.module.ts
└── mcp/
    ├── constants/tool-schemas.constants.ts           # Campos Zod reutilizables
    ├── tools/
    │   ├── licitaciones.tools.ts
    │   ├── ordenes-compra.tools.ts
    │   ├── empresas.tools.ts
    │   ├── estructura.tools.ts
    │   └── ayuda.tools.ts
    ├── mcp-server.ts
    ├── mcp.service.ts
    └── mcp.module.ts

⚠️ Limitación importante: archivos de licitaciones

Este MCP no tiene acceso a los archivos adjuntos de las licitaciones ni de las órdenes de compra (bases de licitación, anexos, especificaciones técnicas, resoluciones, etc.).

La API de Mercado Público no retorna links de descarga ni el contenido de los documentos. Solo expone los datos estructurados (metadatos) de cada proceso: montos, fechas, estados, ítems, organismos, etc.

Para acceder a los documentos debes ingresar directamente al portal: mercadopublico.cl


📝 Políticas y condiciones de uso de la API

Las limitaciones descritas a continuación no son impuestas por este servidor MCP, sino por la API oficial de Mercado Público (ChileCompra). Este servidor las respeta y documenta para que los usuarios las conozcan antes de usar el servicio.

Uso del ticket

  • El ticket se solicita mediante formulario oficial seleccionando la opción "Solicitud de Ticket".

  • Debe completarse con datos reales: nombre, apellido, RUT y correo electrónico.

  • Se entrega un único ticket por persona. Datos inconsistentes pueden derivar en limitación o suspensión del acceso.

  • ChileCompra usa los datos personales únicamente para operación, control y administración del servicio — no los comparte con terceros, salvo mandato judicial.

Límites de uso

  • 10.000 solicitudes diarias por ticket — no modificable.

  • El uso excesivo o abusivo puede derivar en suspensión temporal o bloqueo permanente.

  • La API incluye validaciones por dirección IP: múltiples solicitudes desde la misma IP pueden generar restricciones.

  • Para procesos de alta demanda o descarga masiva, usar horario nocturno (22:00–07:00 hrs, Chile).

Soporte

  • Soporte únicamente a través del formulario de sugerencias del sitio web de ChileCompra.

  • Plazo de respuesta: máximo 3 días hábiles.

  • No se atienden solicitudes informales ni por correo institucional directo.

Responsabilidad

  • La API es un servicio adicional y voluntario — ChileCompra puede modificarla, suspenderla o darla de baja sin previo aviso.

  • ChileCompra no se hace responsable de la información publicada por terceros mediante aplicaciones que usen la API.

  • Al publicar datos obtenidos desde la API sin modificarlos, debe indicarse que la fuente es la Dirección ChileCompra.

Documentación oficial: chilecompra.cl/api


🤝 Fuente de datos

Datos de Mercado Público, Dirección ChileCompra, Ministerio de Hacienda, Gobierno de Chile.

Available Tools

12 tools
ayudaAyuda — Guía completa del MCPA

Muestra la guía completa de uso del MCP Mercado Público: todas las herramientas disponibles, sus parámetros, ejemplos de uso, referencia de estados y límites de la API.

Inputs: no named parameters.

buscar_licitacionesBuscar LicitacionesA

Busca licitaciones en Mercado Público (ChileCompra). Sin parámetros opcionales retorna las licitaciones del día actual. Puedes filtrar por fecha, estado, proveedor u organismo. Para buscar por organismo usa nombreOrganismo (nombre o parte) o codigoOrganismo (código numérico). Sin fecha y con organismo/proveedor, busca automáticamente los últimos 30 días. Estados válidos: activas (publicadas hoy), publicada, cerrada, desierta, adjudicada, revocada, suspendida, todos. Códigos en la respuesta: Publicada=5, Cerrada=6, Desierta=7, Adjudicada=8, Revocada=18, Suspendida=19.

Inputs: ticket, fecha, estado, codigoProveedor, +2 more.

buscar_licitaciones_rangoBuscar Licitaciones por Rango de FechasA

Busca licitaciones en un rango de fechas (máximo 30 días). Realiza una consulta por cada día del rango y consolida los resultados en un solo listado. Útil para análisis históricos o reportes de períodos específicos. IMPORTANTE: cada día consume una solicitud del cupo diario (10.000 requests/ticket). Para rangos grandes se recomienda horario nocturno (22:00–07:00 hrs Chile).

Inputs: fechaInicio (required), fechaFin (required), ticket, estado, +2 more.

buscar_ordenes_de_compraBuscar Órdenes de CompraA

Busca órdenes de compra en Mercado Público (ChileCompra). Sin parámetros opcionales retorna todas las OC del día actual. Puedes filtrar por fecha, estado, proveedor u organismo. Para buscar por organismo usa nombreOrganismo (nombre o parte) o codigoOrganismo (código numérico). Sin fecha y con organismo/proveedor, busca automáticamente los últimos 30 días. Valores válidos para el parámetro estado: enviadaproveedor, aceptada, cancelada, recepcionconforme, pendienterecepcion, recepcionaceptadacialmente, recepecionconformeincompleta, todos. NOTA: el estado "en proceso" (código 5) solo aparece en la respuesta, no es filtrable como query param. Códigos en respuesta: EnviadaProveedor=4, EnProceso=5, Aceptada=6, Cancelada=9, RecepcionConforme=12, PendienteRecepcion=13, RecepcionadaParcialmente=14, RecepcionConformeIncompleta=15.

Inputs: ticket, fecha, estado, codigoProveedor, +2 more.

buscar_organismoBuscar Organismo Público por NombreA

Busca organismos públicos (municipios, ministerios, servicios, etc.) por nombre o parte del nombre. Útil para encontrar el CodigoOrganismo de una institución o municipio específico, como "Alto del Carmen", "Municipalidad de Santiago" o "Ministerio de Salud". El CodigoOrganismo retornado puede usarse directamente en buscar_licitaciones y buscar_ordenes_de_compra.

Inputs: nombre (required), ticket.

buscar_proveedorBuscar Proveedor por RUTA

Busca un proveedor en el registro de Mercado Público por su RUT. Retorna el código numérico interno, nombre y datos de registro del proveedor. El código retornado (CodigoProveedor) puede usarse en buscar_licitaciones y buscar_ordenes_de_compra.

Inputs: rut (required), ticket.

consultasConsultas y Parámetros (API Mercado Público)B

Devuelve CÓMO realizar las consultas: qué parámetros lógicos se aceptan y los anexos/diccionarios (ej: qué número es "Licitación Pública").

Inputs: entidad (required).

ejemplos_urlEjemplos de URLs (API Mercado Público)B

Muestra ejemplos reales de URLs y rutas soportadas (JSON, XML) con sus combinaciones, para saber cómo se arma exactamente una ruta HTTP hacia la API.

Inputs: entidad (required).

estructuraEstructura de Respuesta JSON (API Mercado Público)A

Devuelve única y exclusivamente la anatomía del JSON de respuesta que entrega la API (qué campos retornan, sus tipos, y estructura de anidación).

Inputs: entidad (required).

listar_compradoresListar Organismos CompradoresA

Retorna la lista completa de organismos públicos (compradores) registrados en Mercado Público. Incluye nombre y código numérico de cada organismo. El código (CodigoOrganismo) puede usarse en buscar_licitaciones y buscar_ordenes_de_compra. Para buscar por nombre de municipio o institución usa la herramienta buscar_organismo.

Inputs: ticket.

obtener_licitacionObtener Licitación por CódigoA

Obtiene el detalle completo de una licitación específica por su código único. Formato del código: XXXX-X-XXXXX (ej: 1509-5-L114). Retorna info detallada: ítems, fechas, montos, organismo comprador, adjudicación y estado.

Inputs: codigo (required), ticket.

obtener_orden_de_compraObtener Orden de Compra por CódigoA

Obtiene el detalle completo de una orden de compra por su código único. Formato del código: XXXX-XXX-XXXXX (ej: 2097-241-SE14). Retorna ítems, montos, proveedor, organismo comprador y estado.

Inputs: codigo (required), ticket.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 12 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose: help, searching licitaciones (daily and range), purchase orders, organizations, suppliers, plus detail retrieval and auxiliary documentation tools. No two tools overlap in functionality, and descriptions are precise.

    Naming Consistency4/5

    Tool names use consistent Spanish snake_case style. Most follow a verb_noun pattern (buscar_*, listar_*, obtener_*), though a few are noun-only (ayuda, consultas, estructura, ejemplos_url). This minor deviation is still predictable and readable.

    Tool Count5/5

    12 tools is well-scoped for a public procurement data server. It covers essential operations: search, detail retrieval, and lookups, along with helpful documentation tools, without being overwhelming or too sparse.

    Completeness5/5

    The tool set covers the full lifecycle of procurement data querying: searching licitaciones and orders by various filters, retrieving details, looking up organizations and suppliers, listing buyers, and providing API reference tools. No obvious gaps for the intended domain.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      Enables AI agents to query, filter, and audit Chilean government procurement processes by integrating with the Compra Ágil v2 and Purchase Orders APIs. Provides tools for searching tender opportunities, tracking high-value bids with zero bidders, and enriching purchase order details.
      24
      43 npm
      2
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables access to Chile's government procurement data (Mercado Público / ChileCompra) via MCP, allowing AI agents to query public procurement information.
      95 npm
      MIT
    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to query Ecuador government procurement (SERCOP/Compras Públicas) data without API keys, via natural language or direct tools.
      122 npm
      MIT

    Appeared in Searches