licitaIA — Spanish public tenders
Server Details
Search recent Spanish public tenders and retrieve basic details with official source links.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one searches tenders with filters, the other retrieves a single tender by UUID. There is no overlap and an agent can easily select the right tool.
Both names use snake_case in Spanish, which is consistent. However, one uses a verb (buscar_licitaciones) while the other uses a noun (ficha_licitacion), a minor stylistic deviation.
Two tools is thin for a tender domain, even a read-only public one. The scope is narrow but leaves little room for browsing or advanced querying.
Search plus detail-by-UUID covers the core read path, but the search is hard-limited to the last 30 days with no way to access older tenders. Related data (documents, profiles, verdicts) is explicitly out of scope, which is defensible but leaves notable gaps.
Available Tools
2 toolsbuscar_licitacionesBuscar licitaciones públicasARead-onlyInspect
Búsqueda pública acotada a publicaciones de los últimos 30 días. Opcionalmente usa soloFuturas para exigir un plazo posterior al momento de consulta, fechaLimiteDesde como límite inclusivo ISO 8601 con zona horaria, y presupuestoMin/presupuestoMax sobre el campo presupuestoBase registrado en euros; los importes desconocidos quedan fuera cuando se pide rango.
| Name | Required | Description | Default |
|---|---|---|---|
| cpv | No | ||
| page | No | ||
| limit | No | ||
| query | No | ||
| organismo | No | ||
| provincia | No | ||
| soloFuturas | No | Solo plazos de presentación posteriores al momento de consulta. | |
| presupuestoMax | No | Presupuesto base registrado máximo, en euros. | |
| presupuestoMin | No | Presupuesto base registrado mínimo, en euros. | |
| fechaLimiteDesde | No | Límite inferior inclusivo del plazo, con zona horaria explícita. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered; the description goes further by disclosing two non-obvious behaviors: the 30-day lookback window and the fact that records with unknown presupuestoBase are excluded once a budget range is requested. It omits the notable return-size cap (page max 1, limit max 5), which is a real behavioral limitation.
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 dense sentence whose first clause puts the scope constraint up front, followed by the optional filters; there is no filler or repetition. Density is high enough that a non-Spanish-speaking reader may need a second pass, but nothing is wasted.
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 and 10 parameters (none required), the description leaves important context unstated: what a result looks like, and especially the effective result cap implied by page maximum 1 and limit maximum 5. It covers the filtering semantics well but is incomplete for a tool of this complexity.
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 only 40% across 10 parameters, so the description must compensate and it does for four of them: soloFuturas (deadline after query time), fechaLimiteDesde (inclusive, ISO 8601 with timezone) and presupuestoMin/Max (applied to presupuestoBase, euros, unknown amounts dropped). The remaining six parameters (cpv, page, limit, query, organismo, provincia) are undocumented beyond bare types and patterns.
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 ('Búsqueda pública' over licitaciones/publicaciones) and adds a concrete scope constraint: only publications from the last 30 days. It does not name or contrast itself with the sibling ficha_licitacion, so an agent must infer that this is the list/search tool and that one is the detail lookup.
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 by the search framing and the 30-day scope acts as an implicit 'use this for recent items' cue, but there is no explicit when-to-use, no when-not-to-use, and no reference to ficha_licitacion as the alternative for a specific tender.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ficha_licitacionFicha pública de licitaciónARead-onlyInspect
Ficha pública por UUID, sin documentos, IA, perfil ni veredictos.
| Name | Required | Description | Default |
|---|---|---|---|
| licitacionId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds genuine scope disclosure beyond that: 'sin documentos, IA, perfil ni veredictos' tells the agent which data this record deliberately excludes, which matters when choosing between this lean view and a fuller one.
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 short sentence with the retrieval key front-loaded and no filler. It is efficient and scannable, though the exclusion list is compressed to the point of being terse.
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 annotations covering safety and no output schema, the definition should describe what the record contains; it only describes what it omits. Listing the excluded sections implies the shape of the return value but never states it positively, leaving a gap for a tool whose output is undefined.
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 exists and its schema declares type string with format uuid, so the description's 'por UUID' largely restates the schema's format field. It does confirm the identifier semantics, but adds no syntax, sourcing, or failure-mode detail; with 0% schema description coverage the description only partially compensates.
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 resource (ficha pública de licitación) and the retrieval key (UUID), which distinguishes it implicitly from the search sibling buscar_licitaciones. It never names the sibling or explicitly contrasts retrieve-vs-search, so differentiation is inferred rather than stated.
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 phrase 'por UUID' implies the tool is used once a specific licitación identifier is known, which is useful usage context. There is no explicit when-to-use/when-not guidance and no reference to buscar_licitaciones as the alternative path for finding that UUID.
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.
1 tool update
- Changed
buscar_licitaciones4 fields changed- added
Input schema / properties / fechaLimiteDesdeAdded value: +{ + "description": "Límite inferior inclusivo del plazo, con zona horaria explícita.", + "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,3})?(?:Z|[+-]\\d{2}:\\d{2})$", + "type": "string" +} - added
Input schema / properties / presupuestoMaxAdded value: +{ + "description": "Presupuesto base registrado máximo, en euros.", + "minimum": 0, + "type": "number" +} - added
Input schema / properties / presupuestoMinAdded value: +{ + "description": "Presupuesto base registrado mínimo, en euros.", + "minimum": 0, + "type": "number" +} - added
Input schema / properties / soloFuturasAdded value: +{ + "description": "Solo plazos de presentación posteriores al momento de consulta.", + "type": "boolean" +}
2 tool updates
- First observed
buscar_licitaciones - First observed
ficha_licitacion
Related MCP Connectors
Normalized search over public-sector tenders in TED (EU official procurement notices) -- Spain + EU
Spain public procurement MCP — PLACSP tender notices (keyless).
Search Spain's BOE/BORME gazettes, open EU funding calls and EU TED tenders. Keyless sources.
Search government tenders and public procurement opportunities with structured results.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceProvides normalized search over public-sector tender notices from TED, covering Spain and the rest of the EU. Supports filtering by country, keyword, CPV prefix, and publication recency, returning tender details and related links.1-
- AlicenseNot gradedqualityBmaintenanceAccess Spain public procurement tender notices from PLACSP without API keys.198 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables users to search recent EU TED and Spanish PLACSP tender notices by keyword, country, and source, and to retrieve individual notices by id. A free tier returns five notices without source links, while an API key from tender.bitscorp.co unlocks every notice and call.MIT
- AlicenseAqualityBmaintenanceEnables AI clients to query Spain's official BDNS subsidy and grant listings and BOE open-data publications live, with exact counts, computed deadlines, forecast calendars, and literal PDF text of grant bases. It also surfaces BOE oposiciones and licitaciones, flagging uncertainty instead of inventing data.10358 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.