Skip to main content
Glama
pipaacebedo

seace-mcp

by pipaacebedo

buscar_procesos

Search and filter Peru's SEACE public procurement selection processes by year, entity, description, type, and region, returning paginated results for tenders, awards, and price comparisons.

Instructions

Busca PROCESOS DE SELECCION en el Buscador Publico del SEACE (licitaciones, adjudicaciones abreviadas, comparaciones de precios, etc). POLITICA DE SESION: para continuar una busqueda en la pagina siguiente, re-llama con el MISMO 'ses' y la 'pagina' pedida sin repetir los filtros (o repitiendolos identicos); si envias filtros distintos inicia una busqueda nueva.

Args: anio: anio de la convocatoria (OBLIGATORIO en la primera llamada; ej '2026'); sin otros filtros devuelve los procesos mas recientes de ese anio. descripcion: texto libre del objeto de contratacion (ej 'material electrico'); el buscador filtra server-side. entidad: nombre o parte del nombre de la entidad convocante. tipo: tipo de seleccion exacto (ej 'Licitacion Publica'); valores en listar_filtros. objeto: Bien / Consultoria de Obra / Obra / Servicio. modalidad: modalidad de seleccion (ej 'Acuerdo Marco'). departamento: departamento de la entidad (ej 'LIMA'). version: 'Seace 3' (se envia '3' al filtro). nro_seleccion: numero de seleccion (sin nomenclatura). numero_convocatoria: numero de convocatoria (ej '1'). snip: codigo SNIP. cui: codigo unico de inversion (CUI). sigla: sigla de la entidad. pagina: numero de pagina (15 filas por pagina; 'index' es GLOBAL y continuo entre paginas; SIN 'ses' sirve la pagina N de una busqueda NUEVA). paginas: paginas consecutivas a traer en una llamada (1..8). ses: sesion de una busqueda previa para pedir 'siguiente_pagina' o re-buscar; con filtros distintos la busqueda se re-ejecuta conservando el mismo 'ses' (no se emite id nuevo).

Devuelve: {'ok', 'ses', 'tab', 'tamano_pagina', 'total', 'paginas', 'pagina', 'siguiente_pagina', 'filas': [{index (global 0-based), nro, entidad, fecha_publicacion, nomenclatura, objeto, descripcion, monto ('Reservado' o '---': ambos indican monto no publicado), moneda, version, campos (fila cruda sin JS)}]}. Los 'index' se usan con ficha_proceso.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cuiNo
sesNo
anioNo
snipNo
tipoNo
siglaNo
objetoNo
paginaNo
entidadNo
paginasNo
versionNo
modalidadNo
descripcionNo
departamentoNo
nro_seleccionNo
numero_convocatoriaNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does most of it well: 15 rows per page, 'index' is global and continuous across pages, 'Reservado'/'---' both mean the amount is unpublished, 'descripcion' filtering happens server-side, and 'paginas' is capped at 1..8. It does not mention authentication, rate limits, or how long a 'ses' stays valid, so the behavioral profile is strong but not exhaustive.

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

Conciseness4/5

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

The purpose and session policy are front-loaded, and the per-argument list is dense rather than padded — with 16 undocumented parameters, enumerating them is justified. There is minor redundancy between the standalone 'POLITICA DE SESION' paragraph and the 'ses'/'pagina' argument lines, which restate the same continuation rule.

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

Completeness5/5

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

There is no output schema, but the 'Devuelve' block lists the returned keys ('ok', 'ses', 'total', 'siguiente_pagina', 'filas', etc.) and explains that 'index' is what ficha_proceso consumes. Combined with the parameter documentation and pagination rules, an agent has everything needed to call and page through this tool correctly.

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

Parameters5/5

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

Schema description coverage is 0% across 16 parameters, and the description compensates for nearly all of them: 'anio' is flagged as mandatory on the first call, 'tipo' defers to listar_filtros, 'objeto' enumerates its four allowed values, 'version' explains the 'Seace 3' -> '3' mapping, 'nro_seleccion' notes it is sent without nomenclature, and 'pagina'/'paginas'/'ses' explain pagination mechanics. This adds substantial meaning the bare schema cannot convey.

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 and resource ('Busca PROCESOS DE SELECCION en el Buscador Publico del SEACE') and immediately enumerates the covered selection types (licitaciones, adjudicaciones abreviadas, comparaciones de precios), so the domain is unmistakable. It also names the sibling that supplies filter values (listar_filtros) and the one that consumes the returned index (ficha_proceso), separating itself from the other buscar_* tools.

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?

Gives an explicit session policy: reuse the same 'ses' with the requested 'pagina' to continue, or send identical filters, while different filters start a new search — this is real when-to-do-what guidance. It also points to listar_filtros for valid 'tipo' values. It stops short of saying when to prefer this tool over sibling searches such as buscar_contratos or buscar_pac.

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