Skip to main content
Glama
dgcp-mcp-server

dgcp-mcp-server

Buscar licitaciones y procesos de compra (DGCP)

dgcp_buscar_licitaciones
Read-onlyIdempotent

Search Dominican Republic public procurement processes by keyword, institution, status, or amount to find open tenders still accepting bids.

Instructions

Busca procesos de compra publica del Estado dominicano usando los filtros del servidor de la API DGCP.

  • estado 'abierto' (default) descarga el universo COMPLETO de procesos publicados (no una muestra) y deja solo los que aun reciben ofertas.

  • 'institucion' se resuelve al codigo oficial de la unidad de compra (filtro exacto en el servidor).

  • 'termino' acepta alternativas separadas por coma en una sola llamada: 'computadora, laptop, servidor'.

  • Orden por defecto: lo mas reciente publicado primero. Usa orden='cierre_proximo' para ver lo que vence antes.

  • Las horas se muestran en hora de Republica Dominicana.

Para "la ultima licitacion" o "lo nuevo de hoy" usa dgcp_ultimas_licitaciones.

Input Schema

NameRequiredDescriptionDefault
ordenNo'recientes' (default) = lo ultimo publicado primero. 'cierre_proximo' = lo que vence antes. 'monto_mayor'.
estadoNo'abierto' (default) = publicado y con cierre futuro. 'evaluacion' = sobres abiertos. 'todos' = sin filtro.
limiteNoResultados a mostrar (default 10).
mipymeNoSolo procesos dirigidos a MIPYMES.
terminoNoPalabras a buscar en titulo/descripcion. Separa alternativas con coma: 'software, licencias, laptop' (coincide cualquiera).
modalidadNoTexto de la modalidad: 'Licitacion Publica', 'Contratacion Menor', 'Comparacion de Precios', 'Excepcion'...
monto_maxNoMonto estimado maximo (DOP).
monto_minNoMonto estimado minimo (DOP).
institucionNoNombre, acronimo o codigo de la institucion. Ej: 'MINERD', 'Impuestos Internos', '141'.
mipyme_mujerNoSolo procesos dirigidos a MIPYMES de mujeres.
codigo_procesoNoCodigo exacto del proceso, ej. 'MIP-CCC-LPN-2026-0005'.
publicado_desdeNoFecha de publicacion desde (YYYY-MM-DD, hora RD).
publicado_hastaNoFecha de publicacion hasta, inclusive (YYYY-MM-DD).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed15 schema fields changedv5.0.0
    • addedInput schema / properties / codigo_proceso
      Added value: +{
      +  "description": "Codigo exacto del proceso, ej. 'MIP-CCC-LPN-2026-0005'.",
      +  "type": "string"
      +}
    • changedInput schema / properties / estado / description
      Previous value: -"'abierto' = publicado Y con fecha de cierre futura (lo que casi siempre se quiere)"New value: +"'abierto' (default) = publicado y con cierre futuro. 'evaluacion' = sobres abiertos. 'todos' = sin filtro."
    • changedInput schema / properties / estado / enum
      Previous value: -[
      -  "abierto",
      -  "publicado",
      -  "adjudicado",
      -  "cerrado",
      -  "apertura",
      -  "todos"
      -]New value: +[
      +  "abierto",
      +  "publicado",
      +  "evaluacion",
      +  "cerrado",
      +  "adjudicado",
      +  "desierto",
      +  "cancelado",
      +  "suspendido",
      +  "todos"
      +]
    • changedInput schema / properties / institucion / description
      Previous value: -"Nombre (o parte) de la institucion. Ej: 'Impuestos Internos', 'Educacion'"New value: +"Nombre, acronimo o codigo de la institucion. Ej: 'MINERD', 'Impuestos Internos', '141'."
    • changedInput schema / properties / limite / description
      Previous value: -"Cuantos resultados devolver (default 10)"New value: +"Resultados a mostrar (default 10)."
    • changedInput schema / properties / mipyme / description
      Previous value: -"Solo procesos dirigidos a MIPYMES"New value: +"Solo procesos dirigidos a MIPYMES."
    • changedInput schema / properties / mipyme_mujer / description
      Previous value: -"Solo procesos dirigidos a MIPYMES de mujeres"New value: +"Solo procesos dirigidos a MIPYMES de mujeres."
    • changedInput schema / properties / modalidad / description
      Previous value: -"Texto de la modalidad. Ej: 'Licitacion Publica', 'Compras Menores'"New value: +"Texto de la modalidad: 'Licitacion Publica', 'Contratacion Menor', 'Comparacion de Precios', 'Excepcion'..."
    • changedInput schema / properties / monto_max / description
      Previous value: -"Monto maximo estimado en DOP"New value: +"Monto estimado maximo (DOP)."
    • changedInput schema / properties / monto_min / description
      Previous value: -"Monto minimo estimado en DOP"New value: +"Monto estimado minimo (DOP)."
    • addedInput schema / properties / orden
      Added value: +{
      +  "description": "'recientes' (default) = lo ultimo publicado primero. 'cierre_proximo' = lo que vence antes. 'monto_mayor'.",
      +  "enum": [
      +    "recientes",
      +    "cierre_proximo",
      +    "monto_mayor"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / paginas
      Removed value: -{
      -  "description": "Cuantas paginas de la API escanear (default 5, 100 procesos c/u)",
      -  "maximum": 20,
      -  "minimum": 1,
      -  "type": "integer"
      -}
    • addedInput schema / properties / publicado_desde
      Added value: +{
      +  "description": "Fecha de publicacion desde (YYYY-MM-DD, hora RD).",
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / publicado_hasta
      Added value: +{
      +  "$ref": "#/properties/publicado_desde",
      +  "description": "Fecha de publicacion hasta, inclusive (YYYY-MM-DD)."
      +}
    • changedInput schema / properties / termino / description
      Previous value: -"Texto a buscar en titulo y descripcion. Ej: 'software', 'laptop', 'servidor'"New value: +"Palabras a buscar en titulo/descripcion. Separa alternativas con coma: 'software, licencias, laptop' (coincide cualquiera)."
  2. First observedv4.1.0

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover readOnly/idempotent/non-destructive/openWorld, so the bar is lower; the description still adds real behavioral context: 'abierto' pulls the COMPLETE universe rather than a sample, institucion is server-side resolved to an official code, ordering defaults, and that times are in RD timezone. It stops short of mentioning rate limits or pagination of results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core behavior, then bulleted filters, then the sibling-routing line last. Each bullet earns its place and nothing is redundant with the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 13-parameter search tool with no output schema, the description covers defaults, filter quirks, ordering, timezone, and routing. It does not describe the shape of returned results, which leaves a modest gap even though no output schema exists to cover it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3, but the description contributes semantics beyond the schema: 'termino' accepts comma-separated alternatives matching any, institucion resolves to the purchasing unit code, and the default orden. This meaningfully enriches how parameters should be used.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: searching Dominican State public procurement processes via DGCP API filters. It also explicitly distinguishes itself from dgcp_ultimas_licitaciones, so an agent can route without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the alternative for recency queries ('para la ultima licitacion o lo nuevo de hoy usa dgcp_ultimas_licitaciones') and explains default behavior for estado and orden. It does not address other potentially confusable siblings like dgcp_buscar_contratos or dgcp_buscar_ofertas, so it falls short of full when-not coverage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.