Skip to main content
Glama

Subastech — subastas judiciales de inmuebles (BOE)

Server Details

Subastas judiciales de inmuebles en España: busca en los datos del BOE y analiza cada bien.

Ownership verified
Status
Healthy
Uptime
99.9% over 45 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.6/5.0

Scored across 27 tools

Disambiguation3/5

Several pairs overlap: 'subasta' and 'fetch' both return a single auction ficha, 'informe' and 'analisis_subasta' both give a viability verdict, and 'search' vs 'buscar_subastas' split natural-language vs structured search. Descriptions clarify the distinctions somewhat, but an agent could easily misselect among these.

Naming Consistency3/5

A prefix-grouping convention exists (alertas_*, favoritos_*, notas_simples_*) but verb placement is mixed: 'alertas_crear'/'favoritos_anadir' (noun_verb) vs 'buscar_subastas'/'buscar_por_codigo' (verb_noun). English singletons ('search', 'fetch') mixed with Spanish elsewhere, and singular/plural inconsistency ('nota_simple_pedir' vs 'notas_simples_listar') add noise.

Tool Count3/5

27 tools is heavy and slightly above the comfortable band, though the domain genuinely spans search, detail, alerts, favorites, registral notes, reports and market stats. Most tools earn their place, but the surface feels dense for a single server.

Completeness4/5

Coverage is broad: search by filters/codes/NL, single-auction detail, full CRUD for alerts and favorites, registral-note lifecycle, reports, market stats, plans and account. Minor gaps remain (e.g. no explicit alert-notification or report-purchase follow-up tool), but core lifecycle workflows are covered.

Available Tools

27 tools
alertas_activarActivar o pausar una alertaA
Idempotent
Inspect

Activa o pausa una alerta tuya sin borrarla. Requiere cuenta verificada (scope alertas:write).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesIdentificador de la alerta (de `alertas_listar`).
activaYes`true` reanuda la alerta; `false` la pausa sin borrarla.

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
ctaNo
activaNo
disclosureNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, and destructiveHint=false, so safety and repeatability are covered. The description adds auth requirements ('cuenta verificada', scope `alertas:write`) and reinforces non-destructive behavior ('sin borrarla'), which is useful context beyond the structured fields.

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?

Two short sentences with zero waste. The primary action is front-loaded before the auth requirement, making it easy to scan and act on.

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?

The tool has only two simple parameters, an output schema, and rich annotations covering safety/idempotency. The description adds the necessary auth scope and non-delete clarification, leaving nothing important for an agent to guess.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already fully documents both `id` and `activa`. The description adds no additional parameter meaning, which is acceptable given the complete schema, making the baseline 3 appropriate.

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?

The description states a specific verb pair ('Activa o pausa') and resource ('una alerta tuya'), and explicitly clarifies that it does not delete ('sin borrarla'), which distinguishes it from the sibling alertas_eliminar. An agent can route this correctly without opening any schema.

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

Usage Guidelines3/5

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

It gives a prerequisite (verified account, scope `alertas:write`), which is useful context, but does not explain when to use this tool versus alternatives like alertas_editar or alertas_eliminar. The usage is implied from the verb but not contrasted with siblings.

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

alertas_crearCrear una alertaAInspect

Crea una alerta de subastas (criterios, tipos de aviso, cadencia, canales). Requiere cuenta verificada (scope alertas:write). Envía un correo de confirmación al crearla. Límite de alertas y canales según el plan (ajustes). Los mismos criterios se pueden previsualizar sin crear nada.

ParametersJSON Schema
NameRequiredDescriptionDefault
tiposYes`new`, `price_drop`, `ending`, `status`
nombreYesNombre de la alerta
canalesYes`inapp` siempre; `email`; `push`/`telegram`/`webhook` según el plan
cadenciaYes`instant` requiere plan Pro (si no, pasa a `daily`)
criteriosYesFiltros que debe cumplir una subasta para disparar la alerta: provincias, municipios, tipo de inmueble, precio, superficie y ocupación.
quiet_hoursNoFranja en la que no se envían avisos. `paused` la desactiva; `from` y `to` en formato HH:MM; `days` con 0 = domingo … 6 = sábado.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
okYes
ctaNo
urlYes
avisosNo
ajustesNo
disclosureNo

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations (which only say it is a non-readonly, non-idempotent mutation), the description discloses an auth scope requirement, a concrete side effect (confirmation email), and plan-dependent quota limits referenced via `ajustes`. This is substantive behavioral context, though failure/idempotency behavior is left to 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.

Conciseness5/5

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

Four short sentences, each carrying a distinct load (purpose, precondition, side effect, limits, alternative) with the core action front-loaded.

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?

For a 6-param mutation with nested objects and an output schema present, the description covers the essentials an agent needs: what it does, auth requirement, side effect, quota dependency, and the read-only alternative. Return values need not be explained given the output schema.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter and nested criterion is already documented in the schema. The description only names the top-level fields and adds no syntax or format detail beyond that, matching the baseline-3 rule.

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 ('Crea') and resource ('alerta de subastas') and enumerates the defining fields (criterios, tipos, cadencia, canales), which cleanly separates it from alertas_editar, alertas_eliminar, and alertas_activar.

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 preconditions ('Requiere cuenta verificada', scope `alertas:write`) and points to the non-mutating alternative ('Los mismos criterios se pueden previsualizar sin crear nada'), which effectively routes the agent to alertas_previsualizar. It stops short of naming that sibling explicitly.

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

alertas_editarEditar una alertaA
Idempotent
Inspect

Modifica una alerta existente (nombre, criterios, tipos, cadencia, canales, horas de silencio). Requiere cuenta verificada (scope alertas:write). No envía correo.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesIdentificador de la alerta a modificar (de `alertas_listar`).
tiposYes`new`, `price_drop`, `ending`, `status`
nombreYesNombre de la alerta
canalesYes`inapp` siempre; `email`; `push`/`telegram`/`webhook` según el plan
cadenciaYes`instant` requiere plan Pro (si no, pasa a `daily`)
criteriosYesFiltros que debe cumplir una subasta para disparar la alerta: provincias, municipios, tipo de inmueble, precio, superficie y ocupación.
quiet_hoursNoFranja en la que no se envían avisos. `paused` la desactiva; `from` y `to` en formato HH:MM; `days` con 0 = domingo … 6 = sábado.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
okYes
ctaNo
urlYes
avisosNo
ajustesNo
disclosureNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly=false, destructive=false and idempotent=true, so the safety profile is covered. The description adds value beyond them: the auth scope requirement and the clarification that no email is dispatched (i.e. editing does not fire a notification). It does not clarify that all six fields are required (full replacement rather than a patch), which is the remaining gap.

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?

Three short sentences, front-loaded with the action and the editable fields, then the prerequisite, then the behavioral note. No filler.

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?

With an output schema, full annotation set, and 100%-documented nested parameters, the description only needs to cover intent, auth, and side effects — which it does. It stops just short of stating that the call replaces the whole alert definition rather than patching it.

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

Parameters3/5

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

Schema description coverage is 100% and the nested criterios/quiet_hours objects are richly documented in the schema itself, so the baseline is 3. The description only lists field names already enumerated in the schema and adds no format, default, or constraint detail beyond it.

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

Purpose4/5

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

States a specific verb and resource ("Modifica una alerta existente") and enumerates the editable surface (nombre, criterios, tipos, cadencia, canales, horas de silencio). The word "existente" implicitly separates it from alertas_crear, but it never names a sibling explicitly.

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

Usage Guidelines3/5

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

It gives a real prerequisite (verified account, scope `alertas:write`), which is genuine usage guidance, but there is no when-to-use vs alertas_crear/alertas_activar/alertas_previsualizar routing. Usage is inferred rather than stated.

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

alertas_eliminarEliminar una alertaA
DestructiveIdempotent
Inspect

Elimina una alerta tuya de forma permanente. Requiere cuenta verificada (scope alertas:write).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesIdentificador de la alerta a eliminar (de `alertas_listar`).

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
ctaNo
disclosureNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=true, so the bar is lower, but the description still adds two things they do not cover: the deletion is permanent/irreversible and it requires a verified account holding the `alertas:write` scope. That auth requirement is genuinely useful pre-call context.

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?

Two sentences with no filler; the destructive/permanent nature is front-loaded before the auth requirement, so the most decision-relevant fact lands first.

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 one-parameter delete tool, an output schema exists (so return values need no explanation) and the schema fully documents the parameter. Combined with the permanence and auth-scope statements, an agent has what it needs, though a note on ownership limits or confirmation requirements would make it airtight.

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

Parameters3/5

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

Schema description coverage is 100% — the single `id` parameter is already documented in the schema, including its provenance from `alertas_listar`. The description adds no extra meaning about the identifier, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Elimina una alerta tuya'), scoped to the caller's own alerts, which cleanly separates it from alertas_listar, alertas_crear and alertas_editar. It stops short of naming any sibling explicitly, so it is clear but not maximally differentiated.

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

Usage Guidelines3/5

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

The description gives a precondition (verified account with `alertas:write` scope) but never states when to delete versus edit or otherwise manage an alert, nor any when-not guidance. Usage is implied rather than instructed.

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

alertas_listarListar mis alertasA
Read-onlyIdempotent
Inspect

Lista tus alertas de subastas con sus criterios, tipos de aviso, cadencia, canales y estado. Requiere cuenta (scope alertas:read). Paginada (pagina, por_pagina; máximo 20 por página); la respuesta incluye total, paginas y hasMore.

ParametersJSON Schema
NameRequiredDescriptionDefault
limiteNoAlias de `por_pagina` (número de resultados por página). Si indicas los dos, manda `por_pagina`.
paginaNoPágina (≥1; 1 por defecto)
por_paginaNoResultados por página (1..20; 20 por defecto)

Output Schema

ParametersJSON Schema
NameRequiredDescription
ctaNo
totalYes
paginaYes
alertasYes
hasMoreYes
paginasYes
disclosureNo
por_paginaYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/destructiveHint=false/openWorldHint=false, so safety is covered structurally. The description adds the auth scope requirement and the pagination contract (max 20 per page, response carries `total`, `paginas`, `hasMore`), which is genuine extra 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.

Conciseness4/5

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

Three tight sentences, front-loaded with the purpose, then prerequisites, then pagination. Every sentence carries information, though the pagination/response details partly duplicate what the schema and output schema already state.

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 read-only, zero-required-param listing tool with an output schema and rich annotations, the description covers purpose, auth scope and pagination adequately. It omits only edge behavior (empty results, ordering of alerts) and any routing advice toward sibling read tools.

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

Parameters3/5

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

Schema description coverage is 100%, so `limite`, `pagina` and `por_pagina` are already fully documented, including the alias precedence rule. The description repeats the page-size cap and names two of the three params but adds no semantics beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb ('Lista') and resource ('tus alertas de subastas'), and enumerates the content returned (criterios, tipos de aviso, cadencia, canales, estado), which makes it unmistakable next to alertas_crear/editar/eliminar/activar/previsualizar. It does not explicitly name a sibling it could be confused with, so it stops short of the top band.

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 a clear precondition — 'Requiere cuenta (scope `alertas:read`)' — and the pagination context tells the agent this is a browsing call, not a lookup. However, it never states when to prefer it over the related read tools (favoritos_listar, notas_simples_listar) or when alertas_previsualizar would be the right call instead.

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

alertas_previsualizarPrevisualizar una alertaA
Read-onlyIdempotent
Inspect

