MissLicita: licitaciones del Estado peruano
Server Details
Licitaciones abiertas, contratos menores y buenas pro del Estado peruano, con datos abiertos.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 11 tools
Cada herramienta apunta a un recurso o acción claramente definido, y las búsquedas de licitaciones y contratos menores se distinguen bien. Sin embargo, ficha_empresa ya incluye la sanción vigente, solapándose con verificar_sancion, y analizar_mi_ruc es más un enlace de redirección que una operación de datos.
La mayoría usa snake_case, pero hay mezcla de verbos en español (buscar, verificar, analizar) con verbos en inglés (fetch, search). Además, alternan frases verbales con sustantivos como ficha_empresa, referencia_montos o buenas_pro, lo que hace el patrón menos predecible.
11 herramientas es un número bien acotado para cubrir búsqueda de procesos, fichas de empresa y entidad, bases, sanciones y estadísticas. Cada herramienta parece tener un propósito dentro del dominio y no hay señales de inflación.
El conjunto cubre el núcleo del dominio: licitaciones abiertas, contratos menores, buenas pro, fichas de empresa/entidad, bases, sanciones y referencias de montos. Faltan operaciones como consulta directa por RUC sin redirección o búsqueda de empresas por nombre, pero son huecos menores y trabajables.
Available Tools
11 toolsanalizar_mi_rucAnalizar mi RUC en MissLicitaARead-onlyIdempotentInspect
Devuelve el enlace para que una empresa ponga su RUC en MissLicita y vea su historial con el Estado y las oportunidades que mejor le calzan. El análisis no ocurre en el chat: el conector no recibe el RUC.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare a safe, idempotent, closed-world read, so the bar is lower. The description still adds real behavioral value: the tool returns a link and the RUC is never transmitted to the connector, which tells the agent not to expect or parse analysis data back. It does not describe the link's form or any account prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the returned artifact front-loaded. The colon clause slightly restates the first sentence's point, but the redundancy is functional because it prevents the agent from expecting an in-chat result.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless tool returning a URL with no output schema, the description covers what it returns, why, and the key constraint that no analysis happens server-side. Only minor gaps remain, such as whether following the link requires a MissLicita account or what the link contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so the baseline is 4. The description reinforces this by explaining that no RUC is passed in, removing any temptation to invent an input argument. Nothing further is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and output ('Devuelve el enlace') plus the destination and intent (put the RUC into MissLicita to see State history and matched opportunities). The explicit note that the analysis does not occur in the chat implicitly separates it from data-returning siblings like ficha_empresa, but no sibling is named outright.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear usage context: when a company wants to place its RUC and view its history with the State and best-fit opportunities. It also guards against misuse by warning that the connector never receives the RUC, so the agent should not expect an analysis result. It stops short of naming an alternative tool or exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buenas_proVer buenas pro recientesARead-onlyIdempotentInspect
Devuelve las buenas pro más recientes de procesos del Estado peruano: quién ganó, por cuánto, cuándo y cuántos postores hubo. Filtra por palabra, región y tipo. Hasta 10 procesos.
| Name | Required | Description | Default |
|---|---|---|---|
| objeto | No | Qué se contrata: bien, servicio, obra o consultoria. | |
| region | No | Región del Perú. Ej.: «Arequipa», «La Libertad». Sin región, todo el Perú. | |
| palabra | No | Lo que se busca, en español. Ej.: «uniformes», «laptops», «limpieza». |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and a closed-world scope, so the safety profile is covered. The description adds genuinely useful traits beyond that: the exact fields returned and a hard cap of 10 processes, which is the kind of limit/behavioral disclosure that matters. It stops short of saying how truncation is handled when more than 10 matches exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with what is returned, then filters, then the result limit. No filler or redundancy; every sentence carries distinct information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly carries the return-value burden by naming the fields produced, and it covers filtering and the 10-item cap. It leaves minor gaps such as sort order beyond 'most recent' and overflow behavior, but is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with per-parameter descriptions and examples (region examples, palabra examples, an enum for objeto), so the schema does the heavy lifting. The description's 'Filtra por palabra, región y tipo' merely restates the parameters in prose without adding syntax, format, or default behavior beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('buenas pro más recientes de procesos del Estado peruano') and clarifies the jargon by enumerating what is returned: winner, amount, date, and bidder count. It is clear and concrete, but it never distinguishes itself from siblings like buscar_licitaciones or buscar_contratos_menores, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'Filtra por palabra, región y tipo' suggests the filtering use case, and 'Hasta 10 procesos' hints at a result cap, but there is no explicit when-to-use, when-not-to-use, or named alternative. No routing guidance versus the many sibling search tools is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_contratos_menoresBuscar contratos menores para cotizarARead-onlyIdempotentInspect
Busca pedidos de cotización abiertos de contratos menores (hasta 8 UIT, sin licitación) del buscador público del OECE. Filtra por palabra, región y tipo. Devuelve hasta 10, los que cierran antes primero, con entidad, plazo para cotizar y enlace al pedido oficial en el SEACE.
| Name | Required | Description | Default |
|---|---|---|---|
| objeto | No | Qué se contrata: bien, servicio, obra o consultoria. | |
| region | No | Región del Perú. Ej.: «Arequipa», «La Libertad». Sin región, todo el Perú. | |
| palabra | No | Lo que se busca, en español. Ej.: «uniformes», «laptops», «limpieza». |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower, and the description adds real behavioral context: a cap of 10 results, ordering by earliest closing date, and the fields returned (entidad, plazo, enlace). It does not discuss rate limits or empty-result behavior, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences, front-loaded with purpose and scoping before filters and returns, with no filler. Every clause (UIT limit, ordering, returned fields) carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only search with no output schema, the description compensates by naming the returned fields, the result cap, and the ordering, so an agent knows what comes back. Coverage is strong, though permissions or pagination behavior is not addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented, and the baseline is 3. The description only restates the filter axes ('palabra, región y tipo'), adding no syntax or format detail, and 'tipo' is a loose synonym for the schema's 'objeto' field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Busca pedidos de cotización abiertos de contratos menores') with a hard scoping rule (hasta 8 UIT, sin licitación) that separates it from a general bidding search like buscar_licitaciones. It does not name the sibling tool explicitly, but the domain boundary is clear enough for an agent to tell them apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (finding minor-contract quote requests to bid on) and lists the available filters, but never states when to prefer this tool over buscar_licitaciones or when it is inappropriate. Usage is inferred rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
buscar_licitacionesBuscar licitaciones abiertas del Estado peruanoARead-onlyIdempotentInspect
Busca procesos de selección abiertos del Estado peruano (licitaciones, concursos y comparaciones de precios) en los datos abiertos del OECE. Filtra por palabra, región y tipo de contratación. Devuelve hasta 10, los que cierran antes primero, con entidad, valor estimado, fecha de presentación de ofertas y enlace.
| Name | Required | Description | Default |
|---|---|---|---|
| objeto | No | Qué se contrata: bien, servicio, obra o consultoria. | |
| region | No | Región del Perú. Ej.: «Arequipa», «La Libertad». Sin región, todo el Perú. | |
| palabra | No | Lo que se busca, en español. Ej.: «uniformes», «laptops», «limpieza». |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, not destructive), so the description earns credit by adding the result cap (hasta 10), the sort order (los que cierran antes primero) and the returned fields (entidad, valor estimado, fecha de presentación, enlace). It does not say how to retrieve more than 10 results, but the behavioral disclosure is well above the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: purpose, filters, then return shape. It is front-loaded and every sentence carries distinct information with no repetition of the title or schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by naming the result fields and the 10-item cap and ordering; annotations carry the safety profile and the schema carries parameter meaning. The only gap is what an agent should do to obtain results beyond the 10-item cap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The description's phrase 'Filtra por palabra, región y tipo de contratación' maps naturally to palabra, region and objeto but adds no syntax or format detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Busca) and resource (procesos de selección abiertos del Estado peruano), enumerating the covered modalities (licitaciones, concursos, comparaciones de precios) and the data source (datos abiertos del OECE). The 'abiertos' scope implicitly separates it from the closed/minor-contract sibling buscar_contratos_menores.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It lists the available filters (palabra, región, tipo) but never states when to prefer this tool over siblings such as buscar_contratos_menores or ficha_de_bases, nor any prerequisites. Usage is implied by the search framing rather than guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchLeer una página de MissLicitaARead-onlyIdempotentInspect
Devuelve en texto una página pública completa de MissLicita, con su título y URL. Acepta el id que da search, la ruta (/guias/...) o la URL de misslicita.com de una guía, un documento, un proceso o una entidad.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Id de search, ruta o URL de misslicita.com. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds value by specifying the return shape (full page as text plus title and URL), which matters since no output schema exists, but says nothing about rate limits, auth, or page-size limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the return behavior front-loaded and the accepted input forms following. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, the description covers what is returned and what inputs are accepted, which is close to complete. It stops short of clarifying behavior for pages outside the listed entity types or any content truncation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter's schema text ("Id de search, ruta o URL de misslicita.com") is essentially duplicated in the description. The description does enrich it slightly by enumerating target types (guía, documento, proceso, entidad), but that is marginal over the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Devuelve en texto") and resource ("una página pública completa de MissLicita") plus scope ("con su título y URL"), so the agent knows it retrieves raw page content. It references the sibling `search` as the id source, but never distinguishes itself from structured siblings like `ficha_empresa` or `ficha_entidad`, which likely cover overlapping targets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Acepta el id que da search" implies a workflow (search first, then fetch), which is useful implied guidance. However, there is no explicit statement of when to prefer this over the ficha_* siblings that also return entity/company information, so the choice is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ficha_de_basesResumen de las bases de un procesoARead-onlyIdempotentInspect
Devuelve el resumen ya leído de las bases de un proceso: requisitos para participar, documentos que presentar, cómo se ganan los puntos, garantías y pagos, y alertas, cada dato con su página. Solo para procesos cuyas bases ya leyó MissLicita.
| Name | Required | Description | Default |
|---|---|---|---|
| proceso | Yes | URL del proceso en misslicita.com, su nomenclatura o su ocid. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely new behavior: it returns a pre-read (cached) summary and each datum carries its source page, which is useful provenance information not present in the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the return contents and closing with the scoping precondition; no filler. Slightly dense enumeration but each element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by describing the return payload (requisitos, documentos, scoring, garantías, pagos, alertas, with page provenance) sufficiently for an agent to know what it gets back. For a single-parameter read tool this is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter 'proceso' is fully documented in the schema as accepting a URL, nomenclature, or ocid. The description adds no further meaning about the parameter, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Devuelve el resumen ya leído de las bases de un proceso') and enumerates exactly what the summary contains (requisitos, documentos, puntos, garantías y pagos, alertas). This is clearly distinguishable from siblings like ficha_empresa or ficha_entidad, which cover different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly bounds usage with 'Solo para procesos cuyas bases ya leyó MissLicita', which tells the agent when this tool is valid. It does not, however, name an alternative tool for processes whose bases have not yet been read, leaving that routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ficha_empresaHistorial de una empresa con el EstadoARead-onlyIdempotentInspect
Devuelve el historial público con el Estado peruano de una empresa con RUC 20: licitaciones ganadas, montos por fuente, entidades que más le compran, últimas buenas pro, contratos menores y si tiene una sanción vigente. No muestra personas naturales con negocio (RUC 10).
| Name | Required | Description | Default |
|---|---|---|---|
| ruc | Yes | RUC de 11 dígitos que empieza en 20. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, so no contradiction. The description adds valuable context: it returns a bundled multi-part history, includes current sanction status, and excludes RUC 10 entities. However, it doesn't disclose auth needs, rate limits, or whether the response is paginated, which would fully earn a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first lists all returned data items, the second clarifies the exclusion. It is front-loaded and efficient, though the enumerated list could be slightly more scannable. Zero wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple, read-only, single-parameter tool with no output schema, the description is complete: it tells the agent exactly what data comes back, outlines scope, and notes the key limitation (RUC 10 exclusion). Nothing critical for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description already documents the single parameter (RUC de 11 dígitos que empieza en 20) with 100% coverage. The description reinforces the 'RUC 20' constraint but adds no additional syntax or format details beyond what is already in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Devuelve') and resource ('historial público con el Estado peruano de una empresa con RUC 20'), then enumerates exactly what data is returned. The exclusion of RUC 10 (personas naturales) differentiates it from sibling tools. An agent can tell at a glance which tools this replaces or complements.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies usage for querying public procurement history of a company with RUC starting with 20, and explicitly rules out RUC 10. It does not name which sibling tools (e.g., verificar_sancion, buenas_pro) to use for specific subtasks, so it's not a 5, but the scope is clear enough to avoid misinvocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ficha_entidadFicha de una entidad del EstadoARead-onlyIdempotentInspect
Devuelve la ficha de una entidad del Estado peruano (ministerio, municipalidad, gobierno regional, hospital...): cuántas licitaciones tiene abiertas, las próximas a cerrar, quién le ganó hace poco y a cuánto suele adjudicar frente al valor referencial.
| Name | Required | Description | Default |
|---|---|---|---|
| nombre | Yes | Nombre de la entidad. Ej.: «municipalidad de arequipa». |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds real behavioral value by spelling out the aggregated fields returned (open tender counts, near-closing tenders, recent awardees, award ratio vs. reference value), telling the agent what it gets back beyond a raw record. It omits auth/rate-limit or empty-result behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence: verb and resource first, then the returned content in a compact parenthetical list. No filler sentences; every clause describes what the tool yields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining returns and does so concretely, and annotations cover the safety profile. It is slightly short on edge cases (unknown entity name, naming variants) but is otherwise complete for a 1-param read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter at 100% schema coverage, so the schema already documents the name and gives an example. The description only reinforces that the name must be a Peruvian State entity, adding marginal semantic value over the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Devuelve") and resource ("la ficha de una entidad del Estado peruano"), then enumerates the exact content (open tenders, upcoming closings, recent winners, award-to-reference ratio). The "entidad del Estado" scope implicitly separates it from ficha_empresa and the raw listing tools like buscar_licitaciones.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: an agent can infer this is the aggregate profile lookup for a public entity, but the description never says when to prefer it over ficha_empresa, ficha_de_bases, or buscar_licitaciones, nor any prerequisite. Adequate but no explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
referencia_montosReferencia de montos adjudicadosARead-onlyIdempotentInspect
Devuelve cuánto se adjudicó frente al valor referencial en procesos del Estado peruano que ya cerraron en los últimos dos años (mediana y rango típico), por región, tipo y rubro. Es estadística descriptiva, no una recomendación de precio.
| Name | Required | Description | Default |
|---|---|---|---|
| rubro | No | Rubro. Ej.: «construcción», «alimentos», «equipo médico». | |
| objeto | No | Qué se contrata: bien, servicio, obra o consultoria. | |
| region | No | Región del Perú. Ej.: «Arequipa», «La Libertad». Sin región, todo el Perú. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds genuinely useful behavioral context beyond that: the data is restricted to processes that already closed and to the last two years, and the output is a median and typical range. It does not discuss auth, latency, or sampling size, keeping it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what is returned and its scope, then the crucial framing caveat. No filler; every clause earns its place by constraining the data or clarifying the nature of the result.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining what comes back, and it does — median and typical range by facet — while annotations cover the safety profile. It is essentially complete for invocation, though it omits how missing filters are combined or sample-size caveats.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents rubro, objeto and region. The description restates the same filter axes (región, tipo, rubro) without adding format, default, or interaction details beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('devuelve cuánto se adjudicó frente al valor referencial'), plus the exact scope: closed Peruvian State processes in the last two years, broken down by región, tipo y rubro. An agent can tell this is a statistics lookup, not a search or listing tool like the buscar_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing sentence 'Es estadística descriptiva, no una recomendación de precio' sets expectations about the nature of the output, which implicitly tells the agent when this is appropriate (reference context, not a pricing decision). However, it never names an alternative sibling or states explicit when-to-use/when-not conditions, so usage remains largely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchBuscar en MissLicitaARead-onlyIdempotentInspect
Busca en las páginas públicas de MissLicita: guías para venderle al Estado peruano, documentos para licitar, el glosario de la Ley 32069 y las páginas generales. Devuelve hasta 10 resultados con id, título y URL. Para leer uno completo, usa su id con fetch.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Lo que se busca, en español. Ej.: «carta fianza». |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld=false, so safety is covered. The description adds real behavioral context beyond them: the result cap (hasta 10 resultados), the result shape (id, título, URL), and the id→fetch handoff for full content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, zero waste: scope first, then return shape and cap, then the follow-up action. Everything is front-loaded and each sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so adequately (max 10 results, id/title/URL fields). For a single-parameter, read-only search tool whose annotations cover the safety profile, nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter and schema description coverage is 100%, so the schema already documents 'query' including the Spanish-language example. The description adds no format, syntax or constraint detail beyond what the schema provides, making the baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (busca) plus the exact resource scope: the public pages of MissLicita (guides, bidding documents, Ley 32069 glossary, general pages). This scope distinguishes it from dataset-specific siblings like buscar_licitaciones or buscar_contratos_menores without needing to open either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit follow-up routing: 'Para leer uno completo, usa su id con fetch' – a clear when-to-use-this-then-that instruction. It does not, however, state when to prefer this site search over the domain-specific search siblings, so the boundary is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verificar_sancionVerificar si una empresa está sancionadaARead-onlyIdempotentInspect
Dice si una empresa con RUC 20 tiene una sanción vigente del Tribunal de Contrataciones del Estado (inhabilitación temporal, definitiva o judicial, o multa), según los datos abiertos de CONOSCE.
| Name | Required | Description | Default |
|---|---|---|---|
| ruc | Yes | RUC de 11 dígitos que empieza en 20. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare this as read-only, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description usefully adds the data source (CONOSCE open data) and specifies that it checks for a currently active sanction, including temporal, definitive, judicial disqualification, or fine, which gives meaningful context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that names the output (whether a sanction exists), the qualifying entity, the sanction types, and the data source. There is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only lookup with no output schema, the description is largely sufficient: it states what is checked, for whom, against which source, and what sanction categories count. It does not specify the exact return shape (boolean versus detailed sanction record), which is a minor gap but not enough to block correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; the schema already documents the single ruc parameter as an 11-digit RUC starting with 20. The description repeats that constraint ("empresa con RUC 20") but adds no extra syntax, format, or edge-case semantics, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it tells whether a company with RUC 20 has an active sanction from the Tribunal de Contrataciones del Estado, including the sanction types. It is clear and narrow, but it does not distinguish this lookup from siblings such as ficha_empresa, which could plausibly surface related company status information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: query this when you want to know if a Peruvian company with a RUC starting with 20 is currently sanctioned, using CONOSCE open data. However, the description names no alternatives and gives no explicit when-not guidance, such as whether to use ficha_empresa first or what to do for RUCs not starting with 20.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
11 tool updates
- First observed
analizar_mi_ruc - First observed
buenas_pro - First observed
buscar_contratos_menores - First observed
buscar_licitaciones - First observed
fetch - First observed
ficha_de_bases - First observed
ficha_empresa - First observed
ficha_entidad - First observed
referencia_montos - First observed
search - First observed
verificar_sancion
Related MCP Connectors
Licitaciones, precios históricos, competidores y compradores de Mercado Público (Chile). Sin clave.
Subvenciones, licitaciones y contratos adjudicados de España, de fuentes oficiales. Solo lectura.
Ecuador Government Procurement MCP — SERCOP / Compras Públicas (keyless).
Subvenciones, licitaciones y boletines oficiales de España y Europa para tu IA. Gratis, sin login.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables local, credential-free searching and reading of Peru's public procurement system—including selection processes, contracts, documents, and annual procurement plans—through MCP tools, returning clean data and direct download URLs without storing files.251Apache 2.0
- FlicenseNot gradedqualityDmaintenanceAuditoría del gasto público peruano mediante sistemas multi-agente, Claude Code Skills y un servidor MCP local. Procesa datos fiscales del MEF 2025 desde datosabiertos.gob.pe y digitaliza vía OCR un archivo histórico de 1964, exponiendo los resultados en un dashboard Streamlit de 4 pestañas.-
- AlicenseNot gradedqualityBmaintenanceEnables access to Paraguay's government procurement and public contracts data, keyless.13 npmMIT
- AlicenseNot gradedqualityBmaintenanceOpen & historical US government bid solicitations from city/county portals — updated daily.23 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.