Skip to main content
Glama
convocatorias-mcp

convocatorias-mcp

by Adrada03

Por qué encaja

explain_match
Read-onlyIdempotent

Explains why a BOE notice matches or misses your watchlists via a thematic-affinity score breakdown by title, section, department, and scope. Shows affinity, not eligibility.

Instructions

Explica por qué una convocatoria encaja (o no) con las watchlists.

Úsalo cuando el usuario pregunte "¿por qué me sale esto?" o "¿por qué no me sale lo que busco?". Devuelve el desglose del score por dimensiones: palabras clave en el título, sección, departamento y ámbito.

Ojo con lo que significa: el score mide afinidad temática, no elegibilidad. Que puntúe alto no dice nada sobre si el usuario cumple los requisitos; eso está en el texto y se lee con get_convocatoria.

Args: id: El campo "id" de un resultado de search_convocatorias. watchlist: Para explicar solo una. Sin esto se explican todas.

Input Schema

NameRequiredDescriptionDefault
idYes
watchlistNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/closed-world, so the safety profile is covered. The description adds genuinely new behavioral context: the return shape (score breakdown by title keywords, section, department, ámbito) and the crucial caveat that the score measures thematic affinity, not eligibility. It doesn't cover error behavior for an invalid id, 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.

Conciseness4/5

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

Front-loaded with the purpose, then usage triggers, then the important semantic caveat, then Args. Every section earns its place, though the Args block partially duplicates semantics already implied and adds some length.

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?

Output schema exists, yet the description still usefully summarizes what is returned (per-dimension score breakdown). With annotations covering safety, parameters explained, and eligibility caveat stated, an agent has everything needed to call and interpret this correctly.

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 0%, so the description must carry the load, and it does: 'id' is identified as the field from a search_convocatorias result (linking it to the sibling that produces it), and 'watchlist' is explained as an optional filter whose omission explains all matches. This fully compensates for the empty schema; only the id's exact format is left implicit.

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: explains why a convocatoria matches or not against watchlists, and names the score-breakdown dimensions. Clearly distinguishable from search_convocatorias (finding items) and get_convocatoria (reading requirements).

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

Usage Guidelines5/5

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

Explicitly names the triggering questions ('¿por qué me sale esto?', '¿por qué no me sale lo que busco?') and states the exclusion: eligibility is not covered here and must be read with get_convocatoria. Both when-to-use and the alternative are given.

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