Antes de crear una alerta: cuántas subastas coinciden ahora con los criterios, una muestra y avisos con fix aplicable (criterios sospechosos). Requiere cuenta (scope alertas:read). Los criterios avanzados (scoreMin, discountMinPct) requieren plan Pro; si no, se ignoran y se informa en ajustes.

ParametersJSON Schema
NameRequiredDescriptionDefault
criteriosYesFiltros que debe cumplir una subasta para disparar la alerta: provincias, municipios, tipo de inmueble, precio, superficie y ocupación.

Output Schema

ParametersJSON Schema
NameRequiredDescription
ctaNo
avisosYes
ajustesYes
muestraYes
coincidenYes
disclosureNo
criterios_limpiosYes

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds real behavioral context beyond that: auth scope requirement (`alertas:read`), and that advanced criteria are silently ignored on non-Pro plans but reported in `ajustes` – a non-obvious degradation path.

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?

Three compact sentences, front-loaded with the workflow purpose, then outputs, then auth, then the plan caveat. No filler; each sentence carries distinct information.

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?

An output schema exists, so return-value detail is not required, and the description still names the key outputs (match count, sample, `ajustes` warnings). Auth scope and plan gating are covered. Nothing critical is missing for an agent to call it correctly.

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

Parameters3/5

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

Schema coverage is 100% and the nested `criterios` object is richly documented in-schema, including Pro gating and format hints. The description restates the Pro requirement for `scoreMin`/`discountMinPct` but adds no syntax or semantics beyond the schema, so the baseline 3 applies.

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 action (preview an alert), what it returns (match count, sample, fix-applicable warnings), and positions it relative to siblings by opening with 'Antes de crear una alerta', clearly distinguishing it from alertas_crear.

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 says when to use it ('Antes de crear una alerta') and ties it to the creation workflow. It also names the plan-gating condition for advanced criteria, giving the agent enough to decide when results will be limited.

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

analisis_subastaAnálisis de una subasta (veredicto y ejes)A
Read-onlyIdempotent
Inspect

Veredicto de viabilidad y ejes (cargas, posesión, rentabilidad, titularidad) de una subasta. Requiere cuenta (scope informes:read) y plan Pro o superior; con Radar/Starter devuelve locked con upgradeUrl. No consume cuota.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesIdentificador público de la subasta (10 caracteres)

Output Schema

ParametersJSON Schema
NameRequiredDescription
ctaNo
ejesNo
lockedNo
subastaYes
veredictoNo
disclosureNo
informe_urlYes
analisis_listoYesfalse si polSaaS aún está generando el veredicto

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already cover the read-only/idempotent safety profile, and the description adds genuinely new behavior: required auth scope, plan-tier gating with a `locked` fallback payload, and the notable fact that it does not consume quota. Those are exactly the operational facts an agent cannot get from annotations or schema.

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?

Two dense sentences, front-loaded with what the tool returns before moving to access conditions. Every clause carries information — scope, tier, fallback, quota — with no filler.

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?

For a single-parameter read tool with an output schema and full annotation coverage, the description supplies everything else an agent needs: access requirements, tier-gating behavior, the shape of the gated response, and the cost model. Nothing material is missing.

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

Parameters3/5

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

Schema description coverage is 100% and the single `id` parameter is documented in the schema with its 10-character pattern, so the baseline is 3. The description adds no further parameter detail, which is acceptable here since there is nothing left to clarify.

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

Purpose4/5

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

States a specific verb+resource (viability verdict plus axes for an auction) and enumerates the four axes returned, which is far more informative than the title alone. It never names the adjacent siblings (subasta, informe, recomendaciones), so an agent must infer which one to pick, keeping this at a 4.

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 clear preconditions: account required, `informes:read` scope, Pro plan or higher, and explicitly what happens on lower tiers (returns `locked` with `upgradeUrl`). That is effectively a when-not condition, but it never contrasts the tool with the similarly-named `informe` or `subasta` siblings.

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

buscar_por_codigoBuscar por referencia catastral, CRU, IDUFIR o BOEA
Read-onlyIdempotent
Inspect

Localiza subastas del BOE a partir de códigos: referencia catastral, CRU, IDUFIR o identificador BOE (hasta 5). Pública, sin cuenta; sin cuenta solo devuelve fichas vigentes en el catálogo público (con cuenta, también las archivadas con archivada: true).

ParametersJSON Schema
NameRequiredDescriptionDefault
codigosYesReferencias catastrales, CRU, IDUFIR o identificadores BOE (1..5)

Output Schema

ParametersJSON Schema
NameRequiredDescription
ctaNo
itemsYes
disclosureNo
no_encontradosYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, yet the description adds real value: anonymous calls return only 'fichas vigentes' from the public catalog, while authenticated calls also surface archived records flagged archivada: true. That result-set difference based on auth is not derivable from the structured fields.

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?

Two dense sentences, front-loaded with the action and then the access caveat. Slight redundancy in 'Pública, sin cuenta; sin cuenta solo devuelve...', but nothing extraneous overall.

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?

An output schema exists, so return structure need not be described, and annotations cover the safety profile. The description fills the remaining gap (auth-dependent result scope) for a single-parameter lookup tool; only edge-case behavior such as invalid or partial codes is left unstated.

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

Parameters3/5

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

Schema coverage is 100% and the single parameter is fully documented, so the baseline is 3. The description lists the accepted code types and the 'hasta 5' cap, but both merely restate schema details (maxItems: 5, items described as the same identifier types) without adding format or validation nuance.

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

Purpose4/5

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

States a specific verb ('Localiza') and resource ('subastas del BOE') and enumerates the exact identifier types accepted (referencia catastral, CRU, IDUFIR, BOE). The 'a partir de códigos' framing distinguishes it from text-oriented siblings like buscar_subastas, though no alternative is named explicitly.

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

Usage Guidelines3/5

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

Conveys useful context about access level ('Pública, sin cuenta') and how results differ by account state, which helps an agent decide whether the caller's context supports this tool. However, it never states when to prefer this over buscar_subastas or other search siblings, so the routing guidance is only implied.

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

buscar_subastasBuscar subastasA
Read-onlyIdempotent
Inspect

Busca subastas judiciales de inmuebles del BOE por provincia, municipio, tipo, precio, superficie, texto libre, zona (bbox o radio) y estado. Pública, sin cuenta: devuelve datos oficiales del BOE y la URL de cada ficha. El scoring, veredicto, cargas, ROI, valoración e intervinientes requieren cuenta y plan Pro o superior; si algo está cerrado se devuelve locked con upgradeUrl. Sin plan con scoring, orden: score pasa a recent y solo_viables se ignora (campo degradado). Máximo 20 por página (por_pagina, o su alias limite); no acepta parámetros que no estén declarados.

ParametersJSON Schema
NameRequiredDescriptionDefault
bboxNoZona rectangular en grados (lon/lat)
tipoNoTipos de inmueble, valores EXACTOS de `estadisticas_publicas.tipos` (p. ej. `Vivienda`, `Garaje`)
cercaNoRadio alrededor de un punto (máximo 50 km)
ordenNo`recent` (por defecto), `ending`, `discount`, `price`; `score` solo con plan Pro (si no, pasa a `recent`)
textoNoTexto libre (calle, barrio, juzgado…), máximo 120 caracteres
estadoNo`activas` (por defecto), `todas`, `adjudicadas` o `desiertas`
limiteNoAlias de `por_pagina` (número de resultados por página). Si indicas los dos, manda `por_pagina`.
paginaNoPágina (≥1; máximo 25 sin cuenta, 50 con cuenta)
area_maxNoSuperficie construida máxima (m²)
area_minNoSuperficie construida mínima (m²)
municipioNoClaves `provincia:municipio` (de `estadisticas_publicas` con `municipio_q`)
provinciaNoSlugs de provincia (p. ej. [`madrid`, `barcelona`]); ver `estadisticas_publicas`
por_paginaNoResultados por página (1..20)
precio_maxNoValor de subasta máximo (euros)
precio_minNoValor de subasta mínimo (euros)
solo_viablesNoOcultar las no recomendables: solo con plan Pro (si no, se ignora)

Output Schema

ParametersJSON Schema
NameRequiredDescription
ctaNo
itemsYes
totalYes
lockedNo
paginaYes
hasMoreYes
paginasYes
degradadoNo
disclosureNo
por_paginaYes

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only cover the safety profile (readOnly, idempotent, non-destructive). The description adds substantial behavior beyond that: locked fields return `locked` with `upgradeUrl`, plan-gated ordering degrades with a `degradado` field, hard cap of 20 per page, alias precedence for `limite`/`por_pagina`, and rejection of undeclared parameters.

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-loads the capability and filter axes in the first sentence, then layers access model, plan gating and limits in short declarative sentences. Every clause carries actionable information with no filler or repetition.

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 16-parameter tool with nested objects, enums and an output schema, the description covers the decision-critical behavior (free vs Pro, locked/degraded responses, pagination limits). Remaining detail such as coordinate semantics and the provenance of provincia/municipio keys is left entirely to the schema, which is a minor but real gap.

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

Parameters3/5

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 16 parameters, including enum values, bbox/cerca structure and slug patterns. The description reinforces the page-size cap and the `limite` alias precedence but adds no syntax or format detail 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.

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 subastas judiciales de inmuebles del BOE') and enumerates the exact filter axes: provincia, municipio, tipo, precio, superficie, texto, zona, estado. An agent can distinguish this from siblings like `subasta`, `buscar_por_codigo` or `estadisticas_publicas` without opening any 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?

Clearly states the access context: public and account-free, with scoring/ROI/intervinientes gated behind Pro, plus the exact degradation rules when the plan is missing (`orden: score` falls back to `recent`, `solo_viables` ignored). It does not name alternative tools for related tasks (detail lookup, analysis, statistics), so it stops short of explicit when-not guidance.

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

estadisticas_publicasEstadísticas públicas del catálogoA
Read-onlyIdempotent
Inspect

Totales del catálogo, provincias con subastas activas e históricas, tipos de inmueble (valores EXACTOS para filtrar) y búsqueda de municipios (claves provincia:municipio). Pública, sin cuenta. No incluye estadísticas de mercado (precios y tasa de adjudicación), que son una función del plan Pro.

ParametersJSON Schema
NameRequiredDescriptionDefault
estadoNoÁmbito de los tipos de inmueble
municipio_qNoBuscar municipios por nombre (≥2 caracteres)

Output Schema

ParametersJSON Schema
NameRequiredDescription
ctaNo
tiposYes
totalesYes
disclosureNo
municipiosNo
provinciasYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world. The description adds genuinely non-redundant context: the tool is public with no account required (auth/permission info) and it discloses a scope limitation (no market/pricing data). What it omits beyond that is minor for a read-only stats call.

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?

Two dense sentences with no filler; the scope/content comes first and the exclusions and public-access note follow. Slightly compressed but every clause carries information.

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?

With an output schema present, return-value detail is unnecessary, and the description supplies the access model, the content scope, and the Pro-feature exclusion. For a 2-param tool with full schema coverage and existing annotations, it is essentially complete, missing only an explicit named alternative.

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 the baseline is 3, but the description adds real meaning: it warns that property-type filters must use EXACT values and documents the municipality key format (`provincia:municipio`) for municipio_q, which is not evident from the param name alone.

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?

The description concretely enumerates what the tool returns (catalog totals, provinces with active/historical auctions, property types, municipality search) and explicitly carves itself apart from the market-statistics tool by stating prices and award rates are a Pro feature. An agent can distinguish this from siblings like mercado or buscar_subastas without opening a 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?

It gives clear context for use ('Pública, sin cuenta') and a strong when-not signal ('No incluye estadísticas de mercado ... plan Pro'), which implicitly routes market queries elsewhere. It does not name a specific alternative tool, so it falls just short of the explicit alternatives a 5 requires.

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

explicar_conceptoExplicar un concepto de subastas judicialesA
Read-onlyIdempotent
Inspect

Explica un concepto de las subastas judiciales en España (depósito, cargas, posesión, cesión de remate, tipos de subasta…). Base de conocimiento de Subastech con fuentes oficiales (BOE); textos generales, no asesoramiento. Pública, sin cuenta; sin modelo de lenguaje.

ParametersJSON Schema
NameRequiredDescriptionDefault
preguntaYesConcepto o pregunta (p. ej. «qué es la cesión de remate»)

Output Schema

ParametersJSON Schema
NameRequiredDescription
ctaNo
fuenteNo
conceptoYes
disclosureNo
sugerenciaNo
relacionadosNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), but the description adds genuinely new context: it is a curated Subastech knowledge base sourced from BOE, requires no account, is not legal advice, and notably is 'sin modelo de lenguaje' (not an LLM). That last point meaningfully sets expectations about output style.

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?

Two tight sentences, front-loaded with the core action and scope, then the sourcing/constraint caveats. No filler.

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?

With an output schema present and 100% parameter coverage, the description need not explain return values. It supplies the sourcing, access, and non-advisory context an agent needs. It could be slightly stronger by clarifying scope boundaries versus the sibling analysis/search tools.

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

Parameters3/5

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

Schema description coverage is 100% with a single required 'pregunta' parameter already documented with an example. The description's concept list marginally clarifies what kinds of inputs are expected but adds no syntax or constraint detail beyond the schema; baseline 3 is appropriate.

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?

Specific verb+resource: 'Explica un concepto de las subastas judiciales en España', with concrete example domains (depósito, cargas, posesión, cesión de remate, tipos de subasta). It clearly reads as a conceptual/knowledge-base tool, distinguishing it from sibling data tools like buscar_subastas, analisis_subasta, or subasta.

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

Usage Guidelines3/5

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

The framing ('Base de conocimiento... textos generales, no asesoramiento') implies when to use it, but no alternative is named and no explicit when/when-not routing is given. Usage is inferable rather than stated.

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

favoritos_anadirGuardar en favoritosA
Idempotent
Inspect

Guarda una subasta en tus favoritos. Requiere cuenta (scope favoritos:write). Radar y Starter solo pueden guardar subastas activas (fav.historico es Pro+).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesIdentificador público de la subasta (10 caracteres)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
ctaNo
favoritoYes
disclosureNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare non-destructive, idempotent mutation behavior. The description adds genuinely non-structured context: the required auth scope and tier-based restrictions on what can be favorited. It does not restate annotation data, though it says nothing about return behavior (output schema covers that).

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?

Three compact sentences, with the core action front-loaded before the authorization and plan caveats. No filler or redundant restatement of the title.

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 simple one-parameter mutation with an output schema and full annotations, the description covers purpose, auth, and plan gating adequately. The only minor gap is that it doesn't mention behavior when the auction is already favorited, though idempotentHint already signals this.

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

Parameters3/5

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

Only one parameter, and the schema documents it fully (100% coverage including the 10-character public-ID pattern). The description adds nothing about the `id` argument, so the baseline of 3 applies — the schema does all the work here.

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 combination ("Guarda una subasta en tus favoritos") in the very first sentence. The verb 'guardar' cleanly distinguishes it from siblings like favoritos_quitar and favoritos_listar without needing to name them.

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 concrete preconditions for use: an account is required with the `favoritos:write` scope, and plan limits determine which auctions can be saved (Radar/Starter active-only; `fav.historico` is Pro+). It doesn't explicitly route to an alternative tool, but the conditions of use are clear.

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

favoritos_listarListar mis favoritosA
Read-onlyIdempotent
Inspect

Subastas que has guardado como favoritas. Requiere cuenta (scope favoritos:read). Paginada (pagina, por_pagina; máximo 20 por página); la respuesta incluye total, paginas y hasMore. El scoring, veredicto, cargas, ROI, valoración e intervinientes requieren cuenta y plan Pro o superior; si algo está cerrado se devuelve locked con upgradeUrl.

ParametersJSON Schema
NameRequiredDescriptionDefault
limiteNoAlias de `por_pagina` (número de resultados por página). Si indicas los dos, manda `por_pagina`.
paginaNoPágina (≥1; 1 por defecto)
por_paginaNoResultados por página (1..20; 20 por defecto)

Output Schema

ParametersJSON Schema
NameRequiredDescription
ctaNo
itemsYes
totalYes
paginaYes
hasMoreYes
paginasYes
disclosureNo
por_paginaYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safe-read profile (readOnly, idempotent, non-destructive). Beyond that the description adds the auth scope, pagination limits, and notably the Pro-plan gating where closed fields return `locked` with an `upgradeUrl` — real behavioral context. It does not restate 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.

Conciseness4/5

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

A single dense paragraph, but front-loaded with purpose then prerequisites then pagination then plan gating. Every clause carries information; no filler. Slightly overpacked for one sentence-structure, but efficient.

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?

With an output schema present, return fields need not be explained, and annotations carry the safety profile. The description still supplies the auth scope, pagination behavior, and plan-gating edge case an agent needs to call and interpret this correctly, leaving little missing.

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

Parameters3/5

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 `pagina`, `por_pagina`, and the `limite` alias with precedence rules. The description reinforces the 20-per-page cap but adds no syntax or alias detail beyond the schema. Baseline 3 is appropriate.

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

Purpose4/5

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

The description identifies the resource precisely ("Subastas que has guardado como favoritas"), which an agent can distinguish from the mutation siblings favoritos_anadir/favoritos_quitar. It does not explicitly name or contrast with those siblings, so it stops short of a 5.

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

Usage Guidelines3/5

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

It gives prerequisites (account plus `favoritos:read` scope) and plan requirements, which is useful context, but it never states when to call this versus favoritos_anadir/quitar or buscar_subastas. Usage is implied by the noun phrase 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.

favoritos_quitarQuitar de favoritosA
DestructiveIdempotent
Inspect

Quita una subasta de tus favoritos. Requiere cuenta (scope favoritos:write).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesIdentificador público de la subasta (10 caracteres)

Output Schema

ParametersJSON Schema
NameRequiredDescription
okYes
ctaNo
favoritoYes
disclosureNo

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, idempotentHint=true, readOnlyHint=false, and openWorldHint=false. The description adds real value beyond that by naming the required auth scope (`favoritos:write`), which the annotations do not carry. It stops short of describing failure/error behavior for a non-favorited id, so a 3 reflects partial added context.

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?

Two short sentences, front-loaded with the action and followed by the required precondition. Nothing is wasted and there is no boilerplate.

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?

With an output schema present, return values need no explanation, and the auth scope plus destructive/idempotent annotations cover the behavioral essentials. A minor gap remains around error cases (e.g., id not in favorites), but nothing blocking correct invocation.

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

Parameters3/5

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

Schema description coverage is 100% and the single `id` parameter is fully documented with format and pattern in the schema. The description adds no format or semantic detail beyond what the schema provides, so the baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb+resource: 'Quita una subasta de tus favoritos', which is unambiguous and easily separated from favoritos_anadir and favoritos_listar. It omits any explicit sibling reference, but the action itself is precise enough to route correctly.

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

Usage Guidelines3/5

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

Usage is implied by the name and the removal verb, and it discloses the precondition of an authenticated account with the `favoritos:write` scope. However, it never states when to prefer this over alternatives or what happens if the auction isn't currently favorited.

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

fetchFetch (ChatGPT)A
Read-onlyIdempotent
Inspect

Lee una ficha de subasta por id (compatible con la búsqueda profunda de ChatGPT): id, title, text con los datos públicos del BOE en Markdown, url y metadata. Pública, sin cuenta. El scoring, veredicto, cargas, ROI, valoración e intervinientes requieren cuenta y plan Pro o superior; si algo está cerrado se devuelve locked con upgradeUrl.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes`id` devuelto por `search` (o URL de la ficha)

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYes
urlYes
textYes
titleYes
metadataYes

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, non-destructive, closed-world behavior. The description adds important behavioral detail beyond annotations: authentication/plan gating for premium fields and a specific fallback response ('locked' with 'upgradeUrl') when content is restricted.

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?

Two tightly written sentences, front-loaded with what the tool does, followed by access and gating information. Every sentence earns its place with no redundancy.

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?

Given a simple one-parameter fetch, full schema coverage, an output schema, and annotations covering safety, the description adds the crucial missing pieces: public vs premium access and the locked-response behavior. Nothing an agent needs to call it correctly is absent.

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

Parameters3/5

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

Schema description coverage is 100%, and the single parameter 'id' is fully documented in the schema (including that it comes from 'search' or a URL). The description adds no new parameter-level syntax or constraints, so the baseline of 3 applies.

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 ('Lee') and resource ('ficha de subasta') and the lookup key ('por id'), which distinguishes it from search-oriented siblings. It also enumerates the returned fields, making the tool's scope clear without opening the 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?

Provides clear context: public read with no account, but premium fields require an account and Pro plan or higher. It does not explicitly name alternative tools or state when not to use it, but the id-based retrieval context is sufficient for correct selection.

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

informeInforme de viabilidadA
Read-onlyIdempotent
Inspect

Informe de viabilidad de una subasta con las secciones que tu plan permite (resumen, cargas, descripción, catastro, calculadora, valoración, intervinientes, estadísticas); las cerradas se listan en locked. Requiere cuenta verificada (scope informes:read). Los tiers basic/completo solo se sirven si ya están desbloqueados: si no, devuelve unlock_required con la URL para desbloquearlos en el navegador (y, si el comercio para agentes está activo, compra.paymentLink para pagarlos por MPP). Nunca consume cuota ni cobra por sí misma. Parte del texto se genera con IA (disclosure).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesIdentificador público de la subasta (10 caracteres)
tierNo`web` (por defecto, según tu plan), `basic` o `completo` (solo si ya están desbloqueados)

Output Schema

ParametersJSON Schema
NameRequiredDescription
aiNo
ctaNo
tierYes
compraNo
lockedYes
pdfUrlNo
subastaYes
seccionesYes
disclosureNo
unlock_urlNo
informe_urlYes
analisis_listoYesfalse si polSaaS aún está generando el veredicto

TDQS

A4.1/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations (which already declare it read-only and idempotent): it never consumes quota or charges, requires a specific OAuth scope, returns `unlock_required` with an unlock URL plus an optional `compra.paymentLink`, and discloses that part of the output is AI-generated. That is exactly the extra context an agent needs to handle failures gracefully.

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-loads the purpose and packs auth, tier, quota, and disclosure facts into one dense but readable paragraph with no filler sentences. Slightly long, but every clause earns its place.

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?

Given a rich output schema (so return shapes need no explanation) and full annotation coverage, the description still supplies auth scope, tier gating, the unlock fallback, quota/cost guarantees, and AI-content disclosure. Nothing an agent needs to invoke it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100% and the enum already documents `web`/`basic`/`completo` and the unlocked-only condition, so the description largely repeats the schema. It adds only the behavioral consequence (the `unlock_required` fallback), which is not strictly parameter meaning, so baseline 3 fits.

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

Purpose4/5

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

States a specific verb+resource: it produces a viability report (`informe de viabilidad`) for an auction and enumerates exactly which sections it can contain. It does not explicitly differentiate itself from close siblings such as `subasta` or `analisis_subasta`, so an agent must infer the boundary, but the purpose itself is unmistakable.

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 real preconditions: verified account with scope `informes:read`, and that `basic`/`completo` are only served if already unlocked, otherwise it returns `unlock_required`. It stops short of an explicit when-to-use-this-vs-siblings statement, but the situational context is clear.

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

mercadoEstadísticas de mercadoA
Read-onlyIdempotent
Inspect

Estadísticas de mercado de subastas resueltas (tasa de adjudicación, descuento real, precios) por provincia y/o tipo de inmueble. Requiere cuenta (scope informes:read) y plan Pro o superior; si no, plan_required con locked.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoNoTipo de inmueble (valor exacto)
provinciaNoSlug en minúsculas (p. ej. `madrid`)

Output Schema

ParametersJSON Schema
NameRequiredDescription
ctaNo
statsYes
ambitoYes
lockedNo
minimoNo
disclosureNo
muestra_insuficienteNo

TDQS

A4.2/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses the auth scope needed, the subscription-tier prerequisite, and the exact error contract (`plan_required` with `locked`) when the tier is insufficient. That is precisely the operational context annotations cannot carry.

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?

Two dense sentences: the first defines the resource and dimensions, the second covers prerequisites and failure behavior. No filler, and the core purpose is front-loaded.

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?

An output schema exists, so return values need not be described. With both params fully documented in the schema and the entitlement/error path spelled out, nothing an agent needs to call this correctly is missing.

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 the baseline is 3. The description adds the combinatorics the schema does not state: the filters are optional and may be used together ('por provincia y/o tipo de inmueble'), clarifying that neither is required.

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

Purpose4/5

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

States a concrete verb+resource: statistics on resolved auctions, enumerating the metrics (award rate, real discount, prices) and the breakdown dimensions (province and/or property type). It does not differentiate itself from plausible siblings such as `estadisticas_publicas`, `informe`, or `analisis_subasta`, which is the main gap.

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

Usage Guidelines3/5

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

It gives entitlement context (requires an account with `informes:read` and a Pro plan or above) and the failure mode, which implies when the call will succeed. However, it never says when to pick this tool over `estadisticas_publicas` or `informe`, so the routing guidance is only implied.

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

mi_cuentaMi cuentaA
Read-onlyIdempotent
Inspect

Tu plan, cuota de informes, funciones disponibles, scopes del token, límites de uso y URLs útiles (precios, integraciones). Requiere cuenta (scope cuenta:read).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
ctaNo
orgNo
planYes
urlsYes
tokenYes
limitesYes
usuarioYes
funcionesYes
disclosureNo
cuota_informesNo

TDQS

A3.8/5.0
Behavior4/5

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 important behavioral context beyond annotations: it requires an authenticated account and the cuenta:read scope, and it lists the categories of data returned.

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?

It is a single compact sentence that front-loads the returned data and follows with the access requirement. No words are wasted.

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?

For a no-parameter, read-only account introspection tool with an existing output schema and full annotation coverage, the description supplies everything needed: what data is returned and the required account/scope. Return-value formatting is rightly left to the output schema.

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?

The tool takes zero parameters, so there are no parameter semantics to explain. Per the rubric, zero parameters establish a baseline of 4.

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

Purpose4/5

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

The description names a specific resource (account information) and enumerates exactly what it exposes: plan, report quota, available functions, token scopes, usage limits, and useful URLs. It is far more specific than a tautology, but it does not explicitly state a verb like 'retrieve' and does not differentiate itself from siblings such as planes or informe.

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

Usage Guidelines2/5

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

The description gives a prerequisite ('Requiere cuenta', scope cuenta:read) but no guidance on when to choose this tool over alternatives. There is no explicit when/when-not statement and no sibling tool is named as an alternative.

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

nota_simple_estadoEstado de una nota simpleA
Read-onlyIdempotent
Inspect

Estado de un pedido de nota simple registral y URL para verlo o descargar el PDF cuando esté listo. Requiere cuenta (scope notas:read).

ParametersJSON Schema
NameRequiredDescriptionDefault
pedido_idYesIdentificador del pedido devuelto por `nota_simple_pedir`.

Output Schema

ParametersJSON Schema
NameRequiredDescription
ctaNo
urlYes
pedidoYes
disclosureNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare this is a non-destructive, idempotent, read-only check. The description adds real value beyond them by disclosing the required auth scope (`notas:read`) and the conditional nature of the return (URL only appears once the PDF is ready), which the annotations do not cover.

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?

A single compact sentence, front-loaded with the outcome and followed by the auth constraint. Every clause carries information; nothing is padded, though it is terse enough to border on under-specification.

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?

With 100% schema coverage, an output schema that carries the return shape, and annotations covering the safety profile, the description only needs to add the auth scope and readiness condition, which it does. Nothing materially required to invoke it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100% and the single `pedido_id` parameter is already fully documented in the schema, including that it comes from `nota_simple_pedir`. The description adds no extra parameter meaning, so the baseline of 3 applies.

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

Purpose4/5

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 returns the status of a nota simple request plus the URL to view or download the PDF once ready. It is clearly distinguishable from the sibling nota_simple_pedir (which creates the request), though it does not name those siblings explicitly.

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

Usage Guidelines3/5

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

Usage is implied rather than stated: the agent must infer this is the tool to poll after calling nota_simple_pedir. It does surface the precondition of an account with scope `notas:read`, but gives no explicit when-to-use/when-not guidance or alternative routing.

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

nota_simple_pedirPedir una nota simpleA
Idempotent
Inspect

Inicia el pedido de la nota simple registral de una subasta (20 €, retención: solo se cobra con PDF verificado). Requiere cuenta verificada (scope notas:write) y que la subasta tenga CRU/IDUFIR (not_orderable si no). Devuelve pedido_id y la url donde el usuario confirma el pago en el navegador (y, si el comercio para agentes está activo, paymentLink para pagarlo por MPP); el pago nunca se completa desde aquí. Idempotente: si ya hay un pedido vivo devuelve pedido_existente. Máximo 20 inmuebles al día.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesIdentificador público de la subasta (10 caracteres)

Output Schema

ParametersJSON Schema
NameRequiredDescription
ctaNo
urlYes
compraNo
pedido_idYes
disclosureNo
paymentLinkNo
precio_centsNo
siguiente_pasoYes

TDQS

A4.1/5.0
Behavior5/5

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

Adds substantial context beyond annotations: price and retention model, required auth scope, failure conditions, returned pedido_id/url, paymentLink behavior, the fact that payment is never completed here, idempotency semantics, and a daily limit. This is rich and consistent with readOnlyHint=false, idempotentHint=true, and destructiveHint=false.

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?

Information is front-loaded with the action, price, and prerequisites before return behavior and limits. It is dense but appropriately sized for a tool with several operational constraints, though the single semicolon-heavy sentence is not maximally readable.

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?

Covers cost, auth, prerequisites, failure modes, return identifiers, payment flow, idempotency, and rate limits. With an output schema present, no essential agent-facing behavior is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the single id parameter is already documented in the schema. The description mentions auction CRU/IDUFIR requirements but does not add syntax or format guidance beyond what the schema provides.

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

Purpose4/5

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

States a specific verb and resource: initiating the order for a registral nota simple of an auction. It is clear in isolation, but does not explicitly differentiate itself from siblings such as nota_simple_estado or notas_simples_listar.

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 clear preconditions: verified account with scope notas:write and auction with CRU/IDUFIR, plus the not_orderable failure condition. It does not explicitly name alternative tools or when another sibling should be used instead.

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

notas_simples_listarListar mis notas simplesA
Read-onlyIdempotent
Inspect

Pedidos de nota simple registral (20 €) con su estado. Requiere cuenta (scope notas:read). Paginada (pagina, por_pagina; máximo 20 por página); la respuesta incluye total, paginas y hasMore.

ParametersJSON Schema
NameRequiredDescriptionDefault
limiteNoAlias de `por_pagina` (número de resultados por página). Si indicas los dos, manda `por_pagina`.
paginaNoPágina (≥1; 1 por defecto)
por_paginaNoResultados por página (1..20; 20 por defecto)

Output Schema

ParametersJSON Schema
NameRequiredDescription
ctaNo
totalYes
paginaYes
hasMoreYes
paginasYes
pedidosYes
disclosureNo
por_paginaYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint/idempotentHint/openWorldHint=false, so the safety profile is covered. The description adds value beyond them: the required auth scope, the pagination regime with a hard cap of 20 per page, and the shape of the paging envelope (total, paginas, hasMore).

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?

Three tight semicolon-separated clauses with no filler: what it returns first, then the auth requirement, then pagination. Dense but well front-loaded and cheap to read.

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?

Auth, pagination limits and page-size constraint are all present, and an output schema exists so return values need no further explanation. The only real omission is routing relative to sibling tools, which is minor for a simple paginated list.

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

Parameters3/5

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

Schema description coverage is 100%, so pagina, por_pagina and the limite alias are already documented, including bounds and precedence. The description reinforces the max of 20 per page but does not document the limite alias, so it adds little beyond the schema. Baseline 3 is appropriate.

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

Purpose4/5

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

States a concrete verb (listar) applied to a concrete resource (pedidos de nota simple registral) and adds useful framing (price of 20 €, includes status). It is clearly distinguishable from nota_simple_pedir and nota_simple_estado by resource plurality, though it never names those siblings explicitly.

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

Usage Guidelines3/5

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

Gives one real precondition – an account with scope `notas:read` – which is genuine usage guidance. However it never states when to prefer this over sibling tools such as nota_simple_estado (single request status) or alertas_listar, so the agent must infer the boundary itself.

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

planesPlanes y precios de SubastechA
Read-onlyIdempotent
Inspect

Planes de Subastech (Radar gratuito, Starter, Pro, Team, Enterprise) con precios y comparativa de funciones. Pública, sin cuenta.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
ctaNo
urlYes
planesYes
disclosureNo
comparativaYes

TDQS

A3.9/5.0
Behavior4/5

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 the auth-relevant fact that the resource is public and requires no account, which the annotations do not state, making it a useful behavioral disclosure.

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?

A single dense sentence that front-loads the resource and lists the scope without any filler. Every clause carries information.

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?

An output schema exists, so return values need not be explained. The description covers the resource, scope, and access model adequately; only a hint about when an agent should prefer it over other informational siblings is missing.

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?

The tool takes zero parameters, so the baseline is 4. There is nothing for the description to clarify beyond what the empty schema already conveys.

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

Purpose4/5

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

States a specific resource (Subastech pricing plans) and enumerates the tiers covered, plus the content returned (precios y comparativa de funciones). It is clearly distinguishable from the auction/search siblings, though it does not explicitly name any sibling it differs from.

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

Usage Guidelines3/5

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

"Pública, sin cuenta" implies the context (consult pricing without authentication), but there is no explicit when-to-use or when-not-to-use guidance and no alternatives are named. Usage 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.

recomendacionesRecomendaciones para tiA
Read-onlyIdempotent
Inspect

Subastas recomendadas según tu historial (tipo, precio, provincias), como el bloque «para ti» de la web. Requiere cuenta (scope cuenta:read). Con plan Pro o superior usa el ranking por scoring; si no, se construye con tu perfil y orden por fecha de fin.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
ctaNo
notaNo
itemsYes
tituloNo
disclosureNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds real value beyond that: an auth requirement (scope `cuenta:read`) and the fact that output differs by plan (scoring-based for Pro+, profile + end-date ordering otherwise) — behavior an agent could not infer from structured fields.

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?

Three tight sentences, front-loaded with what the tool returns, then the access requirement, then the behavioral nuance. Each sentence adds distinct information with no repetition or filler.

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?

An output schema exists, so return shape need not be described, and annotations carry the safety profile. With auth scope and plan-dependent behavior documented, an agent has everything needed to decide to call it and predict the result set.

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?

The tool takes zero parameters and the schema is trivially complete, so there is nothing for the description to clarify. Baseline for a parameterless tool is 4.

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

Purpose4/5

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

States a specific verb+resource ('Subastas recomendadas') and the personalization basis ('según tu historial'), with the fields it draws on (tipo, precio, provincias) and the web equivalent ('para ti'). Clear enough to distinguish from generic search, though it never names a sibling like 'similares' or 'buscar_subastas' to sharpen the boundary.

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

Usage Guidelines3/5

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

Gives a prerequisite (account with scope `cuenta:read`) and explains the plan-dependent ranking, which implies when the tool is applicable. However, it never states when to prefer this over alternatives such as 'similares' or 'buscar_subastas', so selection guidance remains implied rather than explicit.

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

resultados_recientesAdjudicaciones recientesA
Read-onlyIdempotent
Inspect

Últimas subastas del BOE con resultado oficial (adjudicadas), opcionalmente por provincia, con el remate y el descuento real sobre la tasación (aritmética del BOE). Pública, sin cuenta. Máximo 15.

ParametersJSON Schema
NameRequiredDescriptionDefault
limiteNoMáximo 15
provinciaNoSlug en minúsculas (p. ej. `madrid`)

Output Schema

ParametersJSON Schema
NameRequiredDescription
ctaNo
itemsYes
disclosureNo

TDQS

A3.7/5.0
Behavior4/5

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. The description still adds real context: no account required, results are official BOE data, the returned discount is computed by BOE arithmetic, and the result set is capped at 15.

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?

A single dense sentence plus two short fragments ('Pública, sin cuenta. Máximo 15.'), front-loaded with the resource and its key qualifier. Minor redundancy in repeating 'Máximo 15' from the schema, but no wasted sentences.

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?

With an output schema present, return-value documentation is unnecessary, and the description covers what matters: data source, official-result filter, optional province scoping, public/no-account access, and the 15-item cap. Complete enough for an agent to invoke it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already explains both parameters, and the description mainly restates that provincia filtering is optional and that the cap is 15. Baseline 3 is appropriate since it adds little beyond what the schema provides.

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

Purpose4/5

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

States a specific resource and scope: latest BOE auctions that have an official result (adjudicadas), optionally filtered by province, returning the hammer price and the real discount over the appraisal. An agent can distinguish this result-set from general search tools, though no sibling is named explicitly.

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

Usage Guidelines3/5

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

Usage is implied by 'Últimas subastas ... con resultado oficial (adjudicadas)' — use it when you want closed/finished auctions rather than open listings — and 'Pública, sin cuenta' tells the agent no auth is needed. However, no alternative tool (e.g. buscar_subastas, estadisticas_publicas) is named or excluded, leaving routing to inference.

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

similaresSubastas similaresA
Read-onlyIdempotent
Inspect

Subastas parecidas a una dada (mismo tipo de inmueble, banda de precio, cercanía). Requiere cuenta (scope informes:read). Con plan Pro o superior se ordenan por scoring (metodo: scoring); si no, por fecha de fin (metodo: publico).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesIdentificador público de la subasta (10 caracteres)
limiteNoNúmero máximo de subastas similares a devolver (1-10).

Output Schema

ParametersJSON Schema
NameRequiredDescription
ctaNo
baseYes
itemsYes
metodoYes
disclosureNo

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/safe. The description adds real behavioral context beyond them: it requires an account with scope `informes:read`, and the result ordering depends on plan tier (scoring for Pro+, end-date otherwise). The mention of `metodo:` values is slightly ambiguous since no such input parameter exists, but the auth and ordering disclosures are valuable.

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?

Three sentences, front-loaded with the core purpose and similarity criteria, then auth and ordering. Reasonably efficient, though the plan/ordering sentence is the most detail-heavy and slightly tangential.

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?

With an output schema present, return values need not be explained, and the description covers the key non-obvious facts an agent needs: auth scope and tier-dependent ordering. It is close to complete for this simple two-parameter read tool, with only the misleading `metodo` reference as a minor blemish.

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

Parameters3/5

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 `id` (with pattern) and `limite` (1-10). The description adds no syntax or format detail beyond it, and the `metodo` tokens it references are not actual parameters, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource ('Subastas parecidas a una dada') and even enumerates the similarity dimensions (mismo tipo de inmueble, banda de precio, cercanía), so the agent understands the operation without opening the schema. It does not explicitly differentiate itself from siblings like buscar_subastas or subasta, keeping it short of a 5.

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

Usage Guidelines3/5

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

Usage is only implied: the tool finds auctions similar to a given one. There is no explicit when-to-use vs when-not guidance nor any named alternative (e.g. buscar_subastas for general search), so the agent must infer the routing.

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

subastaFicha de una subastaA
Read-onlyIdempotent
Inspect

Ficha pública de una subasta del BOE por identificador (10 caracteres), URL de app.subastech.com o identificador BOE (SUB-…): dirección, valores, fechas, resultado, lotes y un resumen citable. Pública, sin cuenta. El scoring, veredicto, cargas, ROI, valoración e intervinientes requieren cuenta y plan Pro o superior; si algo está cerrado se devuelve locked con upgradeUrl.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoIdentificador público de la subasta (10 caracteres)
urlNoURL de la ficha en app.subastech.com
boe_idNoIdentificador del BOE (p. ej. `SUB-JA-2026-123456`): devuelve todos los lotes

Output Schema

ParametersJSON Schema
NameRequiredDescription
ctaNo
lotesNo
lockedNo
resumenYesFrase citable con los datos del BOE
subastaYes
disclosureNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnly, idempotent, non-destructive, closed-world), but the description adds genuinely useful behavior beyond them: the tool is public with no account, several sections (scoring, veredicto, cargas, ROI, valoración, intervinientes) are tier-gated behind Pro, and gated content is signaled via 'locked' plus 'upgradeUrl' rather than erroring. That partial-result contract is exactly the kind of detail annotations cannot express.

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?

Two dense sentences that lead with the resource and lookup keys before the access/tier caveat. Every clause carries information (fields returned, public access, Pro gating, locked contract), with no filler. It is packed but not padded.

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?

With an output schema present and annotations covering safety, the description only needs to add access, identification and gating context — and it does all three. An agent knows how to identify the auction, what it may get back, and what a gated response looks like, so nothing material is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the meaning, pattern and max length of id, url and boe_id are already documented — including that boe_id 'devuelve todos los lotes'. The description restates the 10-character id form and lists the same lookup modes without adding format, precedence, or whether at least one parameter must be supplied. Baseline 3 applies.

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

Purpose4/5

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

States a concrete resource (ficha pública de una subasta del BOE) and the three ways to identify it (10-char id, app.subastech.com URL, SUB- BOE id), then enumerates the returned fields. It implicitly separates itself from paid siblings like analisis_subasta by declaring 'pública, sin cuenta' versus the Pro-only scoring/veredicto. No sibling is named outright, but an agent can distinguish it without opening other schemas.

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

Usage Guidelines3/5

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

Gives real usage context: no account required, lookup by id/url/boe_id, and the behavior when a section is gated ('se devuelve locked con upgradeUrl'). However it never states when to prefer this over buscar_subastas, buscar_por_codigo or analisis_subasta, so routing between siblings 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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 10 tool updates
    • Changedalertas_previsualizar2 fields changed
      • addedOutput schema / properties / muestra / items / properties / cadastralReview
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / muestra / items / required
        Previous value: -[
        -  "id",
        -  "type",
        -  "isNew",
        -  "title",
        -  "address",
        -  "municipio",
        -  "provincia",
        -  "cp",
        -  "ref",
        -  "provinceSlug",
        -  "municipalitySlug",
        -  "end",
        -  "contentUpdatedAt",
        -  "daysLeft",
        -  "valueAuction",
        -  "valueM2",
        -  "minimumBid",
        -  "deposit",
        -  "appraisal",
        -  "occupied",
        -  "discount",
        -  "m2",
        -  "status",
        -  "cadastral",
        -  "imageUrl",
        -  "lat",
        -  "lon",
        -  "lot",
        -  "finalBid",
        -  "resultStatus",
        -  "closedAt",
        -  "phase",
        -  "url",
        -  "links",
        -  "fuente"
        -]New value: +[
        +  "id",
        +  "type",
        +  "isNew",
        +  "title",
        +  "address",
        +  "municipio",
        +  "provincia",
        +  "cp",
        +  "ref",
        +  "provinceSlug",
        +  "municipalitySlug",
        +  "end",
        +  "contentUpdatedAt",
        +  "daysLeft",
        +  "valueAuction",
        +  "valueM2",
        +  "minimumBid",
        +  "deposit",
        +  "appraisal",
        +  "occupied",
        +  "discount",
        +  "m2",
        +  "status",
        +  "cadastral",
        +  "cadastralReview",
        +  "imageUrl",
        +  "lat",
        +  "lon",
        +  "lot",
        +  "finalBid",
        +  "resultStatus",
        +  "closedAt",
        +  "phase",
        +  "url",
        +  "links",
        +  "fuente"
        +]
    • Changedanalisis_subasta3 fields changed
      • changedOutput schema / properties / subasta / properties / axes / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": {},
        -    "properties": {
        -      "cargas": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "posesion": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "rentab": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "titularidad": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "cargas",
        -      "posesion",
        -      "rentab",
        -      "titularidad"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": {},
        +    "properties": {
        +      "cargas": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "cargasMotivo": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "posesion": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "rentab": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "titularidad": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      }
        +    },
        +    "required": [
        +      "cargas",
        +      "posesion",
        +      "rentab",
        +      "titularidad"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / subasta / properties / cadastralReview
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / subasta / required
        Previous value: -[
        -  "id",
        -  "type",
        -  "isNew",
        -  "title",
        -  "address",
        -  "municipio",
        -  "provincia",
        -  "cp",
        -  "ref",
        -  "provinceSlug",
        -  "municipalitySlug",
        -  "end",
        -  "contentUpdatedAt",
        -  "daysLeft",
        -  "valueAuction",
        -  "valueM2",
        -  "minimumBid",
        -  "deposit",
        -  "appraisal",
        -  "occupied",
        -  "discount",
        -  "m2",
        -  "status",
        -  "cadastral",
        -  "imageUrl",
        -  "lat",
        -  "lon",
        -  "lot",
        -  "finalBid",
        -  "resultStatus",
        -  "closedAt",
        -  "phase",
        -  "url",
        -  "links",
        -  "fuente"
        -]New value: +[
        +  "id",
        +  "type",
        +  "isNew",
        +  "title",
        +  "address",
        +  "municipio",
        +  "provincia",
        +  "cp",
        +  "ref",
        +  "provinceSlug",
        +  "municipalitySlug",
        +  "end",
        +  "contentUpdatedAt",
        +  "daysLeft",
        +  "valueAuction",
        +  "valueM2",
        +  "minimumBid",
        +  "deposit",
        +  "appraisal",
        +  "occupied",
        +  "discount",
        +  "m2",
        +  "status",
        +  "cadastral",
        +  "cadastralReview",
        +  "imageUrl",
        +  "lat",
        +  "lon",
        +  "lot",
        +  "finalBid",
        +  "resultStatus",
        +  "closedAt",
        +  "phase",
        +  "url",
        +  "links",
        +  "fuente"
        +]
    • Changedbuscar_por_codigo2 fields changed
      • addedOutput schema / properties / items / items / properties / cadastralReview
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / items / items / required
        Previous value: -[
        -  "id",
        -  "type",
        -  "isNew",
        -  "title",
        -  "address",
        -  "municipio",
        -  "provincia",
        -  "cp",
        -  "ref",
        -  "provinceSlug",
        -  "municipalitySlug",
        -  "end",
        -  "contentUpdatedAt",
        -  "daysLeft",
        -  "valueAuction",
        -  "valueM2",
        -  "minimumBid",
        -  "deposit",
        -  "appraisal",
        -  "occupied",
        -  "discount",
        -  "m2",
        -  "status",
        -  "cadastral",
        -  "imageUrl",
        -  "lat",
        -  "lon",
        -  "lot",
        -  "finalBid",
        -  "resultStatus",
        -  "closedAt",
        -  "phase",
        -  "url",
        -  "links",
        -  "fuente"
        -]New value: +[
        +  "id",
        +  "type",
        +  "isNew",
        +  "title",
        +  "address",
        +  "municipio",
        +  "provincia",
        +  "cp",
        +  "ref",
        +  "provinceSlug",
        +  "municipalitySlug",
        +  "end",
        +  "contentUpdatedAt",
        +  "daysLeft",
        +  "valueAuction",
        +  "valueM2",
        +  "minimumBid",
        +  "deposit",
        +  "appraisal",
        +  "occupied",
        +  "discount",
        +  "m2",
        +  "status",
        +  "cadastral",
        +  "cadastralReview",
        +  "imageUrl",
        +  "lat",
        +  "lon",
        +  "lot",
        +  "finalBid",
        +  "resultStatus",
        +  "closedAt",
        +  "phase",
        +  "url",
        +  "links",
        +  "fuente"
        +]
    • Changedbuscar_subastas2 fields changed
      • addedOutput schema / properties / items / items / properties / cadastralReview
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / items / items / required
        Previous value: -[
        -  "id",
        -  "type",
        -  "isNew",
        -  "title",
        -  "address",
        -  "municipio",
        -  "provincia",
        -  "cp",
        -  "ref",
        -  "provinceSlug",
        -  "municipalitySlug",
        -  "end",
        -  "contentUpdatedAt",
        -  "daysLeft",
        -  "valueAuction",
        -  "valueM2",
        -  "minimumBid",
        -  "deposit",
        -  "appraisal",
        -  "occupied",
        -  "discount",
        -  "m2",
        -  "status",
        -  "cadastral",
        -  "imageUrl",
        -  "lat",
        -  "lon",
        -  "lot",
        -  "finalBid",
        -  "resultStatus",
        -  "closedAt",
        -  "phase",
        -  "url",
        -  "links",
        -  "fuente"
        -]New value: +[
        +  "id",
        +  "type",
        +  "isNew",
        +  "title",
        +  "address",
        +  "municipio",
        +  "provincia",
        +  "cp",
        +  "ref",
        +  "provinceSlug",
        +  "municipalitySlug",
        +  "end",
        +  "contentUpdatedAt",
        +  "daysLeft",
        +  "valueAuction",
        +  "valueM2",
        +  "minimumBid",
        +  "deposit",
        +  "appraisal",
        +  "occupied",
        +  "discount",
        +  "m2",
        +  "status",
        +  "cadastral",
        +  "cadastralReview",
        +  "imageUrl",
        +  "lat",
        +  "lon",
        +  "lot",
        +  "finalBid",
        +  "resultStatus",
        +  "closedAt",
        +  "phase",
        +  "url",
        +  "links",
        +  "fuente"
        +]
    • Changedfavoritos_listar3 fields changed
      • changedOutput schema / properties / items / items / properties / axes / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": {},
        -    "properties": {
        -      "cargas": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "posesion": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "rentab": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "titularidad": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "cargas",
        -      "posesion",
        -      "rentab",
        -      "titularidad"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": {},
        +    "properties": {
        +      "cargas": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "cargasMotivo": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "posesion": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "rentab": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "titularidad": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      }
        +    },
        +    "required": [
        +      "cargas",
        +      "posesion",
        +      "rentab",
        +      "titularidad"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / items / items / properties / cadastralReview
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / items / items / required
        Previous value: -[
        -  "id",
        -  "type",
        -  "isNew",
        -  "title",
        -  "address",
        -  "municipio",
        -  "provincia",
        -  "cp",
        -  "ref",
        -  "provinceSlug",
        -  "municipalitySlug",
        -  "end",
        -  "contentUpdatedAt",
        -  "daysLeft",
        -  "valueAuction",
        -  "valueM2",
        -  "minimumBid",
        -  "deposit",
        -  "appraisal",
        -  "occupied",
        -  "discount",
        -  "m2",
        -  "status",
        -  "cadastral",
        -  "imageUrl",
        -  "lat",
        -  "lon",
        -  "lot",
        -  "finalBid",
        -  "resultStatus",
        -  "closedAt",
        -  "phase",
        -  "url",
        -  "links",
        -  "fuente"
        -]New value: +[
        +  "id",
        +  "type",
        +  "isNew",
        +  "title",
        +  "address",
        +  "municipio",
        +  "provincia",
        +  "cp",
        +  "ref",
        +  "provinceSlug",
        +  "municipalitySlug",
        +  "end",
        +  "contentUpdatedAt",
        +  "daysLeft",
        +  "valueAuction",
        +  "valueM2",
        +  "minimumBid",
        +  "deposit",
        +  "appraisal",
        +  "occupied",
        +  "discount",
        +  "m2",
        +  "status",
        +  "cadastral",
        +  "cadastralReview",
        +  "imageUrl",
        +  "lat",
        +  "lon",
        +  "lot",
        +  "finalBid",
        +  "resultStatus",
        +  "closedAt",
        +  "phase",
        +  "url",
        +  "links",
        +  "fuente"
        +]
    • Changedinforme3 fields changed
      • changedOutput schema / properties / subasta / properties / axes / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": {},
        -    "properties": {
        -      "cargas": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "posesion": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "rentab": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "titularidad": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "cargas",
        -      "posesion",
        -      "rentab",
        -      "titularidad"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": {},
        +    "properties": {
        +      "cargas": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "cargasMotivo": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "posesion": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "rentab": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "titularidad": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      }
        +    },
        +    "required": [
        +      "cargas",
        +      "posesion",
        +      "rentab",
        +      "titularidad"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / subasta / properties / cadastralReview
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / subasta / required
        Previous value: -[
        -  "id",
        -  "type",
        -  "isNew",
        -  "title",
        -  "address",
        -  "municipio",
        -  "provincia",
        -  "cp",
        -  "ref",
        -  "provinceSlug",
        -  "municipalitySlug",
        -  "end",
        -  "contentUpdatedAt",
        -  "daysLeft",
        -  "valueAuction",
        -  "valueM2",
        -  "minimumBid",
        -  "deposit",
        -  "appraisal",
        -  "occupied",
        -  "discount",
        -  "m2",
        -  "status",
        -  "cadastral",
        -  "imageUrl",
        -  "lat",
        -  "lon",
        -  "lot",
        -  "finalBid",
        -  "resultStatus",
        -  "closedAt",
        -  "phase",
        -  "url",
        -  "links",
        -  "fuente"
        -]New value: +[
        +  "id",
        +  "type",
        +  "isNew",
        +  "title",
        +  "address",
        +  "municipio",
        +  "provincia",
        +  "cp",
        +  "ref",
        +  "provinceSlug",
        +  "municipalitySlug",
        +  "end",
        +  "contentUpdatedAt",
        +  "daysLeft",
        +  "valueAuction",
        +  "valueM2",
        +  "minimumBid",
        +  "deposit",
        +  "appraisal",
        +  "occupied",
        +  "discount",
        +  "m2",
        +  "status",
        +  "cadastral",
        +  "cadastralReview",
        +  "imageUrl",
        +  "lat",
        +  "lon",
        +  "lot",
        +  "finalBid",
        +  "resultStatus",
        +  "closedAt",
        +  "phase",
        +  "url",
        +  "links",
        +  "fuente"
        +]
    • Changedrecomendaciones3 fields changed
      • changedOutput schema / properties / items / items / properties / axes / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": {},
        -    "properties": {
        -      "cargas": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "posesion": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "rentab": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "titularidad": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "cargas",
        -      "posesion",
        -      "rentab",
        -      "titularidad"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": {},
        +    "properties": {
        +      "cargas": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "cargasMotivo": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "posesion": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "rentab": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "titularidad": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      }
        +    },
        +    "required": [
        +      "cargas",
        +      "posesion",
        +      "rentab",
        +      "titularidad"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / items / items / properties / cadastralReview
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / items / items / required
        Previous value: -[
        -  "id",
        -  "type",
        -  "isNew",
        -  "title",
        -  "address",
        -  "municipio",
        -  "provincia",
        -  "cp",
        -  "ref",
        -  "provinceSlug",
        -  "municipalitySlug",
        -  "end",
        -  "contentUpdatedAt",
        -  "daysLeft",
        -  "valueAuction",
        -  "valueM2",
        -  "minimumBid",
        -  "deposit",
        -  "appraisal",
        -  "occupied",
        -  "discount",
        -  "m2",
        -  "status",
        -  "cadastral",
        -  "imageUrl",
        -  "lat",
        -  "lon",
        -  "lot",
        -  "finalBid",
        -  "resultStatus",
        -  "closedAt",
        -  "phase",
        -  "url",
        -  "links",
        -  "fuente"
        -]New value: +[
        +  "id",
        +  "type",
        +  "isNew",
        +  "title",
        +  "address",
        +  "municipio",
        +  "provincia",
        +  "cp",
        +  "ref",
        +  "provinceSlug",
        +  "municipalitySlug",
        +  "end",
        +  "contentUpdatedAt",
        +  "daysLeft",
        +  "valueAuction",
        +  "valueM2",
        +  "minimumBid",
        +  "deposit",
        +  "appraisal",
        +  "occupied",
        +  "discount",
        +  "m2",
        +  "status",
        +  "cadastral",
        +  "cadastralReview",
        +  "imageUrl",
        +  "lat",
        +  "lon",
        +  "lot",
        +  "finalBid",
        +  "resultStatus",
        +  "closedAt",
        +  "phase",
        +  "url",
        +  "links",
        +  "fuente"
        +]
    • Changedresultados_recientes2 fields changed
      • addedOutput schema / properties / items / items / properties / cadastralReview
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / items / items / required
        Previous value: -[
        -  "id",
        -  "type",
        -  "isNew",
        -  "title",
        -  "address",
        -  "municipio",
        -  "provincia",
        -  "cp",
        -  "ref",
        -  "provinceSlug",
        -  "municipalitySlug",
        -  "end",
        -  "contentUpdatedAt",
        -  "daysLeft",
        -  "valueAuction",
        -  "valueM2",
        -  "minimumBid",
        -  "deposit",
        -  "appraisal",
        -  "occupied",
        -  "discount",
        -  "m2",
        -  "status",
        -  "cadastral",
        -  "imageUrl",
        -  "lat",
        -  "lon",
        -  "lot",
        -  "finalBid",
        -  "resultStatus",
        -  "closedAt",
        -  "phase",
        -  "url",
        -  "links",
        -  "fuente",
        -  "remate",
        -  "descuento_real_pct"
        -]New value: +[
        +  "id",
        +  "type",
        +  "isNew",
        +  "title",
        +  "address",
        +  "municipio",
        +  "provincia",
        +  "cp",
        +  "ref",
        +  "provinceSlug",
        +  "municipalitySlug",
        +  "end",
        +  "contentUpdatedAt",
        +  "daysLeft",
        +  "valueAuction",
        +  "valueM2",
        +  "minimumBid",
        +  "deposit",
        +  "appraisal",
        +  "occupied",
        +  "discount",
        +  "m2",
        +  "status",
        +  "cadastral",
        +  "cadastralReview",
        +  "imageUrl",
        +  "lat",
        +  "lon",
        +  "lot",
        +  "finalBid",
        +  "resultStatus",
        +  "closedAt",
        +  "phase",
        +  "url",
        +  "links",
        +  "fuente",
        +  "remate",
        +  "descuento_real_pct"
        +]
    • Changedsimilares6 fields changed
      • changedOutput schema / properties / base / properties / axes / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": {},
        -    "properties": {
        -      "cargas": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "posesion": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "rentab": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "titularidad": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "cargas",
        -      "posesion",
        -      "rentab",
        -      "titularidad"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": {},
        +    "properties": {
        +      "cargas": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "cargasMotivo": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "posesion": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "rentab": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "titularidad": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      }
        +    },
        +    "required": [
        +      "cargas",
        +      "posesion",
        +      "rentab",
        +      "titularidad"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / base / properties / cadastralReview
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / base / required
        Previous value: -[
        -  "id",
        -  "type",
        -  "isNew",
        -  "title",
        -  "address",
        -  "municipio",
        -  "provincia",
        -  "cp",
        -  "ref",
        -  "provinceSlug",
        -  "municipalitySlug",
        -  "end",
        -  "contentUpdatedAt",
        -  "daysLeft",
        -  "valueAuction",
        -  "valueM2",
        -  "minimumBid",
        -  "deposit",
        -  "appraisal",
        -  "occupied",
        -  "discount",
        -  "m2",
        -  "status",
        -  "cadastral",
        -  "imageUrl",
        -  "lat",
        -  "lon",
        -  "lot",
        -  "finalBid",
        -  "resultStatus",
        -  "closedAt",
        -  "phase",
        -  "url",
        -  "links",
        -  "fuente"
        -]New value: +[
        +  "id",
        +  "type",
        +  "isNew",
        +  "title",
        +  "address",
        +  "municipio",
        +  "provincia",
        +  "cp",
        +  "ref",
        +  "provinceSlug",
        +  "municipalitySlug",
        +  "end",
        +  "contentUpdatedAt",
        +  "daysLeft",
        +  "valueAuction",
        +  "valueM2",
        +  "minimumBid",
        +  "deposit",
        +  "appraisal",
        +  "occupied",
        +  "discount",
        +  "m2",
        +  "status",
        +  "cadastral",
        +  "cadastralReview",
        +  "imageUrl",
        +  "lat",
        +  "lon",
        +  "lot",
        +  "finalBid",
        +  "resultStatus",
        +  "closedAt",
        +  "phase",
        +  "url",
        +  "links",
        +  "fuente"
        +]
      • changedOutput schema / properties / items / items / properties / axes / anyOf
        Previous value: -[
        -  {
        -    "additionalProperties": {},
        -    "properties": {
        -      "cargas": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "posesion": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "rentab": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      },
        -      "titularidad": {
        -        "anyOf": [
        -          {
        -            "type": "number"
        -          },
        -          {
        -            "type": "null"
        -          }
        -        ]
        -      }
        -    },
        -    "required": [
        -      "cargas",
        -      "posesion",
        -      "rentab",
        -      "titularidad"
        -    ],
        -    "type": "object"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "additionalProperties": {},
        +    "properties": {
        +      "cargas": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "cargasMotivo": {
        +        "anyOf": [
        +          {
        +            "type": "string"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "posesion": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "rentab": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      },
        +      "titularidad": {
        +        "anyOf": [
        +          {
        +            "type": "number"
        +          },
        +          {
        +            "type": "null"
        +          }
        +        ]
        +      }
        +    },
        +    "required": [
        +      "cargas",
        +      "posesion",
        +      "rentab",
        +      "titularidad"
        +    ],
        +    "type": "object"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • addedOutput schema / properties / items / items / properties / cadastralReview
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / items / items / required
        Previous value: -[
        -  "id",
        -  "type",
        -  "isNew",
        -  "title",
        -  "address",
        -  "municipio",
        -  "provincia",
        -  "cp",
        -  "ref",
        -  "provinceSlug",
        -  "municipalitySlug",
        -  "end",
        -  "contentUpdatedAt",
        -  "daysLeft",
        -  "valueAuction",
        -  "valueM2",
        -  "minimumBid",
        -  "deposit",
        -  "appraisal",
        -  "occupied",
        -  "discount",
        -  "m2",
        -  "status",
        -  "cadastral",
        -  "imageUrl",
        -  "lat",
        -  "lon",
        -  "lot",
        -  "finalBid",
        -  "resultStatus",
        -  "closedAt",
        -  "phase",
        -  "url",
        -  "links",
        -  "fuente"
        -]New value: +[
        +  "id",
        +  "type",
        +  "isNew",
        +  "title",
        +  "address",
        +  "municipio",
        +  "provincia",
        +  "cp",
        +  "ref",
        +  "provinceSlug",
        +  "municipalitySlug",
        +  "end",
        +  "contentUpdatedAt",
        +  "daysLeft",
        +  "valueAuction",
        +  "valueM2",
        +  "minimumBid",
        +  "deposit",
        +  "appraisal",
        +  "occupied",
        +  "discount",
        +  "m2",
        +  "status",
        +  "cadastral",
        +  "cadastralReview",
        +  "imageUrl",
        +  "lat",
        +  "lon",
        +  "lot",
        +  "finalBid",
        +  "resultStatus",
        +  "closedAt",
        +  "phase",
        +  "url",
        +  "links",
        +  "fuente"
        +]
    • Changedsubasta4 fields changed
      • addedOutput schema / properties / lotes / items / properties / cadastralReview
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / lotes / items / required
        Previous value: -[
        -  "id",
        -  "type",
        -  "isNew",
        -  "title",
        -  "address",
        -  "municipio",
        -  "provincia",
        -  "cp",
        -  "ref",
        -  "provinceSlug",
        -  "municipalitySlug",
        -  "end",
        -  "contentUpdatedAt",
        -  "daysLeft",
        -  "valueAuction",
        -  "valueM2",
        -  "minimumBid",
        -  "deposit",
        -  "appraisal",
        -  "occupied",
        -  "discount",
        -  "m2",
        -  "status",
        -  "cadastral",
        -  "imageUrl",
        -  "lat",
        -  "lon",
        -  "lot",
        -  "finalBid",
        -  "resultStatus",
        -  "closedAt",
        -  "phase",
        -  "url",
        -  "links",
        -  "fuente"
        -]New value: +[
        +  "id",
        +  "type",
        +  "isNew",
        +  "title",
        +  "address",
        +  "municipio",
        +  "provincia",
        +  "cp",
        +  "ref",
        +  "provinceSlug",
        +  "municipalitySlug",
        +  "end",
        +  "contentUpdatedAt",
        +  "daysLeft",
        +  "valueAuction",
        +  "valueM2",
        +  "minimumBid",
        +  "deposit",
        +  "appraisal",
        +  "occupied",
        +  "discount",
        +  "m2",
        +  "status",
        +  "cadastral",
        +  "cadastralReview",
        +  "imageUrl",
        +  "lat",
        +  "lon",
        +  "lot",
        +  "finalBid",
        +  "resultStatus",
        +  "closedAt",
        +  "phase",
        +  "url",
        +  "links",
        +  "fuente"
        +]
      • addedOutput schema / properties / subasta / properties / cadastralReview
        Added value: +{
        +  "anyOf": [
        +    {
        +      "type": "string"
        +    },
        +    {
        +      "type": "null"
        +    }
        +  ]
        +}
      • changedOutput schema / properties / subasta / required
        Previous value: -[
        -  "id",
        -  "type",
        -  "isNew",
        -  "title",
        -  "address",
        -  "municipio",
        -  "provincia",
        -  "cp",
        -  "ref",
        -  "provinceSlug",
        -  "municipalitySlug",
        -  "end",
        -  "contentUpdatedAt",
        -  "daysLeft",
        -  "valueAuction",
        -  "valueM2",
        -  "minimumBid",
        -  "deposit",
        -  "appraisal",
        -  "occupied",
        -  "discount",
        -  "m2",
        -  "status",
        -  "cadastral",
        -  "imageUrl",
        -  "lat",
        -  "lon",
        -  "lot",
        -  "finalBid",
        -  "resultStatus",
        -  "closedAt",
        -  "phase",
        -  "url",
        -  "links",
        -  "fuente"
        -]New value: +[
        +  "id",
        +  "type",
        +  "isNew",
        +  "title",
        +  "address",
        +  "municipio",
        +  "provincia",
        +  "cp",
        +  "ref",
        +  "provinceSlug",
        +  "municipalitySlug",
        +  "end",
        +  "contentUpdatedAt",
        +  "daysLeft",
        +  "valueAuction",
        +  "valueM2",
        +  "minimumBid",
        +  "deposit",
        +  "appraisal",
        +  "occupied",
        +  "discount",
        +  "m2",
        +  "status",
        +  "cadastral",
        +  "cadastralReview",
        +  "imageUrl",
        +  "lat",
        +  "lon",
        +  "lot",
        +  "finalBid",
        +  "resultStatus",
        +  "closedAt",
        +  "phase",
        +  "url",
        +  "links",
        +  "fuente"
        +]
  2. 5 tool updates
    • Removedcancel_checkout
    • Removedcomplete_checkout
    • Removedcreate_checkout
    • Removedget_checkout
    • Removedupdate_checkout
  3. 10 tool updates
    • Changedalertas_previsualizar1 field changed
      • changedOutput schema / properties / muestra / items / properties / phase / enum
        Previous value: -[
        -  "activa",
        -  "historica",
        -  "descartada"
        -]New value: +[
        +  "activa",
        +  "historica",
        +  "descartada",
        +  "suspendida"
        +]
    • Changedanalisis_subasta1 field changed
      • changedOutput schema / properties / subasta / properties / phase / enum
        Previous value: -[
        -  "activa",
        -  "historica",
        -  "descartada"
        -]New value: +[
        +  "activa",
        +  "historica",
        +  "descartada",
        +  "suspendida"
        +]
    • Changedbuscar_por_codigo1 field changed
      • changedOutput schema / properties / items / items / properties / phase / enum
        Previous value: -[
        -  "activa",
        -  "historica",
        -  "descartada"
        -]New value: +[
        +  "activa",
        +  "historica",
        +  "descartada",
        +  "suspendida"
        +]
    • Changedbuscar_subastas1 field changed
      • changedOutput schema / properties / items / items / properties / phase / enum
        Previous value: -[
        -  "activa",
        -  "historica",
        -  "descartada"
        -]New value: +[
        +  "activa",
        +  "historica",
        +  "descartada",
        +  "suspendida"
        +]
    • Changedfavoritos_listar1 field changed
      • changedOutput schema / properties / items / items / properties / phase / enum
        Previous value: -[
        -  "activa",
        -  "historica",
        -  "descartada"
        -]New value: +[
        +  "activa",
        +  "historica",
        +  "descartada",
        +  "suspendida"
        +]
    • Changedinforme1 field changed
      • changedOutput schema / properties / subasta / properties / phase / enum
        Previous value: -[
        -  "activa",
        -  "historica",
        -  "descartada"
        -]New value: +[
        +  "activa",
        +  "historica",
        +  "descartada",
        +  "suspendida"
        +]
    • Changedrecomendaciones1 field changed
      • changedOutput schema / properties / items / items / properties / phase / enum
        Previous value: -[
        -  "activa",
        -  "historica",
        -  "descartada"
        -]New value: +[
        +  "activa",
        +  "historica",
        +  "descartada",
        +  "suspendida"
        +]
    • Changedresultados_recientes1 field changed
      • changedOutput schema / properties / items / items / properties / phase / enum
        Previous value: -[
        -  "activa",
        -  "historica",
        -  "descartada"
        -]New value: +[
        +  "activa",
        +  "historica",
        +  "descartada",
        +  "suspendida"
        +]
    • Changedsimilares2 fields changed
      • changedOutput schema / properties / base / properties / phase / enum
        Previous value: -[
        -  "activa",
        -  "historica",
        -  "descartada"
        -]New value: +[
        +  "activa",
        +  "historica",
        +  "descartada",
        +  "suspendida"
        +]
      • changedOutput schema / properties / items / items / properties / phase / enum
        Previous value: -[
        -  "activa",
        -  "historica",
        -  "descartada"
        -]New value: +[
        +  "activa",
        +  "historica",
        +  "descartada",
        +  "suspendida"
        +]
    • Changedsubasta2 fields changed
      • changedOutput schema / properties / lotes / items / properties / phase / enum
        Previous value: -[
        -  "activa",
        -  "historica",
        -  "descartada"
        -]New value: +[
        +  "activa",
        +  "historica",
        +  "descartada",
        +  "suspendida"
        +]
      • changedOutput schema / properties / subasta / properties / phase / enum
        Previous value: -[
        -  "activa",
        -  "historica",
        -  "descartada"
        -]New value: +[
        +  "activa",
        +  "historica",
        +  "descartada",
        +  "suspendida"
        +]
  4. 27 tool updates
    • Changedalertas_activar1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedalertas_crear3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / criterios / additionalProperties
        Added value: +false
      • addedInput schema / properties / quiet_hours / additionalProperties
        Added value: +false
    • Changedalertas_editar3 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / criterios / additionalProperties
        Added value: +false
      • addedInput schema / properties / quiet_hours / additionalProperties
        Added value: +false
    • Changedalertas_eliminar1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedalertas_listar10 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / limite
        Added value: +{
        +  "description": "Alias de `por_pagina` (número de resultados por página). Si indicas los dos, manda `por_pagina`.",
        +  "maximum": 20,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / pagina
        Added value: +{
        +  "description": "Página (≥1; 1 por defecto)",
        +  "maximum": 50,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / por_pagina
        Added value: +{
        +  "description": "Resultados por página (1..20; 20 por defecto)",
        +  "maximum": 20,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / hasMore
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / pagina
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / paginas
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / por_pagina
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / total
        Added value: +{
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "alertas"
        -]New value: +[
        +  "alertas",
        +  "pagina",
        +  "por_pagina",
        +  "total",
        +  "paginas",
        +  "hasMore"
        +]
    • Changedalertas_previsualizar2 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / criterios / additionalProperties
        Added value: +false
    • Changedanalisis_subasta1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedbuscar_por_codigo1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedbuscar_subastas4 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / bbox / additionalProperties
        Added value: +false
      • addedInput schema / properties / cerca / additionalProperties
        Added value: +false
      • addedInput schema / properties / limite
        Added value: +{
        +  "description": "Alias de `por_pagina` (número de resultados por página). Si indicas los dos, manda `por_pagina`.",
        +  "maximum": 20,
        +  "minimum": 1,
        +  "type": "integer"
        +}
    • Changedestadisticas_publicas1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedexplicar_concepto1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedfavoritos_anadir1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedfavoritos_listar10 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / limite
        Added value: +{
        +  "description": "Alias de `por_pagina` (número de resultados por página). Si indicas los dos, manda `por_pagina`.",
        +  "maximum": 20,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / pagina
        Added value: +{
        +  "description": "Página (≥1; 1 por defecto)",
        +  "maximum": 50,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / por_pagina
        Added value: +{
        +  "description": "Resultados por página (1..20; 20 por defecto)",
        +  "maximum": 20,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / hasMore
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / pagina
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / paginas
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / por_pagina
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / total
        Added value: +{
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "items"
        -]New value: +[
        +  "items",
        +  "pagina",
        +  "por_pagina",
        +  "total",
        +  "paginas",
        +  "hasMore"
        +]
    • Changedfavoritos_quitar1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedfetch1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedinforme1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedmercado1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedmi_cuenta1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changednota_simple_estado1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changednota_simple_pedir1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changednotas_simples_listar10 fields changed
      • addedInput schema / additionalProperties
        Added value: +false
      • addedInput schema / properties / limite
        Added value: +{
        +  "description": "Alias de `por_pagina` (número de resultados por página). Si indicas los dos, manda `por_pagina`.",
        +  "maximum": 20,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / pagina
        Added value: +{
        +  "description": "Página (≥1; 1 por defecto)",
        +  "maximum": 50,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedInput schema / properties / por_pagina
        Added value: +{
        +  "description": "Resultados por página (1..20; 20 por defecto)",
        +  "maximum": 20,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / hasMore
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / pagina
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / paginas
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / por_pagina
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / total
        Added value: +{
        +  "type": "number"
        +}
      • changedOutput schema / required
        Previous value: -[
        -  "pedidos"
        -]New value: +[
        +  "pedidos",
        +  "pagina",
        +  "por_pagina",
        +  "total",
        +  "paginas",
        +  "hasMore"
        +]
    • Changedplanes1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedrecomendaciones1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedresultados_recientes1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedsearch1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedsimilares1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
    • Changedsubasta1 field changed
      • addedInput schema / additionalProperties
        Added value: +false
  5. 12 tool updates
    • Changedalertas_activar2 fields changed
      • addedInput schema / properties / activa / description
        Added value: +"`true` reanuda la alerta; `false` la pausa sin borrarla."
      • addedInput schema / properties / id / description
        Added value: +"Identificador de la alerta (de `alertas_listar`)."
    • Changedalertas_crear2 fields changed
      • addedInput schema / properties / criterios / description
        Added value: +"Filtros que debe cumplir una subasta para disparar la alerta: provincias, municipios, tipo de inmueble, precio, superficie y ocupación."
      • addedInput schema / properties / quiet_hours / description
        Added value: +"Franja en la que no se envían avisos. `paused` la desactiva; `from` y `to` en formato HH:MM; `days` con 0 = domingo … 6 = sábado."
    • Changedalertas_editar3 fields changed
      • addedInput schema / properties / criterios / description
        Added value: +"Filtros que debe cumplir una subasta para disparar la alerta: provincias, municipios, tipo de inmueble, precio, superficie y ocupación."
      • addedInput schema / properties / id / description
        Added value: +"Identificador de la alerta a modificar (de `alertas_listar`)."
      • addedInput schema / properties / quiet_hours / description
        Added value: +"Franja en la que no se envían avisos. `paused` la desactiva; `from` y `to` en formato HH:MM; `days` con 0 = domingo … 6 = sábado."
    • Changedalertas_eliminar1 field changed
      • addedInput schema / properties / id / description
        Added value: +"Identificador de la alerta a eliminar (de `alertas_listar`)."
    • Changedalertas_previsualizar1 field changed
      • addedInput schema / properties / criterios / description
        Added value: +"Filtros que debe cumplir una subasta para disparar la alerta: provincias, municipios, tipo de inmueble, precio, superficie y ocupación."
    • Changedcancel_checkout2 fields changed
      • addedInput schema / properties / id / description
        Added value: +"Identificador de la sesión de checkout a cancelar (de create_checkout)."
      • addedInput schema / properties / meta / description
        Added value: +"Metadatos de la llamada UCP: `ucp-agent` identifica la plataforma y es obligatorio; `idempotency-key` (UUID) lo es en complete_checkout y cancel_checkout."
    • Changedcomplete_checkout3 fields changed
      • addedInput schema / properties / checkout / description
        Added value: +"Datos finales del pedido si han cambiado. Aquí viaja la credencial de pago: un Shared Payment Token de Stripe en `payment.instruments[]` se cobra al instante."
      • addedInput schema / properties / id / description
        Added value: +"Identificador de la sesión de checkout a completar (de create_checkout)."
      • addedInput schema / properties / meta / description
        Added value: +"Metadatos de la llamada UCP: `ucp-agent` identifica la plataforma y es obligatorio; `idempotency-key` (UUID) lo es en complete_checkout y cancel_checkout."
    • Changedcreate_checkout2 fields changed
      • addedInput schema / properties / checkout / description
        Added value: +"Contenido del pedido: `line_items` con los productos del catálogo (1-10) y, opcionalmente, `buyer` y `payment`."
      • addedInput schema / properties / meta / description
        Added value: +"Metadatos de la llamada UCP: `ucp-agent` identifica la plataforma y es obligatorio; `idempotency-key` (UUID) lo es en complete_checkout y cancel_checkout."
    • Changedget_checkout2 fields changed
      • addedInput schema / properties / id / description
        Added value: +"Identificador de la sesión de checkout a consultar (de create_checkout)."
      • addedInput schema / properties / meta / description
        Added value: +"Metadatos de la llamada UCP: `ucp-agent` identifica la plataforma y es obligatorio; `idempotency-key` (UUID) lo es en complete_checkout y cancel_checkout."
    • Changednota_simple_estado1 field changed
      • addedInput schema / properties / pedido_id / description
        Added value: +"Identificador del pedido devuelto por `nota_simple_pedir`."
    • Changedsimilares1 field changed
      • addedInput schema / properties / limite / description
        Added value: +"Número máximo de subastas similares a devolver (1-10)."
    • Changedupdate_checkout3 fields changed
      • addedInput schema / properties / checkout / description
        Added value: +"Nuevo contenido del pedido, que sustituye al de la sesión abierta."
      • addedInput schema / properties / id / description
        Added value: +"Identificador de la sesión de checkout a modificar (de create_checkout)."
      • addedInput schema / properties / meta / description
        Added value: +"Metadatos de la llamada UCP: `ucp-agent` identifica la plataforma y es obligatorio; `idempotency-key` (UUID) lo es en complete_checkout y cancel_checkout."
  6. 32 tool updates
    • First observedalertas_activar
    • First observedalertas_crear
    • First observedalertas_editar
    • First observedalertas_eliminar
    • First observedalertas_listar
    • First observedalertas_previsualizar
    • First observedanalisis_subasta
    • First observedbuscar_por_codigo
    • First observedbuscar_subastas
    • First observedcancel_checkout
    • First observedcomplete_checkout
    • First observedcreate_checkout
    • First observedestadisticas_publicas
    • First observedexplicar_concepto
    • First observedfavoritos_anadir
    • First observedfavoritos_listar
    • First observedfavoritos_quitar
    • First observedfetch
    • First observedget_checkout
    • First observedinforme
    • First observedmercado
    • First observedmi_cuenta
    • First observednota_simple_estado
    • First observednota_simple_pedir
    • First observednotas_simples_listar
    • First observedplanes
    • First observedrecomendaciones
    • First observedresultados_recientes
    • First observedsearch
    • First observedsimilares
    • First observedsubasta
    • First observedupdate_checkout

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for Spain's official BOE auction portal: search judicial foreclosures, notarial and tax-agency auctions, get consolidated per-auction detail (assets, lots, bids, authority contacts) and computed legal thresholds (art. 671 LEC). Clean JSON, GDPR-safe, no headless browser.
    3
    AGPL 3.0
  • A
    license
    A
    quality
    B
    maintenance
    Enables 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.
    10
    358 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI assistants and agents to query Spanish public statistics from INE, official BOE publications, and Catastro property data via typed, read-only tools with structured, source-citable results.
    8
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Search Spanish companies, directors and corporate relationships from official BORME registry filings — ~3.2M companies since 2009. Read-only, anonymous.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources