Skip to main content
Glama

meskeIA MCP

Server Details

160+ calculadoras fiscales, financieras, laborales y de salud en español. Cubre IRPF, autónomos, hipotecas, sucesiones, nóminas, inversiones, IMC y más. Compatible con Claude Desktop, Cursor, Windsurf. Gratuito, sin registro ni API key.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4/5 across 163 of 163 tools scored. Lowest: 3.1/5.

Server CoherenceA
Disambiguation5/5

Each tool has a very specific and distinct purpose with detailed descriptions, covering areas like taxes, labor, finance, and general calculations. There is minimal overlap; even similar-sounding tools like calcular_pension_desempleo and calcular_prestacion_cese_actividad are clearly for different recipients (employee vs. self-employed).

Naming Consistency3/5

The naming convention is mixed: most tools start with 'calcular_' but others use nouns like 'deduccion_vivienda' or 'dividendo_empresarial'. Some use verbs like 'comprar' or 'recomendar'. While all use snake_case, the lack of a uniform verb-first pattern reduces consistency.

Tool Count2/5

163 tools is excessively high for a single MCP server, far exceeding the typical 3-15 range. Even for a broad domain like Spanish taxation and finance, this number is overwhelming and likely to cause confusion for an agent.

Completeness4/5

The tool set is extremely comprehensive, covering nearly every aspect of Spanish tax, labor, and financial calculations, from IRPF to hipotecas to inheritances. Minor gaps may exist (e.g., very niche deductions), but overall it provides complete lifecycle coverage for its domain.

Available Tools

185 tools
calcular_1rm_gimnasioAInspect

Calcula la repetición máxima (1RM) en cualquier ejercicio de fuerza usando las fórmulas Epley y Brzycki. Devuelve el 1RM estimado y una tabla de cargas de entrenamiento por porcentaje.

ParametersJSON Schema
NameRequiredDescriptionDefault
peso_kgYesPeso levantado en kilogramos
repeticionesYesNúmero de repeticiones completadas con ese peso (idealmente 1-12 para mayor precisión)
Behavior4/5

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

Without annotations, the description bears full burden and states it is a calculation that returns results (no side effects). However, it does not mention any limitations or assumptions (e.g., formula accuracy for specific rep ranges), which would have improved transparency.

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?

The description is two very concise sentences, front-loaded with the core purpose, and contains no redundant or unnecessary words.

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?

The description mentions both return values (1RM and a percentage-based load table), which is sufficient given no output schema. However, it could be more detailed about the structure of the table or the formulas used, but overall it provides adequate context for a simple calculation tool.

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?

Input schema coverage is 100% and already describes both parameters (weight and reps). The description adds no additional meaning beyond what the schema provides, so a baseline of 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?

The description explicitly states the tool calculates 'repetición máxima (1RM)' using specific formulas (Epley and Brzycki) and returns both an estimated 1RM and a training load table by percentage. This clearly distinguishes it from sibling calculators, none of which cover weightlifting.

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 implies the tool is for any strength exercise, but does not specify when to use it versus alternatives (e.g., when a different formula is needed, or for rep ranges outside 1-12 where accuracy drops). No explicit guidance on prerequisites or exclusions is provided.

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

calcular_ajd_ccaaAInspect

Calcula el Impuesto sobre Actos Jurídicos Documentados (AJD — cuota variable de documentos notariales) aplicando el tipo vigente en cada Comunidad Autónoma. Cubre: compraventa de vivienda nueva (el comprador paga AJD), préstamos hipotecarios (desde 2019 el BANCO paga AJD, no el comprador) y otros documentos notariales inscribibles. Incluye tipos generales y reducidos (VPO, jóvenes, familia numerosa) para todas las CCAA. Normativa: TRLITP arts. 27-32.

ParametersJSON Schema
NameRequiredDescriptionDefault
reduccionNoTipo de reducción si el comprador cumple los requisitos. Default: ninguna
baseImponibleYesBase imponible del AJD (€): para compraventa=precio sin IVA; para hipoteca=total garantizado (capital+intereses+costas)
edadCompradorNoEdad del comprador (para reducción joven)
tipoDocumentoYescompraventa_vivienda_nueva=1.ª transmisión, el comprador paga AJD+IVA; prestamo_hipotecario_banco=desde Ley 5/2019 lo paga el banco; otro_documento_notarial=otros actos inscribibles
comunidadAutonomaYesComunidad Autónoma donde se otorga e inscribe el documento
Behavior3/5

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

No annotations provided. The description covers calculation subject and normative basis but does not mention rate source validity, precision, or error handling. It discloses behavior partially but not comprehensively.

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-sentence paragraph, front-loaded with purpose, then lists covered cases. Every sentence provides value. No fluff.

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?

Covers main scenarios, reductions, and normative reference. Missing output format description (e.g., returns tax amount) and handling of edge cases. Lacks full completeness but adequate for a calculation tool.

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%, so baseline is 3. The description adds context about the tax but does not enhance parameter meaning beyond schema descriptions. No per-parameter clarification needed.

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 clearly states it calculates AJD tax per Autonomous Community, lists covered document types (compraventa, préstamo, otros), and mentions reductions. This distinguishes it from siblings like ITP or IVA calculators.

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?

The description specifies scenarios (e.g., compraventa de vivienda nueva) and normative basis, implicitly guiding when to use. However, it lacks explicit 'when not to use' or reference to alternatives like calcular_itp_ccaa.

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

calcular_amortizacion_anticipadaAInspect

Calcula el efecto de una amortización anticipada de hipoteca o préstamo en España. Compara las dos opciones que ofrecen los bancos: reducir la cuota mensual (misma duración) o reducir el plazo (misma cuota, terminas antes). Muestra el ahorro en intereses de cada opción y recomienda la más ventajosa. Usa sistema de amortización francés (el estándar en España).

ParametersJSON Schema
NameRequiredDescriptionDefault
tinYesTipo de interés nominal anual (TIN) en porcentaje
plazoAniosYesPlazo original del préstamo en años
fechaInicioNoFecha de inicio del préstamo en formato YYYY-MM-DD (alternativa a mesesTranscurridos)
capitalInicialYesCapital original del préstamo o hipoteca en euros
fechaAmortizacionNoFecha en que se hace la amortización anticipada en formato YYYY-MM-DD
mesesTranscurridosNoMeses transcurridos desde el inicio del préstamo hasta el momento de la amortización. Alternativa a fechaInicio + fechaAmortizacion.
importeAmortizacionYesImporte que se amortiza anticipadamente en euros
Behavior3/5

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

With no annotations, the description carries full burden. It discloses the use of the French amortization system (standard in Spain) and that it shows interest savings and a recommendation. However, it does not clarify any side effects (e.g., no data modification, pure calculation) or prerequisites beyond the input parameters.

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

Conciseness4/5

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

The description is concise (4 sentences) and front-loaded with the main purpose. It could be slightly more structured but is efficient and informative.

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

Completeness3/5

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

Given the tool's complexity (7 parameters, no output schema), the description provides a good overview but lacks specifics on the return format or exact output. It mentions interest savings and recommendation but does not detail what the user will see.

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 parameters. The description does not add meaning beyond the schema, only contextualizes the overall calculation. Baseline of 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?

The description clearly states the tool calculates early mortgage amortization effects in Spain, compares two options (reduce monthly payment or reduce term), shows interest savings, and recommends the best option. It uses a specific verb+resource and is distinct from sibling tools that cover other financial calculations.

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?

The description provides clear context on when to use the tool (for early mortgage amortization) and what it does, but does not explicitly exclude alternatives or mention when not to use it. It implies usage for mortgage holders, but lacks direct comparison to siblings.

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

calcular_amortizacion_contableAInspect

Genera la tabla de amortización contable y fiscal de un activo fijo (inmovilizado material o intangible). Métodos disponibles según el Reglamento del IS (RIS 2004) y el RIRPF: "lineal" (cuota constante), "porcentaje_constante" (degresiva sobre valor neto), "suma_digitos" (dígitos decrecientes). Permite validar si los plazos son compatibles con los coeficientes máximos RIS para el grupo del activo (equipos informáticos 25%, vehículos turismo 16%, mobiliario 10%, edificios 2-3%...). Calcula el ahorro fiscal anual IS/IRPF de cada cuota. Encadenable con comparar_autonomo_vs_sl, calcular_irpf, calcular_break_even.

ParametersJSON Schema
NameRequiredDescriptionDefault
metodoNo"lineal" (cuota constante, el más habitual), "porcentaje_constante" (degresiva, amortiza más al principio), "suma_digitos" (dígitos decrecientes). Por defecto lineal.
grupoRISNoGrupo de amortización RIS 2004. Si se indica, valida que el plazo sea compatible con el coeficiente máximo fiscal.
vidaUtilYesVida útil estimada en años
tipoImpuestoNoTipo IS o IRPF del contribuyente (%) para calcular el ahorro fiscal de cada cuota. Por defecto 25%.
valorResidualNoValor residual estimado al final de la vida útil (€). Por defecto 0.
costeAdquisicionYesCoste de adquisición del activo en euros (precio de compra + gastos de puesta en funcionamiento)
porcentajeConstanteNoPorcentaje de amortización para el método "porcentaje_constante" (%). Si no se indica, se usa el doble del coeficiente lineal.
Behavior4/5

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

No annotations provided, so description bears full responsibility. It explains the calculation, validation, and tax savings generation. For a calculation tool, this is transparent, though it could explicitly state it is read-only. No contradictions.

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?

Description is a single paragraph but well-structured: starts with purpose, lists methods, mentions validation, and links to other tools. Every sentence adds value, though could be slightly more compact.

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?

No output schema, but description mentions generating a table and tax savings. It does not detail output columns or format, but for a calculation tool this is acceptable. Missing explicit return structure.

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%, but description adds beyond schema: explains methods, default values (lineal, 25% tax), and links to validation with grupoRIS. Provides context that enhances understanding.

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 clearly states it generates depreciation tables for fixed assets, specifies methods (linear, constant percentage, sum-of-digits) and references regulations (RIS 2004, RIRPF). It also mentions validation against maximum coefficients, distinguishing it from sibling tools like 'calcular_amortizacion_anticipada'.

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 lists methods and validation, but does not explicitly guide when to use this tool vs alternatives like 'calcular_amortizacion_intangibles' or 'calcular_amortizacion_anticipada'. Usage is implied but not contrasted.

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

calcular_amortizacion_intangiblesAInspect

Calcula la amortización fiscal deducible de activos intangibles en el Impuesto sobre Sociedades (LIS art. 12). Fondo de comercio adquirido: 5% anual máx (20 años). Intangibles con vida útil indefinida (marcas): 10% anual máx (10 años). Vida útil definida (patentes, software, concesiones): cuota lineal según plazo. Detecta ajustes extracontables positivos cuando la amortización contable supera el máximo fiscal.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoActivoYesTipo de activo intangible
vidaUtilAniosNoVida útil estimada (años) — obligatorio para vida_util_definida, propiedad_intelectual, concesion_administrativa
valorAdquisicionYesValor de adquisición del activo intangible (EUR)
anosTranscurridosNoAños transcurridos desde la adquisición — para calcular el valor neto fiscal
amortizacionContableEjercicioNoAmortización contable registrada en el ejercicio (EUR) — para verificar si excede el máximo fiscal
Behavior4/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It transparently describes the calculation logic for each asset type (e.g., 5% yearly for goodwill) and the detection of positive extra-accounting adjustments when accounting amortization exceeds fiscal maximum. It does not mention prerequisites or side effects, but for a calculation tool this is adequate.

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

Conciseness4/5

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

The description is a single paragraph but packs substantial information without fluff. It front-loads the core purpose and then details the specific rates. While a bulleted list could improve scannability, the current structure efficiently conveys all necessary rules in a compact form.

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?

Given the tool's complexity (5 parameters, varying rules per asset type) and the lack of an output schema, the description is quite complete. It explains all critical amortization rules and the adjustment detection. However, it does not specify the return format or whether the result is a single number or multiple values, which could be clarified.

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

Parameters5/5

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

Although the input schema covers 100% of parameters, the description adds significant semantic value beyond the enum labels. It explains which rates apply to each 'tipoActivo' (e.g., intangible with indefinite life uses 10% yearly), clarifies that 'vidaUtilAnios' is required for certain types, and describes how 'amortizacionContableEjercicio' is used to check for excess. This greatly aids the agent in understanding parameter dependencies.

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 is highly specific: it states the tool calculates fiscal amortization of intangibles under the Spanish Corporate Income Tax, referencing legal article LIS art. 12. It names different asset types (goodwill, indefinite/useful life) with distinct rates, clearly distinguishing it from siblings like 'calcular_amortizacion_contable' (accounting) and 'calcular_amortizacion_anticipada' (accelerated).

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?

The description explicitly indicates when to use the tool: for fiscal amortization of intangibles in Spanish corporate tax. It breaks down applicable rates for each asset type and mentions detection of extra-accounting adjustments. It does not explicitly state when not to use it or list alternatives, but the context is clear given sibling tools and the legal reference.

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

calcular_astrofoto_exposicionAInspect

Calcula el tiempo máximo de exposición sin estelas de estrellas para astrofotografía. Usa la fórmula NPF (precisa, tiene en cuenta pixel pitch y declinación) y la regla 500/300. Evalúa si el tiempo elegido producirá estrellas puntuales, microestelas o star trails.

ParametersJSON Schema
NameRequiredDescriptionDefault
sensorYesTipo de sensor: ff = Full Frame, apsc15 = APS-C Nikon/Sony (×1,5), apsc16 = APS-C Canon (×1,6), m43 = Micro 4/3 (×2,0)
aperturaYesApertura del diafragma en valor f (ej. 2.8 para f/2.8)
focal_mmYesFocal de la lente en milímetros (ej. 14 para un gran angular de 14mm)
megapixelesYesResolución del sensor en megapíxeles (ej. 24 para 24 MP, 45 para 45 MP)
tiempo_elegido_sYesTiempo de exposición que quieres evaluar, en segundos (ej. 20 para 20 segundos)
declinacion_gradosYesDeclinación de la zona del cielo en grados (0 = ecuador celeste, 90 = polo celeste). Para la Vía Láctea usa entre 0-30. Para Polaris usa ~89.
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses that the tool uses two formulas (NPF and 500/300) and evaluates whether the chosen exposure yields pinpoint stars, microtrails, or star trails. This provides insight into the output quality, though it could mention assumptions or limitations (e.g., sensor types handled).

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?

The description is two sentences with no wasted words. It front-loads the main purpose (maximum exposure time) and then adds detail about formulas and evaluation. Efficient and well-structured.

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

Completeness3/5

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

The description explains the purpose and evaluation categories but is ambiguous about the return value format. It mentions calculating maximum exposure and evaluating a chosen time, but does not clarify whether the output includes both a maximum time and a verdict, or how the two formulas are presented. For a tool with no output schema, this is a 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 baseline is 3. The description does not add significant meaning beyond the schema; it mentions 'pixel pitch' and 'declination' which are already covered by parameters like 'declinacion_grados'. No extra parameter-specific guidance is provided.

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 clearly states the tool calculates the maximum exposure time without star trails for astrophotography, using specific formulas (NPF and rule 500/300) and evaluates the chosen time. It is specific about the verb (calcula) and resource (tiempo máximo de exposición sin estelas), and distinguishes itself from other calculator tools by focusing on astrophotography.

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 implies usage for astrophotography exposure calculations but does not explicitly state when to use this tool versus alternatives or provide exclusions. It mentions the formulas used but gives no guidance on when to prefer one over the other or how this tool compares to sibling tools like 'calcular_exposicion_equivalente'.

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

calcular_baja_medicaAInspect

Calcula el subsidio por incapacidad temporal (baja médica) para trabajadores por cuenta ajena. Cubre contingencia común (60% BC días 4-20, 75% día 21+) y accidente laboral (75% desde día 1). Devuelve el subsidio diario, mensual y total para los días de baja, y la pérdida respecto al salario habitual. Encadenable con calcular_sueldo_neto, calcular_pension_desempleo. Ideal para: "¿Cuánto cobro si me pongo de baja 30 días?" o "¿Qué pierdo mensualmente si tengo un accidente?"

ParametersJSON Schema
NameRequiredDescriptionDefault
diasBajaNoNúmero de días de baja a simular. Por defecto 30.
tipoBajaYes"comun" = enfermedad común o accidente no laboral. "accidente_laboral" = accidente de trabajo o enfermedad profesional.
salarioBrutoMensualYesSalario bruto mensual del trabajador en euros.
empresaPagaDiasEsperaNo¿La empresa cubre los 3 días de espera según convenio colectivo? Por defecto false.
Behavior3/5

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

Since no annotations are provided, the description carries the full burden. It adequately describes the calculation outputs (daily, monthly, total subsidy, loss), but does not disclose any behavioral aspects like prerequisites, limitations, or side effects. It is adequate for a non-destructive calculation tool.

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?

The description is concise with three sentences, front-loading the main purpose and providing key details and examples without any superfluous text. Every sentence adds value.

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?

The description covers the return values and chaining, which is important given the lack of an output schema. However, it does not mention the effect of the 'empresaPagaDiasEspera' parameter, which is a notable omission for a complete understanding. Overall, fairly complete.

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 baseline is 3. The description adds some context by mentioning the percentage rates for each tipoBaja, which reinforces the parameter meaning but does not add significant new information beyond the schema.

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 clearly states the tool calculates temporary disability benefits for employees, specifying the exact percentages for common and work accidents. It distinguishes itself from other calculation tools by focusing on this specific subsidy, and provides concrete examples of questions it answers.

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?

The description gives ideal use cases with examples and mentions chainable tools, but does not explicitly state when not to use it or mention alternatives. The context is clear enough for an AI agent to decide when to invoke it.

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

calcular_beneficios_tributarios_startupAInspect

Calcula y resume los incentivos fiscales de la Ley de Startups (Ley 28/2022) para empresas emergentes acreditadas por ENISA. IS al 15% (4 primeros años con base positiva), diferimiento del IS (primeros 2 años sin garantías), deducción por inversión de persona física (50% sobre hasta 100.000 EUR), stock options exentas hasta 50.000 EUR/año y régimen Beckham ampliado para fundadores. Calcula el ahorro fiscal total.

ParametersJSON Schema
NameRequiredDescriptionDefault
baseImponibleISYesBase imponible IS del ejercicio (EUR, puede ser 0)
anosConBasePositivaYesAños transcurridos desde el primer ejercicio con base imponible positiva (0 = este es el primero)
calcularDiferimientoNo¿La empresa quiere evaluar el diferimiento del IS?
fondosPropiosStartupNoFondos propios de la startup al inicio del ejercicio (EUR)
estaAcreditadaStartupYes¿La entidad está acreditada como empresa emergente (ENISA o entidad pública equivalente)?
pctParticipacionPreviaNoPorcentaje de participación del inversor antes de la inversión (%)
importeInversionPersonaFisicaNoImporte invertido por persona física en acciones/participaciones de la startup este ejercicio (EUR)
valorAccionesEntregadasEmpleadosNoValor de acciones/participaciones entregadas a empleados en el ejercicio (EUR)
Behavior3/5

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

With no annotations, the description carries full behavioral disclosure. It explains the calculations performed (IS at 15%, deferral, etc.) and states it calculates total tax savings. However, it does not describe the output format or any side effects, leaving room for improvement. Since it's a calculator, no destructive actions are expected, but the return structure is unclear.

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

Conciseness4/5

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

The description is a single paragraph with 4-5 sentences, efficiently listing the key incentives. It is front-loaded with the main purpose. While dense, it avoids unnecessary fluff. Could benefit from bullet points for clarity, but it remains concise and to the point.

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

Completeness3/5

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

Given the complexity of 8 parameters and no output schema, the description lacks detail on return values. It only says 'Calcula el ahorro fiscal total' but does not specify whether the output is a single number, a breakdown, or a report. For a tool performing multiple calculations, this is a gap. More complete output documentation would be beneficial.

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 input schema describes all 8 parameters with 100% coverage. The description adds meaningful context by referencing the law and specific percentages (e.g., 50% deduction up to 100,000 EUR), which helps understand the purpose of parameters like importeInversionPersonaFisica and pctParticipacionPrevia. This goes beyond the schema's field descriptions.

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 clearly states it calculates and summarizes tax incentives for startups under Law 28/2022, specifically for companies accredited by ENISA. It lists specific incentives (IS rate, deferral, deduction, stock options, Beckham regime), making its purpose precise and distinguishable from sibling tools, none of which target startup tax benefits.

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?

The description identifies the target audience (accredited startups) and the context (tax incentives under Law 28/2022), which implicitly guides when to use it. However, it does not explicitly mention when not to use this tool or suggest alternatives among the many sibling tools, though the unique focus on startup tax benefits reduces ambiguity.

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

calcular_bitrate_videoBInspect

Estima el bitrate necesario y el tamaño de archivo de un vídeo según resolución, fps, duración y códec. Incluye comparativa entre H.264, H.265, ProRes 422 y RAW.

ParametersJSON Schema
NameRequiredDescriptionDefault
fpsYesFrame rate (ej. 24, 30, 60, 120)
codecNoCódec de vídeo. Por defecto h264
resolucionYesResolución del vídeo
duracion_minYesDuración del vídeo en minutos
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not mention assumptions (e.g., compression efficiency, audio inclusion), limitations, or the methodology behind estimates. This is a significant gap for a calculation tool.

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 concise sentences: first states the core function, second adds a key feature. No wasted words, front-loaded with purpose.

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

Completeness2/5

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

There is no output schema, and the description does not explain what the tool returns (units, format, whether it's a single value or a comparison table). For a calculation tool, this is a notable omission that reduces completeness.

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 parameters are documented. The description adds context by listing the inputs (resolución, fps, duración, códec) and mentioning the comparison, but this does not go beyond what the schema already provides. 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?

Description clearly states it estimates bitrate and file size based on resolution, fps, duration, and codec, including a codec comparison. This is a specific verb+resource that distinguishes it from the many financial/HR sibling tools.

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?

No explicit when-to-use or when-not-to-use instructions are given. The context implies it is for video encoding tasks, but no alternatives or exclusions are mentioned. It would benefit from guidance like 'Use this to estimate storage or bandwidth needs for video delivery.'

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

calcular_bonificacion_contratacionAInspect

Calcula bonificaciones y reducciones en cuotas SS empresariales por contratación de colectivos (RDL 1/2023). Colectivos: discapacidad 33-65%+, víctimas violencia género/terrorismo, exclusión social, empleados hogar, contrato relevo, sustitución por nacimiento. Solo contratos indefinidos tras reforma laboral.

ParametersJSON Schema
NameRequiredDescriptionDefault
sexoYesSexo del trabajador (relevante para cuantificar la bonificación en algunos colectivos)
colectivoYesColectivo que da derecho a bonificación
pctJornadaNoPorcentaje de jornada en tiempo parcial (%) — solo si tiempoParcial=true
duracionMesesNoDuración del contrato en meses (omitir para indefinido sin límite)
tiempoParcialNo¿Contrato a tiempo parcial?
salarioBrutoMensualYesSalario bruto mensual del trabajador (EUR)
Behavior3/5

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

No annotations are provided, so the description bears full burden. It explains what the tool calculates and the collectives, but does not disclose the return format (e.g., bonus amount), error conditions, or whether it performs read-only operations. For a calculator, additional output context would be helpful.

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: first states purpose and regulatory basis, second lists collectives and a key constraint. Efficient, front-loaded, every sentence adds value.

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?

Given the tool's complexity (multiple collectives, conditions) and absence of output schema, the description covers collectives and a key usage condition. However, it lacks information about the output (e.g., bonus amount, format) and error handling, leaving some gaps for a complete understanding.

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 descriptions exist for each parameter. The description adds context by explaining the collectives (mapping to the enum) and the condition 'only indefinite contracts' clarifies why duracionMeses is optional. This goes beyond bare schema.

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 clearly states it calculates bonuses and reductions in employer Social Security contributions for hiring specific groups, referencing regulation RDL 1/2023. It lists all relevant collectives and notes it applies only to indefinite contracts after labor reform, distinguishing it from other 'calcular_' siblings.

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?

The description explicitly limits usage to indefinite contracts post-labor reform, providing clear context. It does not directly compare to alternatives or state when not to use it, but the extensive sibling list implies this tool is for hiring bonuses only.

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

calcular_break_evenAInspect

Calcula el punto de equilibrio (break-even) de un negocio o producto: las unidades y euros de ventas necesarios para cubrir todos los costes. Incluye análisis de situación actual (si se proporcionan ventas actuales), unidades para alcanzar un objetivo de ganancia y 4 escenarios what-if (+10% precio, -10% costes variables, -20% costes fijos, combinado).

ParametersJSON Schema
NameRequiredDescriptionDefault
costosFijosYesCostes fijos totales mensuales en euros (alquiler, nóminas fijas, seguros, amortizaciones...)
precioVentaYesPrecio de venta por unidad en euros
costoVariableYesCoste variable por unidad en euros (materiales, comisiones, packaging, etc.)
ventasActualesNoUnidades vendidas actualmente al mes. Opcional — permite comparar la situación real con el break-even.
objetivoGananciaNoObjetivo de ganancia mensual deseado en euros. Opcional — calcula las unidades necesarias para alcanzarlo.
Behavior3/5

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

No annotations provided, so description carries full burden. It explains what calculations are performed but does not disclose behavioral traits such as whether the tool is read-only, output format, or side effects. Adequate but could be more transparent.

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, front-loaded with purpose, every sentence adds value. No unnecessary words. Highly concise and structured.

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?

Given no output schema and no annotations, the description covers the tool's purpose and main calculations. It lacks details on output format, but for a calculation tool, it is fairly complete. Could mention return structure.

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%, so baseline is 3. Description mentions key parameters (precioVenta, costosFijos, etc.) but adds minimal meaning beyond the already detailed schema descriptions. No new semantic insights.

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 clearly states the tool calculates break-even point in units and euros, and lists additional analyses (current situation, profit goal, what-if scenarios). It is specific and distinguishes from sibling 'calcular_*' tools.

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?

No explicit guidance on when to use this tool vs alternatives. Among many financial siblings, there is no comparison or context for when break-even analysis is appropriate or when another tool might be better.

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

calcular_breakeven_electricoAInspect

Calcula el año en que un coche eléctrico empieza a ser más barato que uno de gasolina equivalente (punto de equilibrio). Necesita los precios de ambos coches y los km anuales. Opcionales: subsidio MOVES III (0/4500/7000€), consumos, precio luz y gasolina, coste cargador. Devuelve año de break-even, ahorro anual estimado, inversión neta extra y coste por km de cada opción.

ParametersJSON Schema
NameRequiredDescriptionDefault
kmAnualesYesKilómetros que se conducen al año (ej: 15000)
precioLuzNoPrecio de la electricidad doméstica en €/kWh. Por defecto: 0,18
costeCargadorNoCoste de instalación del cargador doméstico en euros. Por defecto: 800
subsidioMovesNoSubsidio MOVES III aplicable: 0 (sin subsidio), 4500 (sin achatarramiento) o 7000 (con achatarramiento). Por defecto: 0
precioGasolinaYesPrecio del coche de gasolina equivalente en euros (ej: 22000)
consumoGasolinaNoConsumo del gasolina en L/100km. Por defecto: 7
precioElectricoYesPrecio del coche eléctrico en euros (ej: 32000)
consumoElectricoNoConsumo del eléctrico en kWh/100km. Por defecto: 16
precioGasolinaLitroNoPrecio de la gasolina en €/L. Por defecto: 1,65
Behavior4/5

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

No annotations provided, so the description fully describes behavior: it calculates and returns break-even year, annual savings, net extra investment, and cost per km. It does not mention assumptions or limitations, but is transparent about outputs.

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 concise sentences with front-loaded purpose. Every sentence adds value with no redundancy.

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 9-parameter tool with no output schema, the description explains the main outputs and inputs. It lacks discussion of edge cases (e.g., no break-even), but covers essential information.

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%, so the schema already documents parameters. The description adds context about required vs optional and specific subsidy values, but this largely overlaps with schema descriptions. Baseline 3 with marginal added value.

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 clearly states it calculates the break-even year for an electric car vs gasoline, with specific verb+resource. It distinguishes from siblings like 'calcular_combustible' by focusing on break-even analysis.

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 implicitly suggests usage for comparing electric vs gasoline car costs by listing required inputs, but lacks explicit when-to-use or when-not-to-use guidance or alternatives among the many sibling tools.

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

calcular_brecha_jubilacionAInspect

Calcula la brecha económica de jubilación: cuánto dinero perderás mensualmente al pasar de tu sueldo actual a la pensión pública. Calcula el capital total que necesitarías acumular y cuánto debes ahorrar mensualmente desde hoy para cubrirlo, usando interés compuesto.

ParametersJSON Schema
NameRequiredDescriptionDefault
edadActualYesEdad actual en años
anosJubiladoNoAños de jubilación previstos para cubrir. Por defecto 20.
edadJubilacionNoEdad prevista de jubilación. Por defecto 67 (edad ordinaria 2025 con <37 años cotizados).
rentabilidadAnualNoRentabilidad anual esperada del ahorro/inversión en %. Por defecto 4%.
sueldoNetoMensualYesSueldo neto mensual actual en euros
pensionEstimadaMensualYesPensión mensual estimada al jubilarse en euros (puedes usar calcular_pension_publica para estimarla)
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses that calculations use compound interest, which implies assumptions about growth. For a non-destructive calculation tool, this is adequate behavioral transparency.

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 concise sentences, front-loaded with the main purpose and then summarizing the calculations. No unnecessary words.

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?

Given the complexity (6 parameters, no output schema), the description covers the main computation goals and references a sibling tool. However, it does not explicitly describe the output format or edge cases, which would improve completeness.

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% with all parameters described including defaults and ranges. The description adds minimal extra meaning beyond the schema, mentioning compound interest which relates to 'rentabilidadAnual'. Baseline 3 per high coverage 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?

The description clearly states the tool calculates the retirement gap, monthly loss, total capital needed, and monthly savings required. It uses specific verbs and distinguishes from siblings by focusing on the gap calculation, referencing 'calcular_pension_publica' as a complement.

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?

The description tells when to use the tool (to compute retirement gap) and suggests using 'calcular_pension_publica' for pension estimation. It does not explicitly state when not to use it, but the context is clear for a financial calculation tool.

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

calcular_camara_lentaAInspect

Calcula el factor de ralentización de un vídeo slow motion a partir de los fps de grabación y reproducción. Devuelve el multiplicador (ej. 4×), el obturador correcto según la regla 180° y la duración del clip ralentizado.

ParametersJSON Schema
NameRequiredDescriptionDefault
fps_grabacionYesFPS a los que se graba (ej. 60, 120, 240, 960)
fps_reproduccionYesFPS a los que se reproducirá (ej. 24, 25, 30)
duracion_grabacion_sNoDuración del clip grabado en segundos. Opcional: si se indica, calcula la duración ralentizada
Behavior5/5

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

No annotations are provided, so the description alone must disclose behavior. It correctly describes a pure calculation tool with no destructive side effects, listing exact outputs (multiplier, shutter, duration). This transparently communicates what the tool does and returns, which is sufficient for a calculator.

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?

The description is a single sentence explaining purpose, followed by a sentence enumerating outputs. It uses concrete examples (4×) and avoids unnecessary words. Every part adds value, making it concise and well-structured.

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 calculator with 3 inputs and 3 outputs, the description covers the return values and references the 180° rule for shutter. It does not explicitly handle the optional duration parameter's behavior when omitted, but the core functionality is clear. Given no output schema, the description sufficiently explains what the tool returns.

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?

The input schema has 100% description coverage, providing clear meanings for each parameter. The description adds minimal extra semantic value beyond restating outputs; it does not elaborate on parameter values or constraints beyond what the schema already offers. Hence, 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?

The description clearly states it calculates the slow-motion factor from recording and playback fps, listing specific outputs. The verb 'Calcula' and resource 'factor de ralentización' are specific, and the tool is well-distinguished from numerous sibling calcular tools by its video slow-motion focus.

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?

The description implies usage for calculating slow-motion parameters from given fps values. It does not explicitly state when to avoid or specify alternatives, but the domain is clear and the tool's purpose is self-evident among many calculation tools. No prerequisite or context cues are provided, but it is adequate for a straightforward calculator.

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

calcular_capacidad_hipotecaAInspect

Estima el máximo préstamo hipotecario que un hogar puede asumir de forma sostenible, aplicando la regla de esfuerzo hipotecario del Banco de España (cuota ≤ 30-35% ingresos netos). Devuelve: capital máximo financiable, precio máximo de vivienda, entrada disponible, porcentaje de financiación y advertencias. Encadenable con calcular_hipoteca, calcular_sueldo_neto. Ideal para: "Con mi sueldo, ¿cuánta hipoteca puedo pedir?" o "¿Puedo comprar una casa de X euros?"

ParametersJSON Schema
NameRequiredDescriptionDefault
plazoNoPlazo de la hipoteca en años. Por defecto 30.
tasaInteresNoTipo de interés a aplicar en la simulación en porcentaje. Por defecto 3.5%.
umbralEsfuerzoNoUmbral máximo de esfuerzo hipotecario en porcentaje (Banco de España recomienda ≤30%). Por defecto 30%.
ahorrosDisponiblesYesAhorros disponibles para la entrada en euros.
otrasDeudasMensualesNoOtras cuotas de deuda ya existentes (préstamo coche, personal, etc.) en euros/mes. Por defecto 0.
ingresosMensualesNetosYesIngresos netos mensuales del hogar (todos los miembros) en euros.
porcentajeGastosCompraNoPorcentaje de gastos de compra a reservar de los ahorros (notaría, impuestos, registro). Por defecto 10%.
Behavior3/5

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

No annotations are provided, so the description must convey behavior. It explains the applied rule and output items, but does not disclose default values (beyond schema), side effects, or limitations. Adequate but not fully transparent.

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?

The description is a single, information-dense paragraph with no fluff. It front-loads the core purpose, lists outputs, and adds usage context.

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?

Given the complexity and lack of output schema, the description usefully lists the return values and notes chaining options. However, it could elaborate on assumptions (e.g., fixed rates) or calculation methodology.

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%, so each parameter is already described. The description adds context about the effort rule but does not significantly enhance parameter understanding beyond the schema.

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 clearly states the tool estimates the maximum mortgage loan using the Bank of Spain's effort rule (cuota ≤ 30-35% ingresos netos). It lists specific outputs (capital máximo financiable, etc.) and provides example use cases, effectively distinguishing it from siblings.

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 mentions it is ideal for specific questions and can be chained with calcular_hipoteca and calcular_sueldo_neto. However, it does not explicitly state when not to use it or provide alternatives among the many sibling tools.

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

calcular_capitalizar_desempleoAInspect

Calcula el importe del pago único (capitalización) de la prestación por desempleo para trabajadores que van a constituirse como autónomos, emprender o incorporarse a cooperativas. Verifica requisitos y exención de IRPF.

ParametersJSON Schema
NameRequiredDescriptionDefault
edadNoEdad del beneficiario (años). Relevante para condiciones especiales < 30 o < 35 años con hijos.
modalidadYesModalidad: autonomo (pago único 100%), cooperativa (cuota ingreso), reduccion_cuotas_ss (para pagar cuotas SS)
tieneHijosNo¿Tiene hijos a cargo? Relevante para menores de 35 años.
mesesPendientesYesMeses pendientes de prestación en el momento de la solicitud
prestacionMensualBrutaYesImporte mensual bruto de la prestación por desempleo (€)
haCapitalizadoAnteriormenteNo¿Ha capitalizado el desempleo en los últimos 4 años? Si es true, no puede volver a capitalizar.
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions 'verifica requisitos' but does not disclose whether the tool is read-only, has side effects, or requires specific permissions. For a calculation tool, behavioral transparency is minimal.

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 concise sentences front-load the purpose and include verification tasks. No redundant information.

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

Completeness3/5

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

The tool has no output schema, so the description should hint at return values (e.g., 'Importe calculado'). It does not. Also, with no annotations, completeness is limited but adequate for a straightforward calculation.

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%, so each parameter already has a description. The tool description adds context about checking requirements and IRPF exemption, but does not significantly enhance understanding of individual parameters beyond what the schema provides.

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 clearly states the tool calculates the lump sum payment of unemployment benefits for workers becoming self-employed or joining cooperatives. It includes a specific verb ('Calcula') and resource ('importe del pago único'), and the sibling tools are diverse calculation tools, so it distinguishes itself well.

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 implies use when capitalizing unemployment for self-employment, but does not explicitly tell when to use this tool versus alternatives like calcular_pension_desempleo or other calculation tools. No when-not scenarios or sibling comparisons are provided.

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

calcular_coeficientes_abatimientoAInspect

Calcula la reducción por coeficientes de abatimiento sobre plusvalías de elementos patrimoniales adquiridos antes del 31/12/1994 (LIRPF DT 9.ª). Inmuebles: 11,11%/año; acciones cotizadas: 25%/año; otros: 14,28%/año (computados hasta 31/12/1996). Límite acumulado vitalicio: 400.000 EUR de valor de transmisión. Divide ganancia pre/post 20/01/2006.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoActivoYesTipo de activo: inmueble (11,11%/año), acciones_cotizadas en mercado organizado (25%/año), otros bienes (14,28%/año)
fechaAdquisicionYesFecha de adquisición del activo en formato YYYY-MM-DD (debe ser anterior al 31/12/1994)
fechaTransmisionYesFecha de transmisión/venta en formato YYYY-MM-DD
valorAdquisicionYesValor de adquisición del activo (EUR)
valorTransmisionYesValor de transmisión/venta (EUR)
gastosAdquisicionNoGastos de adquisición (EUR): notaría, ITP, comisiones...
gastosTransmisionNoGastos de transmisión (EUR): notaría, agencia, plusvalía municipal...
valorTransmisionesAnterioresConAbatimientoNoValor acumulado de transmisiones anteriores sobre las que ya se aplicó abatimiento (EUR) — para verificar el límite de 400.000 EUR
Behavior4/5

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

The description discloses reduction rates, asset categories, the cumulative limit, and the pre/post 2006 split, providing clear behavioral traits for a calculation tool, though it omits error handling or prerequisite checks.

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?

The description is a single, concise paragraph that efficiently conveys all key information without redundancy, with the main purpose front-loaded.

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

Completeness2/5

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

No output schema is provided, and the description does not specify the return value format (e.g., a single number, a breakdown), leaving critical information missing for an AI agent to use the tool effectively.

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%, and the description adds meaningful context (legal basis, rates, limit) that goes beyond the schema descriptions, enhancing understanding of the calculation logic.

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 clearly states the tool calculates the reduction (abatimiento) for capital gains on assets acquired before 31/12/1994, specifying rates per asset type and the lifetime limit of 400,000 EUR, which distinguishes it from siblings like calcular_plusvalias_irpf.

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 implies the tool is for pre-1994 assets and includes legal references, but does not explicitly state when to use it versus alternatives (e.g., calcular_plusvalias_irpf) or when not to use it.

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

calcular_combustibleAInspect

Calculadora de combustible con dos modos: (1) consumo: dado un trayecto real (km recorridos + litros gastados), calcula el consumo en L/100km, el coste por km y la autonomía con 50€. (2) viaje: dada la distancia de un trayecto y el consumo medio del vehículo, calcula los litros necesarios y el coste total del viaje.

ParametersJSON Schema
NameRequiredDescriptionDefault
modoYesconsumo = calcular consumo real de un trayecto ya hecho | viaje = estimar coste de un trayecto futuro
litrosNo(Modo consumo) Litros gastados en ese trayecto
kilometrosNo(Modo consumo) Kilómetros recorridos en el trayecto de referencia
distanciaKmNo(Modo viaje) Distancia del trayecto en kilómetros
consumoL100kmNo(Modo viaje) Consumo medio del vehículo en litros cada 100 km
precioCombustibleYesPrecio del combustible en €/litro (ej: 1.65 para 1,65 €/L)
Behavior4/5

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

With no annotations, the description carries full burden. It transparently states the tool's computations and non-destructive nature. It does not contradict any annotations (none provided) and provides sufficient behavioral insight for a calculator tool.

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?

The description is two sentences, front-loaded with the purpose and modes. Every sentence adds value without redundancy or wasted words.

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?

Despite no output schema, the description specifies what each mode returns (L/100km, cost per km, autonomy vs. liters, total cost). It is complete for a calculator tool, though it could be slightly more explicit about output format.

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 input schema has 100% coverage with clear descriptions per parameter. The description adds value by explaining the two modes and how parameters relate to each mode, enhancing understanding beyond the schema 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 clearly states it's a fuel calculator with two distinct modes (consumo and viaje), specifying exactly what each mode calculates (L/100km, cost per km, autonomy vs. liters needed, total cost). It uniquely identifies the tool among many sibling calculator tools.

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

Usage Guidelines4/5

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

The description explains the two modes and the required parameters for each, implicitly guiding when to use each mode (actual trip vs. future trip). However, it does not explicitly discuss when not to use the tool or compare it to alternative tools, though the context of many siblings makes this less critical.

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

calcular_compensacion_bases_negativas_isAInspect

Calcula el importe de bases imponibles negativas (BINs) compensables en el Impuesto sobre Sociedades del ejercicio actual (LIS art. 26). Determina el régimen de límite según el volumen de operaciones del año anterior: sin límite (<20 M EUR), 50% (20-60 M EUR) o 25% (>60 M EUR), con mínimo siempre compensable de 1.000.000 EUR. Aplica criterio FIFO (primero las más antiguas). Calcula el ahorro fiscal.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoISNoTipo del IS del contribuyente (%). Default: 25%
binsAnterioresYesLista de BINs pendientes de compensar, de ejercicios anteriores
baseImponiblePositivaYesBase imponible positiva del ejercicio actual antes de compensar BINs (EUR)
volumenOperacionesAnioAnteriorYesVolumen de operaciones (cifra de negocios) del ejercicio anterior (EUR). Determina el límite de compensación
Behavior5/5

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

Without annotations, the description fully discloses the tool's behavior: it calculates BIN compensation applying FIFO, determines limit tiers (none, 50%, 25%) based on prior year revenue, ensures minimum 1M EUR compensation, and computes tax savings. For a calculator, this is highly transparent.

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

Conciseness4/5

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

The description is a single paragraph that conveys essential information without redundancy. It could be slightly more structured (e.g., bullet points) but is efficient and front-loaded with the main purpose.

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?

Given no output schema, the description briefly mentions the output (tax savings) but does not detail the structure of the result. However, it fully explains the input logic and rules, making it adequate for the tool's complexity.

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% (all parameters have descriptions), but the description itself does not add additional meaning beyond the schema. Per guidelines, baseline is 3 when schema coverage is high.

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 clearly states the tool calculates the compensable amount of negative tax bases (BINs) for Corporate Income Tax, specifying the legal article and the logic (FIFO, limits based on revenue). It distinguishes itself from sibling tools by being specifically about BIN compensation.

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?

The description implies usage when computing BIN compensation for a company, but does not explicitly state when not to use it or provide alternatives. The high specificity to tax calculations among siblings makes the context clear.

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

calcular_complemento_brecha_generoBInspect

Calcula el complemento de pensión para la reducción de la brecha de género (antiguo complemento de maternidad, RDL 3/2021). Aplica a hombres y mujeres con 2 o más hijos que cobran pensión de jubilación, IP o viudedad.

ParametersJSON Schema
NameRequiredDescriptionDefault
sexoYesSexo del beneficiario de la pensión
numHijosYesNúmero de hijos/as del beneficiario
tipoPensionYesTipo de pensión contributiva que se percibe
pensionAntesDe2021No¿La pensión se causó antes del 04/02/2021? Afecta al régimen aplicable (transitorio vs nuevo).
cuantiaPensionMadreNoPara hombres: cuantía mensual de la pensión de la madre de los hijos (€/mes). Necesaria para verificar la brecha.
madrePcibeComplementoNoPara hombres: ¿la madre ya percibe este complemento? Si es true, el hombre no puede acceder.
cuantiaPensionBeneficiarioYesCuantía mensual de la pensión base del beneficiario (€/mes, 14 pagas)
Behavior2/5

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

With no annotations, the description must fully disclose behavioral traits. It states the general applicability but fails to mention critical conditions for men, such as the need for cuantiaPensionMadre and madrePcibeComplemento parameters. It also does not specify that the calculation is read-only and idempotent.

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

Conciseness4/5

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

The description is a single, front-loaded sentence that includes all key elements: purpose, legal reference, and applicability. It is efficient with no wasted words, though it could benefit from a brief separate sentence on usage conditions.

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

Completeness2/5

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

Given the complexity (7 parameters, conditional logic, no output schema), the description is incomplete. It omits details about conditional requirements (e.g., parameters specific to men), preconditions, and how the calculation works. Significant gaps remain for proper tool understanding.

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?

Since schema description coverage is 100%, the baseline is 3. The description adds historical context ('antiguo complemento de maternidad') but does not explain parameter meanings or relationships beyond what the schema provides. The added value is minimal.

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 clearly states the verb 'Calcula' and the specific resource 'complemento de pensión para la reducción de la brecha de género' with legal reference. It also specifies the target users (hombres y mujeres con 2 o más hijos que cobran pensión de jubilación, IP o viudedad). While it distinguishes from sibling tools by its unique purpose, it does not explicitly contrast with similar pension tools.

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 provides context on when to use the tool (for beneficiaries with 2+ children and specific pension types) but omits exclusions or alternatives. It does not mention that the tool is only applicable to certain scenarios based on the pension start date (as indicated by the pensionAntesDe2021 parameter) or that for men additional conditions apply.

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

calcular_complemento_it_empresaAInspect

Calcula el complemento empresarial durante una baja por Incapacidad Temporal (IT): brecha entre la prestación SS y el salario real. Detalla los períodos (días espera, 4-15, 16-20, 21+) y el coste total para la empresa.

ParametersJSON Schema
NameRequiredDescriptionDefault
duracionBajaDiasYesDuración total de la baja en días naturales
tipoContingenciaYesTipo de contingencia: enfermedad_comun o accidente_trabajo (AT/EP)
salarioBrutoMensualYesSalario bruto mensual del trabajador (€)
baseCotizacionMensualYesBase de cotización por contingencias comunes del mes anterior a la baja (€)
diasMesBaseCotizacionNoNúmero de días del mes de la base de cotización (para el divisor diario). Por defecto 30.
pctComplementoEmpresaYesPorcentaje al que la empresa complementa el salario (%). 100% = paga el salario completo. 0% = sin complemento. Según convenio colectivo.
complementoDiasDesperaNo¿El convenio obliga a pagar complemento los 3 primeros días (período de espera)? Por defecto false.
Behavior3/5

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

No annotations provided, so description carries full burden. It explains the tool details periods and total cost, but does not disclose how it handles different contingencies, rounding, or edge cases. Acceptable but minimal beyond 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 sentences, front-loaded with purpose, efficient and informative. No unnecessary words.

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

Completeness3/5

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

No output schema, and description only mentions 'detalla los períodos y el coste total', lacking explicit output structure. Adequate for a calculator tool but could specify return format.

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?

All 7 parameters are described in schema (100% coverage), so baseline is 3. Description adds context about calculation periods but does not explain parameter meanings beyond schema. Moderate value added.

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?

Description clearly states the tool calculates the company supplement during temporary disability (IT) as the gap between Social Security benefit and real salary, specifying periods and total cost. This distinguishes it from siblings like calcular_baja_medica which likely focus on the benefit alone.

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?

No explicit guidance on when to use this tool vs alternatives. The description implies it's for employer cost calculations, but does not mention exclusions or alternative tools for similar tasks.

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

calcular_complemento_pension_brecha_generoAInspect

Calcula el complemento de pensión por brecha de género (LGSS art. 60 — RDL 3/2021). Mujeres con 2+ hijos: complemento mensual por cada hijo a partir del 2.º (presunción legal de brecha por maternidad). Hombres con 2+ hijos: solo si interrumpieron jornada en los 2 años previos al nacimiento/adopción Y su pensión es inferior a la del cónyuge. Importe 2025: ~33,20 EUR/mes por hijo adicional, abonado en 14 pagas.

ParametersJSON Schema
NameRequiredDescriptionDefault
sexoYesSexo del beneficiario
numHijosYesNúmero de hijos o hijas biológicos o adoptados
tipoPensionYesTipo de pensión del beneficiario
pensionMensualBaseYesPensión contributiva mensual reconocida antes del complemento (EUR)
acreditaBrechaGeneroNoPara mujeres: ¿acredita brecha de género? (por defecto true — presunción legal)
pensionInferiorConyugeNoPara hombres: ¿su pensión es inferior a la del cónyuge o pareja de hecho?
hombresInterrumpioJornadaNoPara hombres: ¿interrumpió o redujo jornada en los 2 años previos al nacimiento/adopción?
Behavior4/5

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

With no annotations, the description fully covers behavioral traits: it explains the legal presumption for women, additional requirements for men, and gives the 2025 amount. It does not describe the exact output format or side effects, but is fairly transparent.

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: first states purpose with legal reference, second details conditions and amount. No redundancy, front-loaded with key info.

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?

Given no output schema, the description provides the per-child amount but not the exact return type (e.g., monthly total, formatted string). However, it covers the main computation logic and conditional parameters adequately for a calculator tool.

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 baseline is 3. The description adds value by explaining when acreditaBrechaGenero defaults to true for women and clarifying pensionInferiorConyuge and hombresInterrumpioJornada conditions, reducing ambiguity beyond the schema.

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 clearly states the tool computes the gender pension supplement under LGSS art. 60 / RDL 3/2021, with specific conditions for women and men, distinguishing it from sibling tools like calcular_pension_complementaria or calcular_brecha_jubilacion.

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 describes when to use (for the gender gap supplement) and provides conditional logic for women vs men, but does not explicitly state when not to use or name alternatives. However, the legal context and detail make usage clear.

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

calcular_compraventa_inmuebleAInspect

Calcula todos los gastos de compraventa de un inmueble en España con normativa 2025. Para el COMPRADOR: ITP (segunda mano, por CCAA 4%-10%) o IVA (obra nueva 10%/4% VPO/21% local), AJD, notaría, registro y gestoría. Para el VENDEDOR (opcional): plusvalía municipal IIVTNU con coeficientes oficiales 2025 e IRPF sobre la ganancia patrimonial con tramos 2025. ⚠️ Estimación orientativa — notaría y registro dependen del arancel exacto.

ParametersJSON Schema
NameRequiredDescriptionDefault
ccaaYesComunidad autónoma donde se ubica el inmueble (determina el tipo de ITP)
tipoInmuebleNoTipo de inmueble. Afecta al IVA en obra nueva: vivienda/garaje=10%, local_comercial/terreno=21%. Por defecto "vivienda".
aniosTenenciaNoAños que ha tenido el inmueble el vendedor (para calcular la plusvalía municipal IIVTNU)
precioInmuebleYesPrecio de compraventa del inmueble en euros
perfilCompradorNoPerfil del comprador. Puede aplicar tipo reducido de ITP en algunas CCAA. Por defecto "general".
tipoTransmisionYes"segunda_mano" = ITP (impuesto transmisiones patrimoniales). "obra_nueva" = IVA 10% residencial o 21% local. "vpo" = IVA superreducido 4%.
vendedorMayor65NoSi el vendedor tiene más de 65 años. Relevante para la exención de IRPF en vivienda habitual.
esViviendaHabitualNoSi el inmueble es la vivienda habitual del vendedor. Relevante para exenciones de IRPF.
tipoMunicipalIIVTNUNoTipo impositivo que aplica el Ayuntamiento en la plusvalía municipal (0%-30%). Por defecto 25% orientativo si no se conoce.
valorCatastralSueloNoValor catastral del suelo del inmueble en euros (figura en el recibo del IBI). Necesario para calcular la plusvalía municipal.
precioCompraOriginalNoPrecio al que compró el inmueble el vendedor (para calcular la ganancia patrimonial y el IRPF del vendedor)
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses that estimates are orientative and notaría/registro depend on exact tariffs. It also explains optional seller calculations. This is good transparency, though it could mention any data sources or update frequency.

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

Conciseness4/5

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

The description is detailed but structured with bullet points for buyer and seller, and uses emojis effectively. It is front-loaded with the main purpose. Could be slightly more concise, but overall well-organized.

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?

Given the tool's complexity (11 parameters, no output schema), the description covers the main calculations and optional inputs. However, it does not describe the structure of the return value, which would help the agent interpret results. Still adequate for a calculation tool.

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?

The schema description coverage is 100%, so each parameter has a descriptive schema. The description adds context like ITP rates by CCAA but does not provide new semantics 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 clearly states it calculates all purchase/sale expenses of a property in Spain with 2025 regulations, covering both buyer and seller. It distinguishes from calculators for individual taxes (e.g., plusvalía municipal, ITP) but lacks explicit differentiation from sibling tool 'calcular_venta_inmueble'.

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 implies usage for comprehensive property transaction cost estimation but does not explicitly state when to use this tool versus alternatives like 'calcular_iivtnu_plusvalia_municipal' or when not to use it. No exclusion criteria are provided.

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

calcular_conceptos_cotizablesAInspect

Determina qué parte de las retribuciones en especie y complementos salariales están exentos de IRPF y SS, y qué parte tributa. Analiza: tickets restaurante (11 €/día), cheque guardería (100% exento), bono transporte (1.500 €/año), seguro médico (500 €/persona/año), vehículo empresa (20%/15% eléctrico del valor). Útil para planes de retribución flexible (flex comp). Estima el ahorro fiscal con tipo marginal orientativo del 30%. Encadenable con: calcular_sueldo_neto, calcular_coste_empleado, calcular_irpf.

ParametersJSON Schema
NameRequiredDescriptionDefault
pctUsoPrivadoNoPorcentaje de uso privado del vehículo de empresa (%). Por defecto 100%.
valorVehiculoNoValor de adquisición o valor de mercado del vehículo de empresa (€).
vehiculoElectricoNo¿Es vehículo eléctrico? (tipo reducido 15% en lugar de 20%). Por defecto false.
bonoTransporteAnualNoImporte anual del bono/tarjeta de transporte (€). Exento hasta 1.500 €/año.
chequeGuarderiaAnualNoImporte anual del cheque guardería (€). Exento íntegramente para hijos menores de 3 años.
diasHabilesConTicketNoDías hábiles trabajados al año con ticket restaurante. Por defecto 220.
numFamiliaresCubiertosNoNúmero de familiares (cónyuge + hijos) cubiertos por el seguro médico.
seguroMedicoFamiliaresNoPrima anual del seguro médico para cónyuge y descendientes (€).
seguroMedicoTrabajadorNoPrima anual del seguro médico para el trabajador (€). Exento hasta 500 €/año.
ticketRestauranteDiarioNoImporte del ticket restaurante por día (€). Exento hasta 11 €/día.
familiaresConDiscapacidadNo¿Algún familiar cubierto con discapacidad? (límite sube a 1.500 €/persona). Por defecto false.
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool analyzes specific items with given limits (e.g., 11 €/day for restaurant tickets) and states that tax savings are estimated using an orientative marginal rate of 30%. This gives insight into the tool's assumptions and behavior. However, it does not specify the output format or whether any side effects occur (though none expected).

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?

The description is brief (3-4 sentences) with no extraneous information. It front-loads the main purpose, lists the key analyzed items, and provides usage context (flexible compensation plans and chaining). Every sentence adds value, achieving high conciseness.

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?

Despite having 11 parameters and no output schema, the description covers the tool's functionality well. It explains what it computes, the main categories, and an example assumption. It also mentions chaining with other tools, aiding workflow. The lack of output description is minor given the high schema coverage and the tool's nature (calculation tool).

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?

All 11 parameters have descriptions in the input schema, so the description does not add significant per-parameter information. It lists the categories (tickets, guardería, etc.) but does not explicitly map them to the parameters or provide additional meaning beyond what the schema already offers. A baseline of 3 is appropriate given high schema coverage.

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 clearly states that the tool determines which parts of in-kind benefits and salary supplements are exempt or taxable, listing specific categories (restaurant tickets, nursery voucher, etc.). It is specific about the resource and action. However, it does not explicitly differentiate itself from sibling tools like 'calcular_retribucion_especie', which may have overlapping functionality, slightly reducing clarity.

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 mentions it is useful for flexible remuneration plans ('útil para planes de retribución flexible') and suggests chaining with other tools ('encadenable con...'), providing some context. However, it lacks explicit guidance on when not to use this tool versus alternatives, or any prerequisites or limitations.

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

calcular_coste_aplazadoAInspect

Calcula el coste real de financiar una compra a plazos: cuánto pagas de más respecto al precio al contado y la TAE implícita. Útil para decidir si vale la pena pagar a plazos o si es mejor esperar y pagar al contado, y para comparar ofertas de financiación.

ParametersJSON Schema
NameRequiredDescriptionDefault
cuotaMensualYesCuota mensual a pagar en euros
numeroCuotasYesNúmero de cuotas mensuales
precioContadoYesPrecio del producto al contado en euros
entradaInicialNoPago inicial o entrada en euros. Por defecto 0.
Behavior3/5

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

Without annotations, the description should disclose behavioral traits. It explains the outputs (extra cost, APR) but does not detail how the optional 'entradaInicial' parameter affects calculations or the underlying assumptions. This is adequate for a simple calculator but leaves some gaps.

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?

The description is concise at two sentences, front-loaded with the main action. Every sentence serves a purpose without redundancy.

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 tool with no output schema and moderate parameter count, the description is fairly complete. It covers purpose, use cases, and the key output concepts. However, it does not describe the output format, which is a minor 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?

All four parameters are fully described in the input schema (100% coverage), so the description does not need to add much. It only mentions the default for 'entradaInicial', adding minimal value beyond the schema.

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 clearly states the tool calculates the real cost of financing a purchase in installments, including the extra cost over cash price and implicit APR. It also provides concrete use cases, making it easy to distinguish from other financial calculators.

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?

The description explains when to use the tool: to decide between installment payments and cash, and to compare financing offers. While it does not explicitly state when not to use it or mention alternatives, the guidance is clear and sufficient for the stated purpose.

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

calcular_coste_empleadoAInspect

Calcula el coste real total de contratar un empleado en España. Suma al salario bruto las cuotas de Seguridad Social a cargo de la empresa: contingencias comunes (23,60%), desempleo (5,50% indefinido / 6,70% temporal), Formación Profesional (0,60%), FOGASA (0,20%) y Accidentes de Trabajo (según sector). También puede incluir beneficios extra (seguro médico, tickets, etc.). Útil para presupuestar el coste laboral real y calcular el break-even de contratar.

ParametersJSON Schema
NameRequiredDescriptionDefault
sectorNoSector de actividad para el tipo de AT/EP. Por defecto "oficina" (1,50%). "construccion" tiene el tipo más alto (6,70%).
tipoContratoNo"indefinido" (por defecto) o "temporal". El tipo de contrato afecta al tipo de desempleo de la empresa.
beneficiosExtraNoBeneficios extra anuales en euros: seguro médico, tickets restaurante, formación, etc. Por defecto 0.
salarioBrutoAnualYesSalario bruto anual del empleado en euros
Behavior3/5

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

No annotations are provided, so the description carries full disclosure burden. It explains the calculation methodology (percentages for each contribution, inclusion of extra benefits). However, it fails to describe the output format, return value, or any error handling. Since the tool is a pure calculation with no destructive effects, the description is adequate but misses specifying what the result looks like.

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

Conciseness4/5

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

The description is reasonably concise, covering the purpose, key contributions, and usage in two sentences. It is front-loaded with the main purpose. Could be slightly tighter, but remains effective without extraneous information.

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

Completeness3/5

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

Given the tool's complexity (4 parameters, no output schema, no nested objects), the description covers the calculation logic well with specific percentages and inclusion of extra benefits. However, it lacks any mention of the output (e.g., returns total cost as a number, currency, yearly/monthly). With no output schema, this omission reduces completeness.

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%, so each parameter already has a description. The description adds high-level context about the social security rates affecting sector and contract type, but this largely mirrors information in the schema. No additional parameter semantics beyond what is already in the schema.

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 clearly states the tool calculates the real total cost of hiring an employee in Spain, including specific social security contributions and extra benefits. It uses a specific verb ('calcula') and resource ('coste real total de contratar un empleado'), and distinguishes from sibling tools by focusing on employee cost calculation rather than other financial or labor calculations.

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?

The description provides context for when to use the tool (budgeting labor costs, break-even analysis) and gives concrete examples of included costs. However, it does not explicitly state when not to use it or mention alternative sibling tools for related calculations, leaving some guidance implicit.

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

calcular_cuota_autonomoAInspect

Calcula la cuota mensual de la Seguridad Social para autónomos según el sistema de cotización por ingresos reales (Real Decreto-ley 13/2022). Determina el tramo correspondiente (1-15), la base mínima y máxima del tramo, la cuota a pagar y si aplica la tarifa plana de 80 €/mes para nuevos autónomos. ⚠️ La tabla de tramos está congelada para 2026 por RDL 16/2025. El tipo sube al 31,50% (MEI 0,90%).

ParametersJSON Schema
NameRequiredDescriptionDefault
baseElegidaNo"minima" (por defecto) o "maxima" — puedes elegir cualquier base dentro del rango del tramo, pero esta tool calcula para los extremos.
esNuevoAutonomoNo¿Dado de alta por primera vez como autónomo? Aplica tarifa plana de 80 €/mes durante 12 meses. Por defecto false.
rendimientoNetoMensualYesRendimiento neto mensual estimado (ingresos - gastos deducibles, sin descontar la cuota SS) en euros
Behavior3/5

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

With no annotations, the description must disclose behavioral traits. It mentions regulatory details (frozen table for 2026, type 31.50%) and flat rate rule. However, it does not explain internal behavior like rounding, error handling, or validation logic. It is partially transparent but not fully.

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?

The description is concise, three sentences: first defines purpose, second details outputs (tramo, bases, cuota, tarifa plana), third adds key regulatory updates. No redundant words, well-structured and front-loaded.

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?

No output schema exists, so description should explain return values. It does: lists outputs (tramo, base min/max, cuota, tarifa plana). It also includes critical context (regulatory freeze, rate changes). It is sufficiently complete for a calculation tool, though could specify output format.

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 covers 100% parameters, so baseline is 3. The description adds value: clarifies that 'baseElegida' uses extremes ('minima'/'maxima') but any base in bracket is possible, explains 'rendimientoNetoMensual' as net income excluding SS fee, and explains 'esNuevoAutonomo' flat rate duration. This goes beyond schema descriptions.

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 clearly states the tool calculates the monthly Social Security fee for self-employed based on income (Real Decreto-ley 13/2022). It specifies what it determines: bracket (1-15), base min/max, fee, and flat rate applicability. This is specific and distinguishes it from other financial tools in the sibling list.

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 implies use for self-employed social security calculations but does not explicitly state when to use this tool versus alternatives or provide any exclusions or prerequisites. Given the specific domain, it's adequate but lacks explicit guidance.

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

calcular_declaracion_conjuntaAInspect

Compara el IRPF total entre presentar la declaración de forma individual (cada cónyuge por separado) o conjunta (unidad familiar con reducción especial de 3.400€). Calcula cuál opción resulta más favorable y el ahorro o coste adicional. Generalmente la conjunta conviene cuando un cónyuge tiene ingresos bajos o nulos. ⚠️ Estimación con tipos estatal + autonómico medio. No incluye deducciones específicas de cada CCAA.

ParametersJSON Schema
NameRequiredDescriptionDefault
numHijosNoNúmero de hijos a cargo. Por defecto 0.
retenciones1NoRetenciones practicadas al cónyuge 1 en euros. Por defecto 0.
retenciones2NoRetenciones practicadas al cónyuge 2 en euros. Por defecto 0.
hijosMenores3NoNúmero de hijos menores de 3 años. Por defecto 0.
salarioBruto1YesSalario bruto anual del cónyuge 1 (el de más ingresos, normalmente) en euros
salarioBruto2YesSalario bruto anual del cónyuge 2 en euros. Puede ser 0 si no trabaja.
otrosRendimientos1NoOtros rendimientos netos del cónyuge 1 (alquiler, dividendos, etc.) en euros. Por defecto 0.
otrosRendimientos2NoOtros rendimientos netos del cónyuge 2 en euros. Por defecto 0.
Behavior4/5

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

With no annotations, the description discloses that it's an estimation using average tax rates and excludes specific deductions. This adds value beyond the schema, making behavior clear.

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 plus a warning, front-loaded with key information. No unnecessary words; every sentence is informative.

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?

Covers main inputs (salaries, children, withholdings, other income) and output (favorable option and savings/cost). Warns about estimation and exclusions. Missing mention of output format but sufficient for most users.

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%, so baseline is 3. Description adds no significant new meaning to individual parameters beyond what the schema provides, though it gives general context about the computation.

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 clearly states it compares total IRPF between individual and joint filing, calculates the more favorable option, and mentions the special reduction. This distinguishes it from siblings like calcular_irpf (individual) and other tax tools.

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

Usage Guidelines4/5

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

Provides context on when to use (comparing joint vs individual, especially when one spouse has low income) and limitations (estimation, excludes CCAA deductions). Lacks explicit 'when not to use' but sufficient for typical scenarios.

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

calcular_deduccion_autonomo_irpfBInspect

Calcula los gastos deducibles en el IRPF para autónomos en estimación directa simplificada o normal: cuotas SS, alquiler, suministros del hogar, asesoría, dietas y otros. Devuelve el rendimiento neto de la actividad.

ParametersJSON Schema
NameRequiredDescriptionDefault
otrosGastosNoMaterial de oficina, publicidad, formación y otros gastos deducibles (€)
gastosDietasNoGastos en dietas propias en hostelería pagadas con tarjeta (€). Requieren pago electrónico.
alquilerLocalNoAlquiler de local u oficina exterior anual (€)
gastosSegurosNoGastos en seguros (RC, accidentes, salud) anuales (€)
gastosAsesoriaNoGastos de asesoría o gestoría anuales (€)
ingresosBrutosYesIngresos brutos anuales de la actividad (€)
cuotasSSAutonomoNoCuotas SS autónomo (RETA) pagadas anualmente (€)
modalidadEstimacionYesModalidad de estimación directa: simplificada o directa_normal
otrosGastosAcreditadosNoOtros gastos deducibles acreditados (amortizaciones, compras, etc.) (€)
gastosSupministrosHogarNoGasto total en suministros del hogar (luz, agua, internet, gas) anual (€)
pctSuperficieActividadHogarNoPorcentaje de la superficie del hogar dedicada a la actividad (%)
diasDietasEspaniaPernoctandoNoDías en España con pernocta (límite 53,34 €/día)
diasDietasEspaniaSinPernoctarNoDías de desplazamiento en España sin pernoctar (límite 26,67 €/día)
diasDietasExtranjeroPernoctandoNoDías en extranjero con pernocta (límite 91,35 €/día)
diasDietasExtranjeroSinPernoctarNoDías en extranjero sin pernoctar (límite 48,08 €/día)
Behavior2/5

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

No annotations are provided, so the description carries full burden. It does not disclose any side effects, authentication needs, idempotency, or error behavior. Only states the calculation and return of net income, lacking deeper behavioral 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?

The description is only two sentences, front-loading the purpose and key features. Every word adds value with no redundancy. It is highly efficient for a quick understanding.

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

Completeness2/5

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

With 15 parameters and no output schema, the description is sparse. It does not explain the calculation logic, assumptions, or provide details on the output format or error handling. For a complex tool, more contextual information is needed.

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 parameters are well-documented in the schema. The description adds an overview of expense types and clearly mentions the return of 'rendimiento neto', which is not in the schema. However, it does not add significant detail beyond what the schema already 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?

The description clearly states it calculates deductible expenses for self-employed IRPF under direct estimation methods and returns net income. It lists specific expense categories. However, it does not explicitly differentiate from the sibling tool 'calcular_gastos_deducibles_autonomo', which may cause confusion.

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 implies usage for self-employed IRPF with direct estimation, but provides no guidance on when not to use it or mention alternatives like 'calcular_irpf' or 'calcular_estimacion_objetiva'. No exclusions or context are given.

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

calcular_deduccion_doble_imposicion_isAInspect

Calcula la eliminación de la doble imposición internacional en el Impuesto sobre Sociedades (LIS arts. 21, 22, 31, 32). Para dividendos y plusvalías de filiales extranjeras: exención art. 21 si participación ≥5% y tenencia ≥12 meses (con tributo ≥10% en el país origen). Para establecimientos permanentes: exención art. 22. Si no cumple exención: deducción directa (impuesto extranjero pagado, art. 31) o indirecta (impuesto subyacente, art. 32).

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoRentaYesTipo de renta extranjera: dividendo_filial (dividendo de participada extranjera), plusvalia_transmision (ganancia por venta de participación), renta_ep (renta de establecimiento permanente en el extranjero)
importeRentaYesImporte bruto de la renta extranjera (EUR)
mesesTenenciaYesMeses de tenencia de la participación. Se requieren ≥12 meses (puede completarse después del cobro del dividendo)
tipoISEspanolNoTipo del IS español del contribuyente (%). Default: 25%
esParaisoFiscalNo¿El país de la filial/EP está catalogado como paraíso fiscal según la lista española? Si es true, la exención no aplica
valorAdquisicionNoValor de adquisición de la participación (EUR). Alternativa al 5%: si el valor supera 20 millones EUR, también aplica la exención aunque el porcentaje sea inferior al 5%
impuestoSubyacenteNoIS pagado por la filial extranjera proporcional al dividendo distribuido (EUR). Para la deducción indirecta art. 32
porcentajeParticipacionYesPorcentaje de participación en la entidad extranjera (%). Se requiere ≥5% para la exención art. 21
impuestoExtranjeroPagadoNoImpuesto pagado/retenido en el país de origen sobre la renta (EUR). Para la deducción directa art. 31 si no aplica exención
tipoNominalPaisExtranjeroYesTipo nominal del impuesto sobre sociedades en el país de la filial/EP (%). Se requiere ≥10% para que se considere tributación análoga al IS español
Behavior4/5

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

With no annotations, the description fully discloses behavioral logic: it calculates based on conditions and applies different methods. It does not mention side effects or auth needs, but for a calculation tool this is adequate.

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

Conciseness4/5

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

The description is a single dense paragraph but well-organized with clear cause-and-effect structure. Every sentence adds value, though it could be slightly more structured for easier scanning.

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?

Given full parameter coverage and no output schema, the description sufficiently explains the tool's logic and conditions. An agent can determine when and how to invoke it correctly.

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

Parameters4/5

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

Schema coverage is 100%, baseline 3. The description adds meaning beyond schema by explaining how parameters like porcentajeParticipacion and mesesTenencia determine exemption eligibility, and how valorAdquisicion serves as an alternative condition.

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 clearly states the tool calculates elimination of double taxation for Spanish Corporate Tax, referencing specific legal articles. It distinguishes from 200+ sibling tools by its specific tax domain and purpose.

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?

The description explains when to use exemption (art. 21/22) versus deduction (art. 31/32) based on participation, holding period, and tax rate conditions. It provides decision logic but does not explicitly name alternative tools for exclusion.

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

calcular_deduccion_familia_numerosaAInspect

Calcula las deducciones en cuota del IRPF por familia numerosa y discapacidad (LIRPF art. 81 bis — Ley 31/2022). Incluye: familia numerosa general (1.200 EUR), especial (2.400 EUR), descendiente/ascendiente con discapacidad 33-64% (1.200 EUR) o ≥65% (2.400 EUR desde 2023), cónyuge con discapacidad (1.200 EUR) y ascendiente separado con hijos (1.200 EUR). Verifica el límite por cotizaciones SS y descuenta el abono anticipado del modelo 143.

ParametersJSON Schema
NameRequiredDescriptionDefault
cotizacionesSSTotalesYesCotizaciones SS totales del contribuyente en el ejercicio (EUR) — límite de las deducciones
familiaNumerosaGeneralNo¿Tiene título de familia numerosa de categoría general (3+ hijos)?
familiaNumerosaEspecialNo¿Tiene título de familia numerosa de categoría especial (5+ hijos o 4+ si hay discapacidad)?
familiaresConDiscapacidadNoFamiliares con discapacidad que generan deducción
ascendienteSeparadoConHijosNo¿Es ascendiente separado/viudo con 2+ hijos sin pensiones de alimentos?
importeAbonoAnticipadoCobradoNoImporte ya cobrado como abono anticipado modelo 143 (EUR)
Behavior3/5

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

With no annotations, the description mentions checking SS contribution limits and subtracting advance payments, but lacks details on input validation, error handling, or whether the operation is read-only. It adds some behavioral context but not fully.

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?

The description is a single paragraph that front-loads the purpose, lists inclusions, and mentions the limit check. Every sentence adds value with no redundancy or fluff.

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

Completeness3/5

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

While the description covers the calculation logic well, it omits the return value format (e.g., single number or breakdown) and edge cases. For a moderately complex tool with no output schema, this is a noticeable gap.

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% with good parameter descriptions. The description adds meaningful context by referencing legal amounts (1,200/2,400 EUR) and conditions that are not in the schema, helping an agent understand the calculation logic.

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 clearly states the tool calculates IRPF deductions for large families and disabilities, listing specific amounts and conditions, and distinguishes itself from numerous sibling calculators.

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?

No explicit guidance on when to use this tool versus alternatives (e.g., other deduction calculators). The description does not mention prerequisites, exclusions, or context for selection.

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

calcular_deduccion_idiAInspect

Calcula la deducción fiscal por I+D+i en el Impuesto sobre Sociedades (LIS arts. 35-36). I+D: 25% base + 42% exceso sobre media 2 años + 17% personal investigador + 8% inmovilizado. Innovación tecnológica: 12%. Calcula límite sobre cuota (25%/35%) y opción de monetización (abono AEAT con descuento 20%).

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoDatos de actividades de I+D (investigación y desarrollo)
itNoDatos de actividades de innovación tecnológica
cuotaIntegraYesCuota íntegra ajustada del IS del período (EUR) — necesaria para calcular el límite de aplicación
solicitarMonetizacionNo¿Solicitar abono AEAT (monetización) si no hay suficiente cuota? Descuento del 20% sobre importe monetizable
Behavior3/5

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

No annotations provided; the description focuses on calculation formulas but omits any side effects, authentication needs, or output format, which is somewhat acceptable for a stateless calculator but still leaves gaps.

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

Conciseness4/5

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

The description is a single, information-dense sentence that is front-loaded with the main purpose; it could be slightly restructured for readability but is effectively concise.

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

Completeness3/5

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

While the description covers deduction formulas and monetization option, it does not describe the return value structure or error handling, which is a gap given no output schema or annotations.

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% with descriptions for all parameters; the description adds value by explaining how each parameter feeds into the deduction percentages (e.g., gastosPersonalInvestigador gets +17%), going beyond the schema.

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 clearly specifies the tool calculates the R&D&I tax deduction in Spanish Corporate Tax, listing exact percentages for I+D and innovation technology components, which distinguishes it from sibling tools that cover other tax calculations.

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?

The description implicitly indicates use for Spanish companies with I+D+i expenses by detailing the deduction percentages and limits, but lacks explicit guidance on when to use versus similar deduction tools.

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

calcular_deduccion_maternidad_irpfAInspect

Calcula la deducción por maternidad (LIRPF art. 81 — Ley 31/2022) y el incremento adicional por gastos de guardería. Desde 2023: aplica a TODAS las madres con hijos menores de 3 años con derecho al mínimo (sin necesidad de estar trabajando). Cuantía: 1.200 EUR/año por hijo (100 EUR/mes). Guardería: hasta 1.000 EUR adicionales si la madre está dada de alta en SS. Descuenta el abono anticipado ya cobrado del modelo 140.

ParametersJSON Schema
NameRequiredDescriptionDefault
hijosYesHijos con posible derecho a deducción
abonoAnticipadoNo¿Solicitó abono anticipado (modelo 140)?
madreEnActivoOPrestacionNo¿La madre estaba trabajando o percibiendo prestaciones SEPE? (por defecto true; desde 2023 la deducción base aplica aunque no trabaje)
cotizacionesSSTotalesAnioYesCotizaciones totales a la SS pagadas en el ejercicio por la madre (EUR)
importeAbonoAnticipadoCobradoNoImporte ya cobrado como abono anticipado en el ejercicio (EUR)
Behavior3/5

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

No annotations provided; description covers what the tool does but not behavioral traits like side effects, authorization needs, or return format. It mentions discounting advanced payments but lacks detail on execution behavior.

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 dense sentences with no redundancy. Key information (amounts, conditions, legal basis) is front-loaded. Every sentence adds value.

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

Completeness2/5

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

No output schema; description does not explain return format, errors, or edge cases. For a calculation tool, knowing the output structure (e.g., single amount, breakdown) is essential. Missing this context reduces completeness.

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% with clear parameter descriptions. The main description adds legal context and amounts but does not elaborate on parameter meaning beyond schema. Baseline 3 is appropriate as schema does the heavy lifting.

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?

Description clearly states the tool calculates maternity deduction and additional childcare expenses, referencing specific law (LIRPF art. 81, Ley 31/2022) and amounts. It distinguishes from sibling tools by focusing on a specific deduction rather than generic tax calculations.

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?

Context implies use when calculating maternity deduction, but no explicit guidance on when not to use or alternatives. Sibling tools are distinct, so confusion is unlikely, but lacks explicit exclusions or conditions.

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

calcular_deduccion_vivienda_ccaaBInspect

Calcula las deducciones autonómicas por vivienda habitual en el IRPF: (A) régimen estatal transitorio para compras antes del 01/01/2013 (7,5% estatal + porcentaje autonómico); (B) deducciones autonómicas actuales por jóvenes, rehabilitación o zonas rurales en las principales CCAA. Incluye País Vasco y Navarra (régimen foral). Normativa: DA 18.ª LIRPF + normativas autonómicas.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoDeduccionYesTipo de deducción: transitorio_pre2013=régimen transitorio para compras antes del 01/01/2013; joven=deducción autonómica para compradores jóvenes; rehabilitacion=rehabilitación vivienda habitual; zona_rural=municipio en riesgo de despoblación
inversionAnualNoCantidades invertidas en el año (amortización capital hipoteca + intereses + seguros vinculados) (€/año). Necesario para calcular la deducción
comunidadAutonomaYesComunidad Autónoma de residencia fiscal del contribuyente
edadContribuyenteNoEdad del contribuyente (para verificar límites de edad en deducciones de jóvenes)
baseImponibleTotalNoBase imponible total del contribuyente (€) — para verificar límites de renta
Behavior3/5

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

With no annotations, the description carries full burden. It outlines the types of deductions and mentions required parameters implicitly, but does not disclose side effects, error behavior, or return format. It provides enough for basic understanding but lacks depth.

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?

The description is concise with two sentences, front-loading the main purpose and regimes. It avoids redundancy and unnecessary details.

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

Completeness2/5

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

Given the complexity (5 parameters, no output schema, no annotations), the description lacks completeness. It does not explain the calculation method, return format, or how to interpret results. It omits mention of the 'alquiler_joven' deduction type present in the 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 coverage is 100%, so the baseline is 3. The description mentions some parameters (e.g., inversionAnual, edadContribuyente, baseImponibleTotal) but adds no new semantic detail beyond what the schema already provides.

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 clearly states the tool calculates autonomous community housing deductions for IRPF, specifying two regimes (transitional pre-2013 and current deductions for young, rehabilitation, rural areas) and mentions inclusion of foral regions. It cites specific laws, making the purpose distinct among siblings like 'deduccion_vivienda'.

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 does not provide guidance on when to use this tool versus alternatives such as the sibling 'deduccion_vivienda'. It implicitly targets autonomous community deductions but lacks explicit context or exclusions.

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

calcular_derechos_autor_irpfAInspect

Calcula la tributación IRPF de los ingresos por derechos de autor, propiedad intelectual e imagen (LIRPF arts. 25.4, 26.2, 27, 33, 92). Cuatro modalidades: cesión de derechos (capital mobiliario con reducción 60%), actividad económica habitual (sin reducción), transmisión plena (ganancia patrimonial, base ahorro), y derechos de imagen (régimen especial 19%).

ParametersJSON Schema
NameRequiredDescriptionDefault
ingresosBrutosYesIngresos brutos por derechos de autor/imagen (EUR)
tipoRendimientoYesTipo: cesion (autor cede explotacion, reduccion 60%), actividad_economica (habitual, sin reduccion), transmision_plena (venta derechos, ahorro 19-28%), derechos_imagen (art. 92, 19%)
gastosDeduciblesNoGastos directamente relacionados y necesarios para obtener los rendimientos (EUR): cuotas de autor, agentes, produción, etc.
retencionesPracticadasNoRetenciones ya practicadas por el pagador (EUR)
valorAdquisicionDerechosNoValor de adquisición de los derechos (EUR) — solo para transmision_plena_derechos (calcula ganancia patrimonial)
Behavior3/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. It explains the tool computes taxation categories and references legal articles, but it does not explicitly state that it is a non-destructive, read-only calculator. While the purpose implies a stateless computation, the lack of explicit statement about side effects or permissions leaves minor ambiguity.

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

Conciseness4/5

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

The description is concise with two sentences. The first sentence states the core purpose and legal references, while the second enumerates the modalities. It is front-loaded and to the point, though a bullet list could improve readability. Slightly more structure would be beneficial but it remains efficient.

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

Completeness3/5

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

Given the absence of an output schema, the description provides a solid overview of the tool's scope and modalities. However, it does not specify the return format (e.g., tax liability, percentage) or how results are presented. The note that 'valorAdquisicionDerechos' applies only to transmision_plena is implied but not explicit. For a calculator with 5 parameters, some detail 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?

All parameters have descriptions in the schema (100% coverage). The description adds value by explaining the four 'tipoRendimiento' options in a narrative form, providing context beyond the enum labels. It clarifies the differences between modalities, such as the 60% reduction for cesion vs. the 19% rate for derechos de imagen, aiding parameter selection.

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 clearly states the tool's purpose: calculating IRPF taxation for copyright, intellectual property, and image rights income. It lists four specific modalities, distinguishing itself from sibling tools like 'calcular_irpf' which handle general income. This provides a specific verb-resource combination with clear differentiation.

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 lacks explicit guidance on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or comparative scenarios. For example, it does not clarify that this is for specific types of income as opposed to general IRPF calculators, leaving the agent to infer context.

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

calcular_descuento_efectosAInspect

Calcula el coste real (TAE) del descuento de efectos comerciales (pagarés, letras de cambio) y del factoring (con o sin recurso). Calcula el importe neto recibido por la empresa cedente, el total de costes (intereses + comisiones), la TAE efectiva de la operación y el ahorro fiscal al ser gasto deducible en IS/IRPF. El descuento usa el año comercial de 360 días. Normativa: LIS art. 16.

ParametersJSON Schema
NameRequiredDescriptionDefault
nominalYesNominal del efecto o factura (€) — importe que pagará el deudor al vencimiento
comisionPctNoComisión en porcentaje sobre el nominal (%)
comisionFijaNoComisión fija por operación (€)
tipoOperacionYesTipo de operación: descuento_pagare=anticipo de pagaré; descuento_letra=anticipo de letra (sujeta a timbre AJD); factoring_con_recurso=cesión de facturas con riesgo para cedente; factoring_sin_recurso=el factor asume el riesgo de impago
diasVencimientoYesDías hasta el vencimiento del efecto o factura
gastosAdicionalesNoGastos adicionales: corretaje, timbre (AJD letras), etc. (€)
tipoFiscalEmpresaNoTipo IS o IRPF de la empresa cedente (%) para calcular el ahorro fiscal. Default: 25%
tipoDescuentoAnualYesTipo de descuento/interés anual aplicado por el banco (%). Ej: 4.5 para el 4,5%
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses the use of 360-day commercial year and tax deductibility, but does not mention limitations, error handling, or response format. Additional behavioral context (e.g., precision, edge cases) would be beneficial.

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?

The description is two sentences, front-loaded with the core purpose, and every sentence adds value. There is no redundant information, making it highly concise and well-structured.

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?

Given no output schema, the description covers what the tool calculates (net amount, TAE, costs, tax savings) but does not specify the return format (e.g., numeric values, percentages). It includes normative reference and operation types, making it fairly complete for the given complexity.

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 parameters are well-documented in the schema. The description adds context about outputs (TAE, net amount, costs, tax savings) but does not enhance parameter meaning 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?

The description clearly states it calculates the real cost (TAE) for discounting commercial paper (pagares, letras) and factoring (with/without recourse), specifying outputs like net amount, total costs, TAE, and tax savings. It distinguishes itself from sibling tools (many financial calculators) by focusing on this niche.

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 indicates what types of operations it supports (descuento_pagare, descuento_letra, factoring_con/sin_recurso), but does not explicitly state when not to use it or mention alternative tools. Usage is implied but lacks exclusion guidance.

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

calcular_despido_objetivoAInspect

Calcula la indemnización y el preaviso del despido por causas objetivas (ET arts. 52-53): 20 días/año con máximo 12 mensualidades. Distingue entre despido procedente (20 días) e improcedente (33 días, máximo 24 mensualidades). Causas: económicas/técnicas/organizativas/productivas, ineptitud sobrevenida, falta de adaptación, absentismo. Incluye advertencias sobre el procedimiento obligatorio (carta + indemnización simultánea + preaviso 15 días). Normativa: ET arts. 52-53, 56.

ParametersJSON Schema
NameRequiredDescriptionDefault
causaDespidoYesCausa del despido objetivo: causas_economicas_tecnicas=ETOP (económicas, técnicas, organizativas o productivas); ineptitud_sobrevenida=incapacidad sobrevenida; falta_adaptacion=no adaptación a cambios técnicos; absentismo=faltas según umbral ET art. 52.d
preAvisoDadoNo¿La empresa ha dado el preaviso de 15 días? Si no se da, debe abonarse el salario de esos 15 días. Default: true
aniosAntiguedadYesAños completos de antigüedad
salarioBrutoAnualYesSalario bruto anual del trabajador incluyendo pagas extras prorrateadas (€/año)
fechaInicioContratoNoFecha de inicio del contrato (YYYY-MM-DD o YYYY-MM) — para detectar si hay período anterior al 12/02/2012 (reforma laboral)
declaradoImprocedenteNo¿Ha sido declarado improcedente por el juzgado? Si es true, calcula la indemnización de 33 días/año (máx. 24 meses) y la diferencia a pagar adicionalmente. Default: false
mesesAntiguedadAdicionalesNoMeses adicionales de antigüedad (0-11) además de los años completos
Behavior4/5

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

With no annotations, the description carries full burden. It discloses procedural requirements (mandatory letter, simultaneous payment, 15-day preaviso) and references legal articles. It does not explicitly state the tool is read-only, but the calculation nature implies no side effects.

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

Conciseness4/5

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

The description is a single paragraph that efficiently conveys key information: purpose, legal basis, causes, and procedural warnings. It is not overly verbose, though it could be structured with bullet points for clarity. Every sentence adds value.

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

Completeness3/5

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

For a tool with 7 parameters and no output schema, the description provides legal framework and procedural steps but does not describe what the tool returns (presumably indemnization and preaviso amounts). It also omits the role of 'fechaInicioContrato' in handling the 2012 labor reform, which is a notable gap given its inclusion in the 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?

Schema coverage is 100% with individual parameter descriptions. The description adds legal context (e.g., the 20/33 days logic, distinction between procedente/improcedente) that clarifies the role of parameters like 'declaradoImprocedente' and 'preAvisoDado', enhancing understanding beyond the schema.

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 clearly states the tool calculates indemnization and preaviso for objective dismissal, citing specific legal articles. It distinguishes between procedente (20 days) and improcedente (33 days) outcomes. However, it does not explicitly differentiate from the sibling 'calcular_indemnizacion_despido', which might handle other dismissal types.

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 lists the causes (economic, technical, ineptitude, etc.), which imply the scenarios for using the tool. It does not explicitly state when not to use it or mention alternative tools. Usage guidance is 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.

calcular_devolucion_irpfAInspect

Simula si la declaración de la Renta (IRPF) saldrá a pagar o a devolver, comparando las retenciones practicadas con la cuota íntegra calculada sobre la base imponible. Incluye rendimientos del trabajo, actividades económicas, capital mobiliario/inmobiliario y ganancias patrimoniales. Calcula el mínimo personal y familiar según hijos y edad. Útil para: "¿Cuánto me devolverá Hacienda este año?", "¿Me conviene hacer la declaración?" ⚠️ Estimación orientativa — tramos estatales + autonómicos medios. Resultado exacto en Renta WEB (AEAT). Encadenable con calcular_irpf, calcular_sueldo_neto, calcular_declaracion_conjunta.

ParametersJSON Schema
NameRequiredDescriptionDefault
edadNoEdad del contribuyente (afecta al mínimo personal: 65+ o 75+ años)
numHijosNoNúmero de hijos menores de 25 años a cargo
discapacidadNo"ninguna" (sin discapacidad), "moderada" (33-65%), "severa" (>65%). Aumenta el mínimo.
hijosMenures3No¿Hay algún hijo menor de 3 años? (aumento del mínimo familiar)
ascendientes65NoNúmero de ascendientes (padres/abuelos) mayores de 65 años a cargo
pagosFraccionadosNoPagos fraccionados abonados (Modelo 130) durante el año (€)
deduccionMaternidadNoDeducción por maternidad/paternidad (€). Hasta 1.200 €/año por hijo menor de 3 años.
deduccionesAutonimicasNoDeducciones autonómicas aplicables (alquiler habitual, rehabilitación, etc.) (€)
gananciasPatrimonialesNoGanancias netas por venta de acciones, fondos, inmuebles, etc. (€). Puede ser negativo.
retencionesTrabajoAnualesNoRetenciones IRPF practicadas por la empresa durante el año (€)
rendimientosTrabajoAnualesYesSalario bruto anual del trabajo por cuenta ajena (€), antes de retenciones
retencionesCapitalMobiliarioNoRetenciones sobre capital mobiliario (19-28%) (€)
rendimientosCapitalMobiliarioNoIntereses, dividendos y otros rendimientos del capital mobiliario (€)
retencionesCapitalInmobiliarioNoRetenciones sobre rendimientos de alquiler (€)
rendimientosCapitalInmobiliarioNoRendimientos netos del capital inmobiliario (alquiler, ya descontados gastos) (€)
retencionesActividadesEconomicasNoRetenciones soportadas en facturas de actividades económicas (€)
rendimientosActividadesEconomicasNoRendimientos netos de actividades económicas para autónomos (€). Por defecto 0.
Behavior4/5

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

Description discloses key behavioral traits: it's an orientative estimate using average tax brackets, includes various income types and personal/family minimums. No contradictions with annotations (none exist). Does not detail error handling or negative values but sufficiently warns users.

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?

Description is concise with 4 sentences plus emoji/warning, front-loaded with main purpose, use cases, and chainability. Every sentence adds value without redundancy.

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?

Completeness is good for a simulation tool given 17 well-described parameters and no output schema. It explains the scope and approximation. Minor gap: doesn't explicitly state the return format, but purpose implies a numerical result.

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% with detailed parameter descriptions. The description adds only a high-level summary of income categories and personal minimums, not meaningful new insights beyond schema.

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?

Description clearly states simulation of IRPF return result (to pay or refund) with specific verb 'Simula' and resource 'declaración de la Renta'. It lists included income types and distinguishes from sibling tools like calcular_irpf and calcular_declaracion_conjunta by noting chainability and unique use case.

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?

Description provides explicit use cases (e.g., '¿Cuánto me devolverá Hacienda este año?') and notes it's an estimate, suggesting using Renta WEB for exact results. However, it does not state when not to use vs specific alternatives like calcular_irpf.

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

calcular_dia_semanaAInspect

Dice qué día de la semana (lunes, martes...) cae una fecha concreta. Indica también si es hoy, ayer, mañana o cuántos días faltan/han pasado.

ParametersJSON Schema
NameRequiredDescriptionDefault
fechaYesFecha a consultar en formato YYYY-MM-DD o "hoy"
Behavior2/5

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

The description explains what the tool returns (day of week and relative info), but lacks details on read-only nature, error handling, or edge cases (e.g., invalid dates). Since no annotations are provided, the description carries the full burden, and it is insufficient for a complete understanding of behavior.

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 concise sentences with no redundancy or unnecessary information. Every sentence adds value, and the description is front-loaded with the core purpose.

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 simple tool with one parameter and no output schema, the description adequately covers the functionality (day of week and relative days). It is complete and leaves no ambiguity about what the tool does.

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?

The input schema already has 100% coverage with a clear description of the 'fecha' parameter (includes format and special value 'hoy'). The tool description adds no additional parameter semantics beyond what the schema provides, so 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?

The description clearly states it tells the day of the week (lunes, martes...) for a given date, and also provides relative information (today, yesterday, tomorrow, days elapsed/remaining). It uses a specific verb and resource, distinguishing it from sibling tools that focus on financial or legal calculations.

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?

No guidance is provided on when to use this tool versus alternatives like calcular_diferencia_fechas or calcular_fecha_resultado. The description does not mention exclusions or preferred contexts.

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

calcular_dietas_irpfAInspect

Calcula la parte exenta y sujeta a IRPF de las dietas y asignaciones para gastos de locomoción y manutención pagadas por la empresa al trabajador (RIRPF art. 9). Límites 2025: vehículo propio 0,26 €/km; manutención España con pernocta 53,34 €/día, sin pernocta 26,67 €/día; extranjero 91,35 €/día con pernocta, 48,08 €/día sin pernocta; transportistas 36,06 €/día (España). El exceso tributa como rendimiento del trabajo.

ParametersJSON Schema
NameRequiredDescriptionDefault
locomocionNoGastos de locomoción del período
manutencionNoGastos de manutención y estancia
Behavior4/5

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

Given the absence of annotations, the description provides sufficient behavioral information: it discloses that the tool calculates exempt and taxable amounts, cites the legal basis, and lists the applicable daily and per-kilometer limits for 2025. It does not mention any side effects or state that it is a read-only calculation, but the nature of the tool (computation) is clear.

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

Conciseness4/5

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

The description is a single, information-dense paragraph that front-loads the core purpose and then lists the limits. It is concise with no redundant sentences, but it could be better structured with bullet points for readability. Every sentence contributes meaningful 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?

The description covers the key aspects of the calculation (exempt amounts, taxable excess) and provides current rates. However, it does not specify the output format or what the returned object will contain, relying on the agent to infer that it returns some result. Given the complexity and the absence of an output schema, a brief note on the result structure would enhance completeness.

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 schema already includes descriptions for most parameters (100% coverage), but the description adds value by providing the specific monetary limits (e.g., 0.26€/km, 53.34€/day) that are not in the schema. However, it does not elaborate on the structure of the arrays or the expected number of items, relying on the schema for those details.

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 clearly states it calculates exempt and taxable parts of per diem allowances (dietas), referencing the specific article RIRPF art.9. However, it does not explicitly distinguish this tool from sibling tools like calcular_irpf or calcular_retribucion_especie, which could also deal with income tax. The specificity of 'dietas' provides implicit differentiation, but lacks explicit sibling contrast.

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 explains what the tool does and provides current year limits, but it does not specify when to use this tool versus alternative calculation tools for meal or travel expenses (e.g., calcular_combustible, calcular_kilometraje). There is no guidance on prerequisites or when not to use it, leaving the agent to infer usage context from the name alone.

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

calcular_diferencia_fechasAInspect

Calcula cuánto tiempo hay entre dos fechas: días totales, semanas, meses y desglose exacto en años/meses/días. Útil para plazos, antigüedad, tiempo transcurrido o tiempo restante hasta un evento.

ParametersJSON Schema
NameRequiredDescriptionDefault
fechaFinYesFecha final en formato YYYY-MM-DD o "hoy"
fechaInicioYesFecha inicial en formato YYYY-MM-DD o "hoy"
Behavior3/5

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

With no annotations provided, the description carries full burden. It discloses the types of results (days, weeks, months, breakdown) but does not specify behavior for edge cases like reverse dates or invalid inputs, leaving minor gaps.

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 concise sentences: first states what the tool does, second suggests when to use it. No unnecessary words; front-loaded with core action.

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 tool with no output schema, the description adequately lists return components. It covers input format (via schema) and usage contexts. Minor gaps: missing handling of invalid dates or direction of difference, but overall sufficient.

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?

Input schema has 100% coverage with clear descriptions of format (YYYY-MM-DD or 'hoy'). The tool description does not add parameter-specific meaning beyond the schema, so 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?

The description clearly states the tool calculates time between two dates with multiple units (days, weeks, months, years/months/days). The verb 'Calcula' and resource 'diferencia_fechas' are specific. No sibling tool performs date difference, so it is well distinguished.

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?

The description explicitly lists use cases: deadlines, seniority, elapsed time, and remaining time. However, it does not mention when not to use this tool or provide alternatives, though none exist among siblings.

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

calcular_donacionesAInspect

Calcula el Impuesto de Donaciones (ISD) en España con precisión normativa 2025. Más exacto que el conocimiento general: aplica la tarifa estatal (16 tramos), la tarifa propia de Cataluña, los coeficientes multiplicadores por patrimonio preexistente y las bonificaciones autonómicas de las 17 CCAA. Devuelve la cuota a pagar, el tipo efectivo y el desglose completo del cálculo. ⚠️ Estimación orientativa — no reemplaza asesoramiento fiscal profesional.

ParametersJSON Schema
NameRequiredDescriptionDefault
ccaaYesComunidad autónoma del donatario (quien recibe la donación). Valores: madrid, andalucia, galicia, murcia, valencia, extremadura, canarias, castilla-leon, rioja, castilla-mancha, cantabria, aragon, baleares, asturias, cataluna, pais-vasco, navarra
grupoYesGrupo de parentesco del donatario: I-conyuge = cónyuge o pareja de hecho, I-descendiente = hijo/nieto menor de 21 años, II = hijo/nieto mayor de 21 años u otro descendiente/ascendiente, II-ascendiente = padre, madre, abuelo, III = colateral 2º y 3er grado (hermano, tío, sobrino), cónyuge de descendiente, IV = colateral 4º grado, extraños
cargasNoCargas deducibles en euros (hipotecas u otras cargas reales sobre el bien donado). Por defecto 0.
discapacidadNoGrado de discapacidad del donatario: "0" = sin discapacidad, "33" = grado 33%–64%, "65" = grado ≥65%. Por defecto "0".
patrimonioIdxNoÍndice del patrimonio preexistente del donatario (afecta al coeficiente multiplicador): 1 = hasta 402.678 €, 2 = de 402.678 a 2.007.380 €, 3 = de 2.007.380 a 4.020.770 €, 4 = más de 4.020.770 €. Por defecto 1.
valorDonacionYesValor de la donación en euros (ej: 50000 para 50.000 €)
escrituraPublicaNoSi la donación se formaliza en escritura pública notarial. Afecta a Cataluña (tarifa reducida) y Castilla-La Mancha (bonificación). Por defecto true.
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses it is an estimation and returns breakdown details. It does not cover edge cases or input validation but is transparent about scope and limitations.

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?

Description is a single paragraph that front-loads purpose and is informative. Slightly verbose but acceptable; the emoji warning adds a small penalty for formality.

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?

Given no output schema, description mentions return values (cuota, tipo efectivo, desglose). For a complex tax tool with many siblings, this is helpful but lacks full detail on output structure.

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% so baseline is 3. Description adds context about accuracy and regional bonuses but does not elaborate on parameter relationships beyond schema descriptions.

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 clearly states it calculates Donations Tax (ISD) in Spain with precise regulatory details for 2025, listing specific components and return values. This distinguishes it from sibling tools like calcular_sucesiones.

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 implies usage for calculating donations tax but does not explicitly state when to use versus alternatives. It includes a disclaimer about professional advice but no when-not-to-use guidance.

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

calcular_edadAInspect

Calcula la edad exacta en años, meses y días a partir de una fecha de nacimiento. Indica también el total de días vividos y cuándo es el próximo cumpleaños.

ParametersJSON Schema
NameRequiredDescriptionDefault
fechaNacimientoYesFecha de nacimiento en formato YYYY-MM-DD (ej: 1990-05-15)
fechaReferenciaNoFecha en la que calcular la edad en formato YYYY-MM-DD o "hoy". Por defecto hoy.
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses that the tool computes age and returns additional details (total days, next birthday), but does not mention potential side effects, data usage, or limitations. It is adequate for a read-only calculation.

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?

The description is a single sentence that efficiently communicates the tool's core functionality and outputs without redundancy. Every part adds value.

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 there is no output schema, the description fully explains what the tool returns (age in years/months/days, total days lived, next birthday). For a simple calculator with low complexity, the description is complete.

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?

Input schema provides full descriptions for both parameters (fechaNacimiento and fechaReferencia) with format examples. The description adds no extra meaning beyond the schema, but the schema coverage is 100%, justifying a baseline score of 3.

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 clearly states the tool calculates exact age in years, months, and days from a birth date, and also provides total days lived and next birthday. The name matches exactly, and the tool is distinct from sibling calculators.

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 implies usage for age calculation but does not explicitly state when or when not to use this tool versus alternative siblings. No guidance on prerequisites or exclusions is provided.

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

calcular_embargo_salarioAInspect

Calcula el importe máximo embargable del salario según la escala del art. 607 LEC. Determina la parte inembargable (SMI) y los tramos embargables sobre el exceso. Útil para deudores, acreedores y abogados.

ParametersJSON Schema
NameRequiredDescriptionDefault
pagasNoNúmero de pagas anuales para el cálculo del SMI (12 o 14). Por defecto 14 (oficial LEC).
salarioNetoMensualYesSalario neto mensual del deudor (€)
reduccionCargasFamiliaresNoPorcentaje de reducción por cargas familiares acordado judicialmente (0-15%). Solo si el juez lo ha autorizado.
Behavior3/5

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

No annotations are provided, so the description must disclose behavior. It explains the calculation basis (legal scale and SMI) but does not mention whether the tool is read-only, if it modifies any state, or what happens with invalid inputs. The description is adequate for a pure calculation tool but lacks full transparency on side effects or error handling.

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?

The description is two concise sentences, front-loaded with the main action. It includes the legal reference, target users, and explains the calculation output (non-seizable part and brackets). No unnecessary words are present.

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?

The description covers the calculation logic and target users, but since there is no output schema, it would benefit from explicitly stating the return format (e.g., the maximum seizable amount, breakdown of brackets). The mention of 'parte inembargable' and 'tramos embargables' implies the output structure, but it is not fully explicit.

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?

The input schema has 100% description coverage with clear parameter descriptions (salarioNetoMensual, pagas, reduccionCargasFamiliares). The tool description summarizes the overall calculation but does not add extra semantic detail beyond what the schema already provides. Therefore, the description adds no significant value over the schema.

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 clearly states the verb 'Calcula' and the resource 'importe máximo embargable del salario', specifies the legal scale (art. 607 LEC), and explains the calculation (non-seizable part and brackets). It also names target users (deudores, acreedores, abogados), making the purpose distinct from sibling calculators.

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 implies usage for salary embargo calculations and lists potential users, but it does not explicitly state when to use this tool versus alternatives (e.g., other Spanish legal calculators) or provide when-not-to-use conditions. The context from sibling tools suggests a generic calculation family, but no direct guidance is given.

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

calcular_empresa_familiar_isdAInspect

Calcula la reducción del 95% (o más en PV/Navarra) en el ISD por transmisión de empresa familiar o participaciones en entidades (LISD arts. 20.2.c y 20.6). Verifica requisitos: exención en IP, funciones de dirección, retribución >50% rendimientos, grado de parentesco. Informa sobre plazo de mantenimiento por CCAA.

ParametersJSON Schema
NameRequiredDescriptionDefault
ccaaYesComunidad Autónoma del causante/donante
tipoISNoTipo IS de la empresa (%) — solo informativo
tipoParentescoYesParentesco del adquirente con el causante/donante
tipoTransmisionYesModalidad: herencia (mortis causa) o donación (inter vivos)
pctParticipacionYesPorcentaje de participación transmitida (%)
estaExentaEnPatrimonioYes¿La empresa/participaciones están exentas en el Impuesto sobre el Patrimonio (IP)?
ejerceFuncionesDereccionYes¿El transmitente (o algún miembro del grupo familiar) ejerce funciones de dirección efectivas?
valorEmpresaParticipacionesYesValor total de la empresa o de las participaciones (EUR)
retribucionDireccionSuperior50pctYes¿La retribución por funciones de dirección supera el 50% de los rendimientos netos totales del transmitente?
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses that the tool verifies several requirements (exemption in IP, management functions, etc.), which adds transparency, but it does not describe behavioral traits like error handling, side effects, or whether it returns partial results.

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

Conciseness4/5

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

The description is concise with two sentences. It front-loads the main purpose and then lists verified requirements. It is efficient and readable, though could be slightly more structured with bullet points.

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

Completeness3/5

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

Given 9 parameters, no output schema, and no annotations, the description provides the core functionality and lists key checks, but lacks information on output format, error conditions, or edge cases. It is somewhat complete but leaves gaps.

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 input schema already documents all parameters. The description adds no additional meaning beyond what is in the schema, meeting the baseline. No parameter details are missing.

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 clearly states that the tool calculates a 95% reduction in ISD for family business transmissions, referencing specific legal articles and listing verification of requirements. This is specific and distinct from sibling tools like calcular_sucesiones or calcular_donaciones.

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 implies usage for family business ISD calculations but does not explicitly state when to use this tool vs alternatives, nor does it provide exclusions or when-not-to-use scenarios. It lacks explicit guidance for the agent.

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

calcular_erte_reduccionAInspect

Calcula el impacto económico de un ERTE por reducción de jornada (entre el 10% y el 70%) para el trabajador y la empresa. El trabajador cobra el salario proporcional a las horas trabajadas (empresa) + la prestación del SEPE por las horas no trabajadas (70% BR los primeros 180 días, 50% a partir del día 181). La empresa puede estar exonerada de cotizar SS por las horas reducidas. El ERTE de reducción NO consume el contador de desempleo del trabajador. Normativa: ET art. 47 + Ley 32/2021.

ParametersJSON Schema
NameRequiredDescriptionDefault
motivoERTEYesMotivo del ERTE: etop_economico=causas económicas; etop_tecnico_organizativo=causas técnicas u organizativas; fuerza_mayor=fuerza mayor (requiere resolución autoridad laboral); mecanismo_red=MECAS Ley 32/2021
diasConsumidosNoDías de prestación de desempleo ya consumidos por este trabajador antes del ERTE. Importa para saber si aplica el 70% (primeros 180 días) o el 50% (desde el día 181). Default: 0
pctReduccionJornadaYesPorcentaje de reducción de jornada (entre 10% y 70%). Ej: 50 para reducción del 50% de la jornada
salarioBrutoMensualYesSalario bruto mensual del trabajador antes del ERTE (€/mes)
baseCotizacionDesempleoYesBase de cotización mensual por desempleo (€) — para calcular la prestación del SEPE (normalmente coincide con el salario bruto)
exoneracionCotizacionSSNo¿La empresa está exonerada de cotizar SS por las horas reducidas? Aplica en MECAS y ERTE de fuerza mayor. Default: false
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses key behavioral traits: worker receives proportional salary plus SEPE benefit (70% first 180 days, 50% thereafter), employer may be exempt from SS contributions, and the ERTE does not consume unemployment counter. This is rich context beyond a simple 'calculate' statement.

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

Conciseness4/5

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

The description is two sentences, front-loaded with purpose. Every sentence adds information (calculation details, legal reference). While not extremely concise, it is efficient with no waste. Could be slightly more structured but acceptable.

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

Completeness3/5

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

Given 6 parameters and no output schema, the description explains the calculation logic and conditions (e.g., 70%/50% rule, SS exemption, unemployment consumption). However, it lacks any indication of what the return format or output will be, which is a gap for agent 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 coverage is 100%, so baseline is 3. The description adds some context (e.g., 70%/50% rule tying to diasConsumidos) but mostly repeats or complements what the schema already provides for each parameter. No significant additional meaning beyond the schema.

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 clearly states it calculates the economic impact of an ERTE by reduction of working hours (10%-70%) for both worker and company, using specific verbs and resources. It distinguishes itself from siblings like calcular_pension_desempleo or calcular_baja_medica by focusing on this specific scenario.

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 implies use for ERTE reduction cases but does not explicitly state when to use versus alternatives. There is no mention of when not to use or which sibling tools might be more appropriate, leaving the agent without clear decision criteria.

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

calcular_estadisticasAInspect

Calcula los principales descriptores estadísticos de un conjunto de datos numéricos: media, mediana, moda, varianza, desviación típica, percentiles (Q1/Q2/Q3), rango intercuartílico, coeficiente de variación y asimetría de Fisher. Muy útil para analizar rendimientos de inversiones, precios, gastos, ingresos, etc. Encadenable con cualquier tool que devuelva series de valores numéricos. Ideal para: "Analiza estas rentabilidades mensuales de mi cartera: [2.3, -1.1, 3.4, ...]"

ParametersJSON Schema
NameRequiredDescriptionDefault
nombreNoNombre descriptivo del conjunto de datos (ej: "Rendimientos cartera 2024").
valoresYesLista de valores numéricos a analizar (mínimo 2, máximo 1.000). Ejemplos: rendimientos mensuales, precios, gastos.
decimalesNoNúmero de decimales para los resultados. Por defecto 4.
Behavior3/5

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

No annotations are provided, so the description bears full burden. It lists the computed statistics but does not disclose the output format, rounding behavior, or potential error handling (e.g., non-numeric inputs are prevented by schema). The description is fairly transparent about computation but lacks detail on return structure.

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

Conciseness4/5

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

The description is a single concise paragraph that efficiently states purpose, lists statistics, and gives usage guidance. It is well-structured and front-loaded, though a minor improvement would be to separate the examples into a bullet or explicit section.

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

Completeness3/5

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

Given the tool's complexity (multiple statistics) and lack of output schema, the description lists all computed statistics but does not specify the return format (e.g., JSON structure). It covers the 'what' but not the 'how' of output, leaving some ambiguity for the agent.

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%, so baseline is 3. The description does not add significant meaning beyond the schema's parameter descriptions (nombre, valores with constraints, decimales). The example hints at usage but does not elaborate on parameter semantics.

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 explicitly states that the tool calculates principal statistical descriptors (mean, median, mode, variance, etc.) of a numerical dataset. It lists the exact statistics and provides usage context, clearly distinguishing itself from sibling tools focused on specific financial or legal calculations.

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?

The description advises when to use the tool (e.g., analyzing returns, prices, expenses) and highlights its chainability with other tools that return numerical series. It includes an example query. However, it does not explicitly mention when not to use it or suggest alternatives for single-statistic needs.

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

calcular_estimacion_objetivaAInspect

Calcula el rendimiento neto de actividades económicas en el régimen de Estimación Objetiva (módulos). El usuario aporta los módulos con sus unidades y el rendimiento anual por unidad (según la Orden Ministerial anual). Aplica índices correctores por tamaño de municipio, temporada, reducciones por inicio de actividad y la reducción general del 10% prorrogada para 2025. Normativa: RIRPF arts. 32-37.

ParametersJSON Schema
NameRequiredDescriptionDefault
modulosYesLista de módulos con sus unidades y rendimiento por unidad. Los valores de rendimiento/unidad están publicados en la Orden Ministerial anual para cada actividad IAE
codigoIAENoCódigo IAE de la actividad (referencia)
mesesActividadNoMeses de actividad al año (para actividades de temporada). Default: 12
situacionInicioNoSituación de inicio de actividad para reducciones: primer_anio→20%, segundo_anio→10%, actividad_consolidada→sin reducción
tamanioMunicipioNoTamaño del municipio para aplicar índice corrector: hasta_2000_hab→0,80; 2001_5000_hab→0,90; mas_5000_hab→sin corrector
tipoMarginalIRPFNoTipo marginal IRPF (%) para estimar la cuota. Default: 30%
descripcionActividadNoDescripción de la actividad (ej: "Bar - IAE 672.1", "Taxi - IAE 721.2")
aplicarReduccionGeneral2025No¿Aplicar reducción general 2025 del 10% (prorrogada por Ley 22/2024)? Default: true
aplicarReduccionIrregularidadNo¿Aplicar reducción por irregularidad del 30% (ingresos generados en más de 2 años)? Default: false
Behavior4/5

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

With no annotations, the description carries full burden. It discloses applied indices (municipality size, season), reductions (start-up, general 10% for 2025), and references legal articles. It does not detail every internal calculation but gives sufficient behavioral context.

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

Conciseness4/5

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

The description is a single paragraph of four sentences, efficiently conveying purpose, inputs, adjustments, and legal basis. No redundancy, though slightly dense; could be more scannable but not detrimental.

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

Completeness3/5

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

The description covers inputs and adjustments well, but lacks information about the output (e.g., net income amount, breakdown). Given no output schema, the description should hint at what is returned. Also, some parameters like 'tipoMarginalIRPF' are mentioned but their role in output is unclear.

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% with descriptions. The description adds value by explaining regime-specific context (e.g., annual yield from Ministerial Order, reduction percentages). This enhances understanding beyond the schema 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 clearly states the tool calculates net income for the 'Estimación Objetiva' regime, specifies inputs (modules, units, yield) and adjustments (corrections, reductions), and distinguishes it from siblings that handle other tax regimes.

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 explains what the tool does and the required inputs, but does not explicitly state when to use it versus alternatives (e.g., other estimation methods) or provide 'when-not-to-use' guidance. Usage context is implied but not explicit.

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

calcular_estrategia_deudaAInspect

Compara los métodos Avalancha (mayor interés primero) y Bola de Nieve (menor saldo primero) para pagar múltiples deudas, con soporte para pagos extra mensuales. Devuelve: total intereses pagados, meses hasta liquidar, ahorro vs pagar solo mínimos y método recomendado. Encadenable con calcular_prestamo, calcular_break_even. Ideal para: "Tengo 3 préstamos, ¿cómo pago menos intereses?"

ParametersJSON Schema
NameRequiredDescriptionDefault
deudasYesLista de deudas a analizar (máximo 10).
pagoExtraMensualNoPago extra mensual adicional sobre los mínimos en euros. Por defecto 0.
Behavior4/5

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

With no annotations, the description carries the full burden. It explains the comparison logic and output, and the example input clarifies expected behavior. It does not mention edge cases or error handling, but for a calculation tool it is reasonably transparent.

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?

The description is concise: two sentences plus an example and chaining hints. Every sentence adds value, with no filler or repetition. It is front-loaded with the core purpose.

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?

Despite no output schema, the description lists all output fields. Parameter descriptions in the schema are complete. The tool is a calculation with clear inputs and outputs, and the description, combined with the schema, fully covers what the agent needs 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 coverage is 100%, so the baseline is 3. The description adds context about the output and chaining, but does not provide additional meaning for parameters beyond what the schema already gives (e.g., deudas, pagoExtraMensual).

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 clearly states it compares two debt repayment methods (Avalancha and Bola de Nieve), supports extra payments, and specifies the output (total interest, months, savings, recommended method). It also mentions chaining with other tools and gives an example query, making its purpose 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?

The description includes an explicit ideal use case ('Tengo 3 préstamos, ¿cómo pago menos intereses?') and mentions chaining with calcular_prestamo and calcular_break_even, which helps in choosing this tool. However, it does not explicitly state when not to use it or provide exclusions.

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

calcular_excedenciaAInspect

Calcula los derechos y efectos de la excedencia laboral según el ET arts. 45-46. Tipos: voluntaria (4 meses–5 años, sin reserva de puesto, sin cotización SS), forzosa (cargo político/sindical, reserva puesto, cotización ficticia), cuidado de hijo (máx 3 años, primer año reserva puesto exacto, 3 años computables SS) y cuidado de familiar hasta 2.º grado (máx 2 años, 18 meses computables SS). Calcula el coste en ingresos no percibidos y el impacto en prestaciones futuras. Encadenable con: calcular_finiquito, calcular_pension_publica, calcular_baja_medica.

ParametersJSON Schema
NameRequiredDescriptionDefault
edadNoEdad del trabajador (para orientar sobre impacto en jubilación). Por defecto 35.
tipoYesTipo de excedencia laboral
duracionMesesYesDuración solicitada de la excedencia (meses)
antiguedadAniosYesAntigüedad del trabajador en la empresa (años)
salarioBrutoMensualYesSalario bruto mensual actual (€)
Behavior4/5

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

No annotations are provided, so the description carries full burden. It details the behavioral traits of each excedencia type (duration, reservation, SS contributions) and states it calculates cost and impact on future benefits. This provides sufficient transparency for a calculation tool, though it does not explicitly confirm read-only behavior.

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?

The description is concise, front-loaded with the main purpose, and uses a bullet-like list for types. Every sentence adds value without redundancy.

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

Completeness3/5

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

While the description covers input behavior and types, it lacks information about the output format or return values, as there is no output schema. This omission reduces completeness for an agent.

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 baseline is 3. The description adds significant context beyond schema by explaining each tipo in detail and how antiguedad, salario, and duracion affect the calculation, thus providing additional meaning.

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 begins with a specific verb 'Calcula' and resource 'derechos y efectos de la excedencia laboral', clearly distinguishing this tool from numerous sibling tools like calcular_finiquito or calcular_baja_medica.

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?

The description explains when to use the tool (for different types of excedencia) and mentions it can be chained with other tools. However, it does not explicitly state when not to use it or provide alternative tools.

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

calcular_excedente_cotizacion_ssAInspect

Calcula la devolución por exceso de cotizaciones SS en pluriactividad (RGSS + RETA simultáneos): cuando la suma de cotizaciones de ambos regímenes supera el 53,26% de la base máxima anual, la TGSS devuelve el 50% del exceso (LGSS art. 313).

ParametersJSON Schema
NameRequiredDescriptionDefault
cuotasCCAnualesRETAYesCuotas de contingencias comunes pagadas en el RETA durante el año (€)
cuotasCCAnualesRGSSNoCuotas de contingencias comunes pagadas en el RGSS durante el año (€) — alternativa a baseCotizacionAnualRGSS
baseCotizacionAnualRGSSNoBase de cotización anual total en el Régimen General (€) — para calcular las cuotas CC del RGSS (4,7%)
Behavior3/5

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

With no annotations, the description must fully disclose behavior. It explains the calculation logic and legal basis, but omits details like how the base máxima anual is obtained (e.g., fixed or input), whether inputs must be annual or can be monthly, and the output format (e.g., exact amount, rounding). This leaves some ambiguity.

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?

The description is a single, information-packed sentence that efficiently conveys purpose, context, and calculation rule. No wasted words.

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

Completeness3/5

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

Given no output schema, the description should clarify the return value, but only mentions 'devuelve el 50% del exceso' without specifying the exact format (e.g., scalar amount) or handling of no excess. The legal reference adds credibility but completeness is moderate for a calculator tool.

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?

The input schema has 100% coverage with parameter descriptions, so the description adds no new parameter-specific information. The baseline of 3 is appropriate; the schema already explains the three parameters.

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 clearly states the tool calculates the refund for excess social security contributions in multi-activity situations, with specific details on the threshold (53.26% of max annual base) and refund rate (50% of excess). This verb+resource combination is unique among sibling tools, which are all general financial calculations.

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?

The intended use is clear: when a user has simultaneous RGSS and RETA contributions and wants to compute potential refund. However, it does not explicitly state when not to use it or suggest alternatives, which would improve guidance.

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

calcular_exencion_reinversion_viviendaAInspect

Calcula la exención por reinversión en vivienda habitual (LIRPF art. 38.1). Si se reinvierte el 100% del precio de venta en una nueva vivienda habitual en los 2 años siguientes (o anteriores), la ganancia queda exenta. Si se reinvierte solo una parte, la exención es proporcional. Mayores de 65 años: exentos sin reinversión.

ParametersJSON Schema
NameRequiredDescriptionDefault
mayor65anosNo¿El vendedor tiene más de 65 años? → ganancia exenta sin necesidad de reinvertir
valorAdquisicionYesValor de adquisición de la vivienda vendida (EUR)
gastosAdquisicionNoGastos de adquisición (notaría, ITP/AJD...) (EUR)
gastosTransmisionNoGastos de transmisión (notaría, agencia, plusvalía municipal...) (EUR)
hipotecaPendienteNoCapital pendiente de hipoteca asumido por el comprador (EUR) — reduce el importe a reinvertir
precioTransmisionYesPrecio de venta de la vivienda habitual (EUR)
importeReinvertidoNoImporte reinvertido en la nueva vivienda (EUR) — solo si situacion=reinversion_parcial
situacionReinversionYesSituación: reinversión total, parcial, sin reinversión, o compra de la nueva vivienda en los 2 años previos a la venta
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the core logic: exemption calculation based on reinvestment percentage, and the over-65 special case. It does not describe the exact output format, but the behavior is well explained.

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?

The description is three concise sentences, front-loading the purpose and key conditions. Every sentence adds value, no redundant wording.

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?

Given 8 parameters, 100% schema coverage, and no output schema, the description covers the essential logic and special cases. It does not explain output structure, but for a calculator tool, the description is reasonably complete.

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%, so the input schema already describes all parameters in detail. The description repeats the over-65 condition but 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.

Purpose5/5

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

The description clearly specifies the tool calculates a particular tax exemption (exención por reinversión en vivienda habitual) per LIRPF art. 38.1, and explains the main conditions (full/partial reinvestment, over-65 exemption), distinguishing it from sibling tools like calcular_venta_inmueble or calcular_plusvalias_irpf.

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?

The description explains when to use the tool (when computing reinvestment exemption) and the conditions (100% reinvestment, partial, over 65). It does not explicitly mention when not to use it or name alternatives, but the specificity makes the intended use clear.

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

calcular_exposicion_equivalenteAInspect

Calcula exposiciones fotográficas equivalentes variando uno de los tres parámetros del triángulo de exposición (ISO, apertura o velocidad de obturación) manteniendo el mismo valor de exposición (EV). Útil para adaptar la exposición a trípode, movimiento, ruido o bokeh sin cambiar la luz registrada.

ParametersJSON Schema
NameRequiredDescriptionDefault
iso_baseYesISO de la exposición original (ej. 100, 400, 1600, 3200)
nuevo_valorYesNuevo valor del parámetro elegido, en las mismas unidades: ISO sin unidades (ej. 800), f-number para apertura (ej. 5.6), segundos para obturador (ej. 0.002)
apertura_baseYesApertura original en valor f (ej. 2.8 para f/2.8, 8 para f/8)
parametro_fijoYesParámetro que cambias tú manualmente (el sistema ajusta los otros para mantener EV): iso = cambias el ISO, apertura = cambias el diafragma, obturador = cambias la velocidad
obturador_base_sYesVelocidad de obturación original en segundos (ej. 0.01 para 1/100s, 0.004 para 1/250s, 2 para 2 segundos)
Behavior4/5

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

With no annotations provided, the description carries the full burden. It accurately explains that the tool calculates equivalent exposures by adjusting two parameters while keeping EV constant. It does not contradict annotations (none exist) and discloses the core behavior, though it could mention constraints or edge cases (e.g., out-of-range values).

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?

The description is concise (two sentences), front-loaded with the core functionality, and instantly useful. Every sentence earns its place: the first explains the calculation, the second provides practical usage scenarios. No wasted words.

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

Completeness3/5

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

Given the 5 parameters, 100% schema coverage, and no output schema, the description covers the concept and use cases but fails to specify the output format (e.g., what values are returned). An agent might need to know if the tool returns both adjusted parameters or just one. This gap reduces completeness.

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?

The input schema covers 100% of parameters with detailed descriptions. The description adds context by naming the three parameters and the 'triangle of exposure' concept, but does not significantly extend the meaning beyond what the schema already provides. Baseline 3 is appropriate as the schema does the heavy lifting.

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 clearly states it calculates equivalent photographic exposures by varying one of three exposure parameters (ISO, aperture, shutter speed) while maintaining the same EV. It differentiates from siblings (all financial/legal tools) by focusing on photography, and includes specific use cases like adapting to tripod, movement, noise, or bokeh.

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?

The description provides clear context for when to use the tool (e.g., adapting exposure without changing EV), and implicitly distinguishes from other tools by domain. However, it does not explicitly state when not to use it or mention alternatives, which would be helpful given the large sibling list.

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

calcular_fecha_resultadoAInspect

Suma o resta días, semanas, meses o años a una fecha para obtener otra fecha. Útil para calcular plazos, vencimientos, fechas futuras o pasadas.

ParametersJSON Schema
NameRequiredDescriptionDefault
unidadYesUnidad de tiempo: dias, semanas, meses o anios
cantidadYesNúmero de unidades a sumar o restar
fechaBaseYesFecha de partida en formato YYYY-MM-DD o "hoy"
operacionYes"sumar" para obtener una fecha futura, "restar" para una fecha pasada
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It accurately states the operation (suma/resta) but does not disclose edge case handling (e.g., month-end rollovers) or return format. The transparency is adequate but basic for a simple date calculator.

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?

The description is extremely concise: two sentences front-loading the core functionality immediately. Every word adds value, with no redundant or extraneous content.

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?

Given the tool's low complexity (4 parameters, all explained in schema), the description is sufficient. It explains purpose and typical use cases. However, it does not mention return type or potential limitations, which slightly reduces completeness.

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 detailed descriptions for each parameter. The description adds no new parameter information beyond what the schema already provides (e.g., 'días, semanas, meses o años' is repeated). Baseline score of 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?

Description clearly states 'Suma o resta días, semanas, meses o años a una fecha para obtener otra fecha.' It uses specific verbs and a well-defined resource (fecha). Among sibling tools focused on specialized calculations (tax, loans, etc.), this one uniquely handles date arithmetic, making it easy to distinguish.

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?

Description provides context by stating 'Útil para calcular plazos, vencimientos, fechas futuras o pasadas.' It implicitly guides when to use the tool but lacks explicit exclusions or alternatives. The sibling tool list further clarifies its unique role.

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

calcular_filtro_nd_videoAInspect

Calcula qué filtro ND necesitas para cumplir la regla de los 180° en exteriores. Introduce el frame rate y la velocidad de obturación actual para obtener las paradas exactas y el filtro recomendado de la gama ND2–ND1000.

ParametersJSON Schema
NameRequiredDescriptionDefault
fpsYesFrame rate de grabación (ej. 25, 30, 60)
obturador_actual_sYesVelocidad de obturación actual en segundos (ej. 0.002 para 1/500, 0.004 para 1/250)
Behavior2/5

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

No annotations are provided, so the description must disclose all behavioral traits. It states it calculates and recommends, but omits details like edge cases (e.g., invalid inputs), required filter range (ND2–ND1000 implied but not elaborated), or whether it handles non-standard scenarios. Basic but incomplete.

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: the first states the main purpose, the second details inputs and outputs. No wasted words, front-loaded, and easy to scan.

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?

Given no output schema, the description adequately explains return values ('paradas exactas y el filtro recomendado'). It covers inputs, outputs, and goal. However, it could specify output format (e.g., number of stops, filter name) and differentiate from the sibling tool, but overall complete for a simple calculator.

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% with clear descriptions for both parameters (fps and shutter speed with examples). The description adds context by linking them to the ND filter calculation, which is marginal additional value. 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?

The description clearly states the tool's purpose: calculate the ND filter needed to follow the 180-degree rule outdoors. It specifies inputs (frame rate, current shutter speed) and outputs (exact stops, recommended filter). This distinguishes it from related sibling 'calcular_regla_180_video', which likely calculates shutter speed instead.

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 tells users what inputs to provide ('Introduce el frame rate y la velocidad de obturación actual'), but does not explicitly state when to use this tool versus alternatives like 'calcular_regla_180_video'. It lacks guidance on when not to use it or prerequisites.

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

calcular_finiquitoAInspect

Calcula los conceptos del finiquito al terminar una relación laboral: indemnización por despido (si aplica), vacaciones no disfrutadas, parte proporcional de pagas extras y salarios pendientes del mes en curso. Modalidades: despido improcedente (33 días/año, máx 24 mensualidades), despido por causas objetivas (20 días/año, máx 12 mensualidades), fin de contrato temporal (12 días/año), baja voluntaria (0€). La indemnización por despido improcedente y objetivo está EXENTA de IRPF hasta 180.000€.

ParametersJSON Schema
NameRequiredDescriptionDefault
pagasNoNúmero de pagas totales al año: 12, 13 o 14. Por defecto 14.
fechaBajaYesFecha del último día trabajado / baja (YYYY-MM-DD, ej: "2025-06-30")
fechaInicioYesFecha de inicio del contrato (YYYY-MM-DD, ej: "2019-03-01")
motivoFiniquitoYes"despido_improcedente": 33 días/año · "despido_objetivo": 20 días/año (ETOP, art.52 ET) · "despido_disciplinario": 0€ (si es procedente) · "fin_contrato_temporal": 12 días/año · "baja_voluntaria": 0€ indemnización · "mutuo_acuerdo": lo que acuerden las partes
salarioBrutoMensualYesSalario bruto mensual del empleado en euros (última nómina completa)
diasVacacionesAnualesNoDías de vacaciones anuales según convenio (mínimo legal 22 días laborables). Por defecto 22.
diasVacacionesDisfrutadosNoDías de vacaciones ya disfrutados en el año actual. Por defecto 0.
Behavior4/5

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

Without annotations, the description carries full burden. It discloses key behavioral aspects: formulas for each modality, caps (24 or 12 mensualidades), and tax exemption up to 180,000€. It does not mention side effects like data persistence, but as a calculator this is acceptable. Minor gap: no mention of response behavior (e.g., format).

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?

The description is concise: two sentences, front-loaded with purpose and key details. No wasted words; every sentence adds value.

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

Completeness2/5

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

Despite complexity (7 parameters, no output schema), the description fails to explain what the tool returns (e.g., a breakdown of amounts, total). It also omits assumptions (e.g., full-time, type of contract). The lack of output schema makes this gap more critical.

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 baseline is 3. The description adds context by explaining how parameters relate to concepts like días/año and tax exemption, but repeats some schema info. It does not significantly clarify parameter usage beyond what schema already provides.

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 clearly states the tool calculates finiquito concepts (indemnización, vacaciones, pagas extras, salarios pendientes) for ending an employment relationship. It lists specific modalities with legal formulas, distinguishing it from the many other cálculo tools in the server.

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?

The description provides clear context for when to use the tool (termination of employment) and indirectly implies alternatives by detailing different dismissal types. However, it does not explicitly state when not to use it or mention alternative tools for related calculations.

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

calcular_fireAInspect

Calcula el objetivo de independencia financiera (FIRE — Financial Independence, Retire Early). Determina el "número FIRE" (patrimonio necesario según la regla del 4%), los años necesarios para alcanzarlo con tu ahorro e inversión actual, y una proyección patrimonial año a año. Clasifica el objetivo en Lean FIRE (<20k€/año), FIRE normal (20-50k€) o Fat FIRE (>50k€).

ParametersJSON Schema
NameRequiredDescriptionDefault
tasaRetiroNoTasa de retiro segura anual en %. Por defecto 4% (regla del 4% de Trinity Study). Una tasa menor (3-3,5%) es más conservadora.
gastosAnualesYesGastos anuales totales en euros (base del cálculo FIRE)
ingresosAnualesYesIngresos anuales netos en euros (para calcular el ahorro anual)
patrimonioActualNoPatrimonio financiero ya invertido en euros (acciones, fondos, etc.). Por defecto 0.
rentabilidadAnualNoRentabilidad anual esperada de la cartera en %. Por defecto 7% (histórica renta variable diversificada).
Behavior2/5

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

No annotations are provided, so the description should disclose behavioral traits. It explains the calculation (FIRE number, years, projection) but does not mention any assumptions, limitations, or potential side effects. For a calculation tool, this is minimal 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?

The description is three sentences, front-loaded with the main purpose, and every sentence adds information. No redundant words.

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?

The description covers inputs, outputs (FIRE number, years, projection, classification), and gives examples of thresholds. However, it lacks details on the output format (e.g., JSON structure) since there is no output schema. Overall, it is sufficiently complete for a calculation tool.

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 input schema has 100% coverage with descriptions for each parameter. The description adds value by defining the FIRE thresholds (Lean <20k€, Normal 20-50k€, Fat >50k€) and explaining the classification, which goes beyond the schema.

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 clearly states the tool calculates FIRE objectives, including the FIRE number, years to retirement, and yearly projection. It distinguishes itself by specifying the classification into Lean, Normal, and Fat FIRE, which sets it apart from other financial calculation tools in the sibling list.

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 implicitly tells when to use (when planning financial independence) but does not explicitly state when not to use or provide alternatives. The context is clear but lacks explicit usage boundaries.

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

calcular_fov_videoAInspect

Calcula el ángulo de campo (FOV) horizontal, vertical y diagonal para una focal y sensor dados. Incluye comparativa entre Full Frame, APS-C y Micro 4/3 con el focal equivalente en 35mm.

ParametersJSON Schema
NameRequiredDescriptionDefault
sensorNoTipo de sensor: ff = Full Frame, apsc15 = APS-C Nikon/Sony, apsc16 = APS-C Canon, m43 = Micro 4/3. Por defecto ff
focal_mmYesFocal del objetivo en milímetros (ej. 24, 35, 50, 85)
Behavior3/5

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

No annotations provided, so the description carries the full burden. It accurately describes the calculation and comparison but does not disclose whether the tool is read-only or has side effects. However, as a calculation tool, it's implicitly safe.

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: first states the primary function, second adds the comparison feature. No extraneous words, highly efficient and front-loaded with key 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?

Given no output schema, the description adequately specifies the return values (horizontal, vertical, diagonal angles) and the comparison feature. For a simple calculator with two well-documented parameters, this is sufficient.

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 description coverage is 100% for both parameters. The description adds value by explaining that the tool computes multiple angles and includes a comparison with equivalent focal length, offering context beyond the schema's parameter descriptions.

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 clearly specifies the tool calculates horizontal, vertical, and diagonal field of view given focal length and sensor, and includes a comparison across sensor formats with equivalent focal length. It uses a specific verb 'Calcula' and distinguishes from siblings like 'calcular_profundidad_campo'.

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 implies usage for FOV calculation but does not explicitly state when to use or not use this tool versus alternatives. No exclusions or alternative tools are mentioned, though the context of sibling calculator tools provides some differentiation.

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

calcular_ganacheAInspect

Calcula las proporciones exactas de chocolate y nata para un ganache según el tipo de chocolate (negro extra/negro/semi-fondant/con leche/blanco) y la textura deseada (glaseado/trufa/firme). El ratio se ajusta automáticamente al porcentaje de cacao.

ParametersJSON Schema
NameRequiredDescriptionDefault
texturaNoglaseado: fluido para tartas/eclairs | trufa: para bolear trufas y rellenar bombones | firme: muy denso para modelar. Por defecto trufa.
total_gNoGramos totales de ganache a preparar. Por defecto 200g.
tipo_chocolateNonegro_extra >70% | negro 55-70% | semi_fondant 40-55% | con_leche 28-40% | blanco 0% cacao. Por defecto negro.
Behavior3/5

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

Without annotations, the description should fully disclose behavior. It states that proportions are calculated automatically based on cacao percentage, which is helpful. However, it does not mention output format, error handling, or defaults (which are in schema but not in description). The behavior is safe (read-only), but the description lacks detail on return values.

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?

The description is two sentences, 156 characters, and front-loaded with the core purpose. Every word serves a purpose, with no redundancy or filler. It is appropriately concise for a tool with simple inputs.

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

Completeness3/5

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

Given the tool's simplicity (3 optional parameters, no output schema), the description covers the inputs and auto-adjustment behavior. However, it omits default values (described in schema), output presentation (grams, percentages?), and does not state that all parameters are optional. A more complete description would mention return format and defaults.

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?

The schema covers 100% of parameters with descriptions, so the baseline is 3. The tool description adds the auto-adjustment to cacao percentage, which is a behavioral detail not in schema. However, it does not elaborate on parameter values or units beyond what the schema already provides, so minimal added meaning.

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 clearly states the tool calculates exact proportions of chocolate and cream for a ganache, specifying the type of chocolate and desired texture. This is a specific verb-resource combination that distinguishes it from sibling tools like calcular_hidratacion_pan or calcular_sustitucion_gelatina.

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 implies usage context by listing chocolate types and textures, but it does not explicitly state when to use or not use this tool versus alternatives. No exclusion criteria or alternative references are provided, so the guidance is only implicit.

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

calcular_ganancia_criptomonedasAInspect

Calcula ganancias y pérdidas patrimoniales por transmisión de criptomonedas (IRPF art. 37.1.v). Aplica regla FIFO obligatoria. Incluye cuota escala del ahorro 2025 y compensación de pérdidas con rendimientos del capital mobiliario (25%). Informa sobre obligaciones Modelo 721/172/173.

ParametersJSON Schema
NameRequiredDescriptionDefault
operacionesYesLista de operaciones de criptomonedas del período
saldoPositivoRCMNoSaldo positivo de rendimientos del capital mobiliario del período (EUR) — para calcular compensación con pérdidas cripto
tipoMarginalIRPFNoTipo marginal IRPF del contribuyente (%) — solo informativo
Behavior4/5

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

The description discloses key behavioral traits: mandatory FIFO application, inclusion of 2025 savings tax scale, compensation of losses with capital gains (25%), and reporting obligations for tax forms. This goes beyond what annotations would provide (none present) and informs the agent of important constraints.

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 sentences, each adding distinct value: purpose, rule, and inclusions. No redundant or filler content. Front-loaded with the core function.

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

Completeness3/5

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

The description covers the main purpose, key rules, and inclusions, but lacks explicit explanation of the output format or structure. Given the complexity (multiple calculations, no output schema), an agent may need more detail on what the tool returns.

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?

Input schema has 100% description coverage, so the schema already documents each parameter. The description adds no extra parameter-level detail beyond confirming FIFO, which is already implicit in the schema. Baseline score of 3 is appropriate as it adds marginal value.

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 clearly states it calculates gains/losses from crypto transfers (verb+resource) and cites the specific tax article (IRPF art. 37.1.v). It also mentions FIFO rule and inclusion of tax scale/compensation, making the scope unambiguous and distinguishing it from numerous sibling tools covering other tax calculations.

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?

The description explicitly ties the tool to crypto transactions ('por transmisión de criptomonedas') and mentions applicable rules (FIFO, scale, compensation). While it doesn't list alternatives or exclusions, the context is clear enough for an agent to infer when to use it versus other tax tools.

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

calcular_gasto_energeticoAInspect

Calcula el consumo eléctrico mensual del hogar y la factura estimada. A partir de los electrodomésticos (potencia, horas de uso, días al mes) calcula los kWh totales y desglosa la factura con todos los conceptos: coste de energía, término de potencia, impuesto eléctrico (5.113%) e IVA (21%).

ParametersJSON Schema
NameRequiredDescriptionDefault
preciokWhNoPrecio del kWh en euros. Por defecto 0.15 €/kWh (mercado libre orientativo). PVPC media ~0.13 €/kWh.
electrodomesticosYesLista de electrodomésticos con su potencia y uso
potenciaContratadaKWNoPotencia contratada en kW. Habitual: 3.45, 4.6, 5.75, 6.9, 8.05 kW. Por defecto 4.6 kW.
Behavior4/5

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

No annotations are provided, so the description carries the burden. It discloses that the tool calculates kWh from appliance inputs and breaks down the bill with specific components (energy cost, power term, electric tax, VAT). It also mentions default values for preciokWh and potenciaContratadaKW, providing good context beyond basic behavior.

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?

The description is extremely concise, consisting of two sentences. The first sentence states the purpose, and the second details the calculation process and bill breakdown. No unnecessary words.

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 no output schema, the description explains the output (kWh total and bill breakdown with concepts). It covers the 3 parameters with default values and examples. It lacks error handling or edge cases, but is sufficient for a calculation tool.

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% (baseline 3). The description adds meaning by explaining that appliances require power, hours per day, days per month. It provides examples for potenciaW (e.g., nevera 150W) and clarifies default values for preciokWh and potenciaContratadaKW with typical ranges, adding value beyond the schema.

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 clearly states the tool calculates monthly household electricity consumption and estimated bill. It uses a specific verb 'Calcula' and resource 'consumo eléctrico mensual' and 'factura estimada', distinguishing it from siblings which are other financial calculations.

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 implies use when you want to calculate electricity costs, but does not explicitly state when to use this tool versus alternatives or when not to use it. No exclusion criteria or alternative references are provided.

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

calcular_gastos_deducibles_autonomoAInspect

Calcula los gastos fiscalmente deducibles en el IRPF para un trabajador autónomo en Estimación Directa Normal o Simplificada (LIRPF arts. 28-30, RIRPF art. 22). Incluye reglas especiales: suministros de vivienda habitual (% afectación × 30%), vehículo (50% uso mixto / 100% transporte exclusivo), dietas (límites y requisitos), seguros médicos (500 EUR/persona), amortizaciones y provisión global 5% en ED Simplificada.

ParametersJSON Schema
NameRequiredDescriptionDefault
vehiculoNoDatos del vehículo si tiene gastos de automóvil
modalidadYesModalidad de estimación directa: normal o simplificada
tipoLocalYesTipo de local de trabajo: local_independiente (100% deducible) o vivienda_habitual (% por afectación)
gastoLocalNoGastos de local o alquiler de oficina (EUR/año)
otrosGastosNoOtros gastos deducibles: formación, suscripciones profesionales, gestoría, etc. (EUR/año)
cuotaAutonomoNoCuota SS autónomo (RETA o SETA) pagada en el año (EUR/año). 100% deducible
gastosComprasNoCompras de materiales y mercaderías (EUR/año)
amortizacionesNoCuotas de amortización de inmovilizado: equipos informáticos, mobiliario, software (EUR/año)
gastosPersonalNoGastos de personal: nóminas de empleados + SS empresa (EUR/año)
gastosPublicidadNoGastos de publicidad y marketing (EUR/año)
gastosFinancierosNoGastos financieros: intereses de préstamos de la actividad, comisiones bancarias (EUR/año)
pctViviendaAfectaNoSolo si tipoLocal=vivienda_habitual: porcentaje de la vivienda destinado a la actividad (m² despacho / m² total × 100)
gastosSubministrosNoGastos de suministros: luz, agua, gas, internet (EUR/año)
saldoDeudoresFinAnioNoSaldo de clientes/deudores al cierre del ejercicio (EUR). Solo para ED Simplificada: permite deducir provisión global del 5%
segurosPrivadosMedicosNoPrimas de seguros médicos privados del autónomo + familia (EUR/año). Límite: 500 EUR por persona
dietasPagadasConTarjetaNoImporte de dietas pagadas con tarjeta/transferencia (fuera del municipio) ya aplicando los límites del RIRPF: 26,67 EUR/día sin pernocta, 53,34 EUR/día con pernocta (EUR/año)
numFamiliaresDiscapacidadNoNúmero de familiares con discapacidad incluidos en el seguro médico (límite 1.500 EUR por persona)
numFamiliaresSeguroMedicoNoNúmero de familiares adicionales (cónyuge + hijos < 25 años) sin discapacidad incluidos en el seguro médico
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It adequately describes the calculation scope and special rules, but does not explicitly state that it is a non-destructive read-only operation or disclose any side effects. The behavioral traits are implied but not explicit.

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?

The description is concise, consisting of two sentences that front-load the purpose and then list special rules. No extraneous information is included, making it efficient for an agent to parse.

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

Completeness3/5

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

Given the tool's complexity with 18 parameters and no output schema, the description does not mention what the output looks like (e.g., single number or breakdown) nor highlight required parameters. It covers the purpose and special rules but lacks information on prerequisites and return format.

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% with detailed parameter descriptions. The description adds value by summarizing key special rules (e.g., 30% for home supplies, 50% for mixed vehicle use) that enhance understanding beyond the schema's individual parameter descriptions.

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 clearly states it calculates tax-deductible expenses for autonomous workers under specific tax regimes (Estimación Directa Normal o Simplificada). It references legal articles and lists special rules, differentiating it from sibling tools like calcular_irpf or calcular_deduccion_autonomo_irpf by focusing specifically on deductible expenses.

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 does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions or prerequisites. The purpose is clear but guidance on when-not-to-use is missing, leaving the agent to infer usage from the tool name and sibling context.

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

calcular_herencia_conjuntaAInspect

Divide una masa hereditaria entre varios herederos y calcula el Impuesto de Sucesiones de cada uno según su CCAA, grupo de parentesco, edad y patrimonio previo. Soporta reparto igualitario (automático) o porcentajes personalizados. Aplica todas las reducciones, coeficientes multiplicadores y bonificaciones autonómicas de las 17 CCAA, igual que la tool calcular_sucesiones. Ideal para comparar el impacto fiscal de diferentes repartos o CCAA.

ParametersJSON Schema
NameRequiredDescriptionDefault
herederosYesLista de herederos con sus datos. Mínimo 1, máximo 10.
masaHereditariaYesMasa hereditaria neta total en euros (activo: bienes y derechos - pasivo: deudas y cargas)
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool applies all reductions, multipliers, and bonuses for 17 CCAA, and supports equal or custom splits. However, it does not describe side effects, limitations (e.g., max heirs is in schema but not description), or whether results are returned only or stored. For a calculator, this is adequate but not exhaustive.

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

Conciseness5/5

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

The description is highly concise: 4 sentences, front-loaded with the core purpose, followed by key features, scope, and use case. Every sentence adds distinct value without redundancy.

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

Completeness3/5

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

The description covers the main functionality and scope but lacks detail on output format (no output schema provided). For a tool with multiple parameters and complex calculations, the return structure (e.g., per-heir breakdown, total tax) is important but missing. It also does not mention input validation or error cases.

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%, baseline 3. The description adds meaning beyond the schema by explaining that the tool supports automatic equal division or custom percentages (linked to the 'porcentaje' parameter), and that it applies all regional reductions and coefficients (not explicitly in schema). It also clarifies the purpose of comparing tax impact, adding context for the 'ccaa' and 'grupo' fields.

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 clearly states the tool divides an inheritance and calculates inheritance tax for each heir, specifying the factors used (CCAA, parentesco, edad, patrimonio). It explicitly distinguishes itself from the sibling 'calcular_sucesiones' and highlights its purpose for comparing different distribution scenarios or CCAA.

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?

The description mentions the tool is ideal for comparing fiscal impact across distributions or CCAA, implying when to use it. It describes features like equal or custom splits. However, it does not explicitly state when not to use it or provide alternatives beyond the mentioned 'calcular_sucesiones'.

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

calcular_hidratacion_panAInspect

Calcula la hidratación de una masa de pan o los gramos de agua necesarios para una hidratación objetivo. Bidireccional: agua→% o %→agua. Clasifica la hidratación y da ejemplos de panes típicos.

ParametersJSON Schema
NameRequiredDescriptionDefault
modoNocalcular_porcentaje: da harina_g + agua_g → devuelve %. calcular_agua: da harina_g + hidratacion_pct → devuelve gramos de agua. Por defecto calcular_porcentaje.
agua_gNoGramos de agua. Requerido si modo=calcular_porcentaje.
harina_gYesPeso de la harina en gramos.
hidratacion_pctNoPorcentaje de hidratación objetivo. Requerido si modo=calcular_agua.
Behavior4/5

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

With no annotations, the description must disclose behavior. It adds that the tool classifies hydration and provides examples of typical breads, going beyond basic calculation. However, it does not mention error handling or assumptions.

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?

The description is two sentences, efficiently conveying purpose, bidirectional capability, and additional features. No unnecessary words, and key information is front-loaded.

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?

The description addresses the bidirectional calculation and mentions classification and examples, which gives some idea of output. However, without an output schema, more precise return format details would enhance completeness.

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% with detailed parameter descriptions. The tool description restates the bidirectional nature already covered by the 'modo' parameter, adding no new parameter-level insight, thus meeting the baseline.

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 clearly states that the tool calculates bread dough hydration or water needed for a target hydration, using specific verbs ('calcula') and resource ('masa de pan'). It distinguishes itself from other calculators by specifying the domain and bidirectional capability.

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?

The description mentions bidirectional functionality (agua→% or %→agua), indicating two use cases. While it does not explicitly exclude scenarios or mention alternatives, the context is clear for a specialized tool.

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

calcular_hipotecaAInspect

Calcula una hipoteca española con sistema francés (cuota constante). Soporta tipo fijo, variable (Euríbor + diferencial) e hipoteca mixta. Devuelve cuota mensual, total de intereses, total pagado, ratio cuota/ingresos y resumen anual de amortización. ⚠️ Estimación orientativa — no incluye TAE, seguros ni comisiones bancarias.

ParametersJSON Schema
NameRequiredDescriptionDefault
entradaYesImporte de la entrada en euros (lo que aportas de tu bolsillo). Mínimo recomendado: 20% del precio.
euriborNoEuríbor actual anual en % (para tipo "variable" y fase variable de "mixta"). Ej: 2.5 para 2,5%.
plazoAniosYesPlazo de la hipoteca en años (habitualmente entre 15 y 30 años)
diferencialNoDiferencial del banco sobre Euríbor en % (para "variable" y "mixta"). Ej: 0.8 para 0,8%.
interesAnualNoTipo de interés fijo anual en % (para tipo "fijo" o fase fija de "mixta"). Ej: 3.5 para 3,5%.
tipoHipotecaYes"fijo" = tipo constante todo el plazo. "variable" = Euríbor + diferencial. "mixta" = fase fija inicial + fase variable.
plazoFijoMixtaNoAños de fase fija en hipoteca mixta. Ej: 5 para los primeros 5 años a tipo fijo.
precioViviendaYesPrecio de la vivienda en euros
ingresosMensualesNoIngresos netos mensuales del solicitante en euros. Permite calcular el ratio de endeudamiento (recomendable ≤30%).
Behavior4/5

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

With no annotations, the description must disclose behavior. It clearly states the output (monthly payment, total interest, total paid, payment-to-income ratio, and annual amortization summary) and warns that it is an estimate excluding certain costs. It does not mention destructive actions or auth needs, but the behavior is consistent with a read-only calculation tool. No contradictions.

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?

The description is three sentences long, front-loading the core purpose, listing outputs, and adding a caveat. Every sentence adds value with no redundancy. It is appropriately sized for a tool with 9 parameters.

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?

Given the tool has 9 parameters and no output schema, the description covers key output fields (cuota, intereses, total pagado, ratio, resumen anual) and warns about exclusions. It explains the three mortgage types. This is adequate for the complexity level, though an output schema could further reduce ambiguity.

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 baseline is 3. The description adds context like 'sistema francés' and supported mortgage types, which helps interpret parameters like 'tipoHipoteca' and 'euribor'. However, the individual parameter descriptions in the schema are already detailed, so the description adds marginal value beyond the schema.

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 clearly states the tool calculates a Spanish mortgage using the French system (constant installment). It specifies that it supports fixed, variable (Euribor + spread), and mixed mortgages, which distinguishes it from siblings like 'calcular_capacidad_hipoteca' or 'calcular_amortizacion_anticipada'. The verb 'calcula' and resource 'hipoteca española' are specific.

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?

The description provides explicit context: it is an orientative estimate that does not include TAE, insurance, or bank fees. This guides the agent on when to use the tool (for approximate calculations). However, it does not explicitly state when not to use it or compare with alternative tools, though the warning about exclusions implies its scope is limited.

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

calcular_horas_efectivasAInspect

Calcula las horas realmente trabajadas al año, descontando vacaciones, festivos, bajas y ausencias. Fundamental para freelances (para saber cuántas horas facturar y fijar tarifa correcta) y para empresas (para conocer el coste hora real de un empleado). Para freelances: descuenta también las horas no facturables (administración, ventas, formación) y calcula la tarifa mínima por hora facturable para cubrir el salario/facturación objetivo. Encadenable con calcular_tarifa_freelance, calcular_coste_empleado, calcular_sueldo_neto.

ParametersJSON Schema
NameRequiredDescriptionDefault
perfilYes"empleado" para trabajadores por cuenta ajena. "freelance" para autónomos que facturan por horas.
diasBajaNoDías de baja médica estimados al año. Por defecto 5 (promedio nacional).
festivosNoDías festivos nacionales + autonómicos. Por defecto 14 (media España).
horasPorDiaNoHoras de trabajo por día laboral. Por defecto 8.
diasFormacionNoDías dedicados a formación y cursos al año. Por defecto 0.
diasVacacionesNoDías de vacaciones pagadas al año. Por defecto 22 (mínimo legal en España).
otrasAusenciasNoOtros días de ausencia: licencias, permisos, asuntos propios. Por defecto 0.
festivosLocalesNoDías festivos locales adicionales. Por defecto 2.
salarioBrutoAnualYesSalario bruto anual en euros para empleados, o facturación neta anual objetivo para freelances
pctTiempoSinFacturarNoSolo freelance: porcentaje de tiempo sin trabajo o con impagos (%). Reduce las horas facturables efectivas. Por defecto 0.
horasNoFacturablesSemanalesNoSolo freelance: horas semanales dedicadas a tareas no facturables (administración, marketing, reuniones comerciales). Por defecto 0.
Behavior4/5

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

With no annotations, the description carries the full burden. It describes the calculation logic (deducting vacations, holidays, etc.) and for freelances, it also deducts non-billable hours and calculates minimum tariff. This gives good insight into behavior, though it does not specify the output format (e.g., single value vs structured data) which would enhance transparency.

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?

The description is concise, starting with the core functionality, then target audience, then specific freelance considerations, and finally chainable tools. Each sentence adds value, and there is no redundant or vague text. It is structured optimally for quick understanding.

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?

Given the complexity (11 parameters, two profiles, no output schema), the description covers the purpose, target users, and key behaviors. It mentions chaining with three relevant sibling tools. However, it could be more complete by explicitly stating the output (e.g., 'Returns effective hours and minimum hourly rate') to fully compensate for the missing 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?

Schema description coverage is 100%, so baseline is 3. The description adds meaning beyond the schema by explaining how certain parameters are used: for freelances, it mentions discounting non-billable hours (horasNoFacturablesSemanales) and calculating minimum rate, which maps to pctTiempoSinFacturar and horasNoFacturablesSemanales. It also clarifies the role of salarioBrutoAnual differently for employees vs freelances.

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 clearly states it calculates real work hours per year after deducting vacations, holidays, sick leave, and absences. It distinguishes two profiles (employee vs freelance) and explains the purpose for each, also noting chainability with specific sibling tools, which differentiates it from the extensive list of siblings.

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?

The description explicitly says it is fundamental for freelances (to know billable hours and set correct rates) and for companies (to know real hourly cost of an employee). It also states it is chainable with calcular_tarifa_freelance, calcular_coste_empleado, calcular_sueldo_neto, providing context on when to use and what to combine. However, it does not explicitly mention when not to use it or provide exclusion criteria.

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

calcular_horas_extraAInspect

Calcula el coste y los límites legales de las horas extraordinarias según el ET art. 35. Límite: 80 horas/año (no computan las compensadas con descanso en 4 meses). Cotización SS específica: empresa 12%/23,6% + trabajador 2%/4,7% según sean de fuerza mayor u ordinarias. Calcula el valor hora extra, la cotización SS, el coste total para la empresa y el neto del trabajador (antes de IRPF). Encadenable con: calcular_sueldo_neto, calcular_coste_empleado, calcular_irpf.

ParametersJSON Schema
NameRequiredDescriptionDefault
compensacionNoCompensación por horas extra: monetaria (pago) o descanso equivalente. Por defecto monetaria.
tipoHorasExtraNoTipo: estructural/fuerza mayor (12% empresa, 2% trabajador) o no_estructural (23,6%/4,7%). Por defecto no_estructural.
horasExtraAnualesYesNúmero de horas extra realizadas en el año
salarioBrutoAnualYesSalario bruto anual del trabajador (€)
recargoSalarialPctNoRecargo sobre el valor de la hora ordinaria (%). Ej: 25 para el 25%. Por defecto 0 (igual que hora ordinaria, mínimo legal).
horasOrdinariasAnualesYesHoras ordinarias anuales según contrato
Behavior4/5

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

With no annotations provided, the description fully discloses the tool's behavior: it calculates overtime value, social security contributions (with specific percentages for different types), total cost to employer, and net to worker (pre-IRPF). It also mentions legal limits (80h/year). It lacks details on error handling but is still transparent.

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?

The description is concise (3 sentences), front-loaded with the core purpose, and contains no extraneous information. Every sentence serves a clear function: purpose, key constraints, output summary, and chaining suggestions.

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?

Given the tool's complexity (6 parameters, no output schema), the description adequately explains what the tool calculates and output components (cost, SS, total, net). It also mentions chaining with related tools. It could be more explicit about output format, but it remains complete enough.

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?

Since input schema covers all parameters with descriptions (100% coverage), baseline is 3. The description adds value by explaining legal context, default compensation, and the implications of tipoHorasExtra on SS percentages, moving it to a 4.

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 explicitly states 'Calcula el coste y los límites legales de las horas extraordinarias según el ET art. 35', using a specific verb ('calcula') and a well-defined resource ('horas extra') with legal context, distinguishing it from other sibling calculation tools.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool (calculating overtime costs with legal limits) and even suggests chaining with other tools (e.g., calcular_sueldo_neto). However, it does not explicitly state when not to use it or offer alternatives.

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

calcular_ibiAInspect

Calcula el Impuesto sobre Bienes Inmuebles (IBI) a partir del valor catastral y el tipo impositivo municipal (TRLRHL arts. 60-77). Aplica bonificaciones (familia numerosa, VPO, vivienda habitual...) y el recargo por desocupación de la Ley 12/2023. Verifica que el tipo esté dentro de los límites legales (urbano: 0,4%-1,10%; rústico: 0,3%-0,90%).

ParametersJSON Schema
NameRequiredDescriptionDefault
claseInmuebleYesClase de inmueble según el Catastro: urbano, rustico o caracteristicas_especiales (autopistas, embalses, centrales...)
bonificacionesNoLista de bonificaciones aplicables al inmueble. Se aplican de forma secuencial sobre la cuota restante
tipoImpositivoYesTipo impositivo municipal aplicado (%). Para urbano: generalmente 0,4%-1,10%. Lo fija el ayuntamiento en la ordenanza fiscal
valorCatastralYesValor catastral del inmueble (EUR). Figura en el recibo del IBI y en la sede electrónica del Catastro (sedecatastro.gob.es)
inmuebleDesocupadoNo¿El inmueble está declarado desocupado con carácter permanente? (Ley 12/2023 — solo en municipios declarados tensionados)
pctRecargoBonificadoNoPorcentaje del recargo por desocupación establecido por el municipio (%). Máximo legal: 50% de la cuota líquida
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that it applies bonuses and surcharges, and checks legal tax rate limits. However, it does not explain side effects, authorization needs, or error behavior, which is adequate for a calculation tool but not comprehensive.

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?

The description consists of two concise sentences that immediately state the purpose and then add critical details about bonuses and legal limits. No extraneous information is included.

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

Completeness3/5

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

The description covers the main functionality and legal references, but given the tool's complexity (6 parameters, no output schema), it falls short by not specifying the return format or handling of invalid inputs. It is moderately complete.

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?

The input schema has 100% coverage with detailed descriptions for all 6 parameters. The description adds legal context but does not enhance parameter understanding beyond what the schema already provides, meeting the baseline.

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 specifies the verb 'calcula' and the resource 'IBI' clearly, and distinguishes this tool from others by focusing on a specific tax. It includes key details like applying bonuses and verifying legal limits.

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 does not explicitly state when to use this tool versus alternatives. It provides legal references but no usage context or exclusions, leaving the agent to infer applicability.

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

calcular_iivtnu_plusvalia_municipalAInspect

Calcula el IIVTNU (plusvalía municipal) usando los dos métodos vigentes tras la STC 182/2021: método objetivo (coeficiente × valor catastral suelo) y método real (incremento real × proporción suelo). El contribuyente puede elegir el menor. Si no hay incremento real, no se tributa. Proporciona la cuota aplicando el tipo municipal indicado (máximo legal: 30%). Normativa: TRLHL arts. 104-110 + RDL 26/2021.

ParametersJSON Schema
NameRequiredDescriptionDefault
aniosTenenciaYesAños completos de tenencia del inmueble (diferencia entre fecha adquisición y transmisión)
tipoImpositivoNoTipo impositivo municipal (%). Si no se indica, se aplica el máximo legal del 30%
precioAdquisicionNoPrecio de adquisición original del inmueble (€) — para calcular el método real
precioTransmisionNoPrecio de transmisión (venta) del inmueble (€) — para calcular el método real
valorCatastralSueloYesValor catastral del suelo en la fecha de transmisión (€)
valorCatastralTotalYesValor catastral total del inmueble, suelo + construcción (€)
coeficienteMunicipalNoCoeficiente municipal propio (si el municipio aplica uno inferior al máximo estatal). Omitir para usar el máximo estatal
Behavior5/5

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

With no annotations, description fully explains calculation logic: two methods (objective and real), election of lower amount, no tax condition, and municipal rate cap. Provides regulatory references.

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 purpose, efficient. Could be slightly more structured but is concise and informative.

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?

Given complexity (7 params, no output schema, no annotations), description covers calculation logic, legal basis, and taxpayer choice. Lacks details on return format but mentions 'cuota'. Adequate for the domain.

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 baseline is 3. Description adds context on methods but does not enhance individual parameter meanings beyond the schema.

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?

Description clearly states it calculates IIVTNU (plusvalía municipal) using specific methods. Verb 'calcula' and resource named explicitly, distinguishing from many sibling 'calcular_*' tools.

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

Usage Guidelines4/5

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

Clearly explains the two methods and that the taxpayer can choose the lower one, and no tax if no real increase. Does not explicitly state when to use this tool vs alternatives, but the specificity implies correct usage context.

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

calcular_imcAInspect

Calcula el Índice de Masa Corporal (IMC) a partir del peso y la altura. Devuelve la categoría (normopeso, sobrepeso, obesidad...), el rango de peso saludable y cuántos kg faltan o sobran para alcanzarlo. ⚕️ Herramienta orientativa — no reemplaza valoración médica.

ParametersJSON Schema
NameRequiredDescriptionDefault
pesoKgYesPeso en kilogramos (ej: 75)
alturaCmYesAltura en centímetros (ej: 175)
Behavior3/5

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

Proporciona disclaimer de orientatividad, pero no detalla comportamiento ante entradas inválidas ni formato exacto de salida. Sin anotaciones, la descripción debería compensar más.

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?

Dos oraciones claras y directas, con emoji y disclaimer al final. Sin redundancias.

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?

Para una calculadora simple de dos parámetros sin output schema, la descripción cubre qué calcula, qué devuelve y una advertencia. Le falta detalle de casos límite.

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 tiene cobertura 100% con descripciones. La descripción no añade semántica adicional a los parámetros más allá de lo que ya está en el schema.

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?

Descripción específica: calcula el IMC a partir de peso y altura, devuelve categoría, rango saludable y kg faltantes/sobrantes. Se distingue claramente de los demás herramientas financieras/jurídicas.

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?

Implícitamente, es la única herramienta de salud, por lo que su uso es obvio. Sin embargo, no indica cuándo no usarla ni ofrece alternativas.

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

calcular_impuesto_grandes_fortunasAInspect

Calcula la cuota del Impuesto Temporal de Solidaridad de las Grandes Fortunas (ITSGF, Ley 38/2022) para patrimonios netos >3 M EUR. Escala: 1,7% (3-5,3M), 2,1% (5,3-10,7M), 3,5% (>10,7M). Deduce cuota del IP autonómico. Aplica exenciones (vivienda habitual 300K EUR, empresa familiar, mínimo exento 700K EUR).

ParametersJSON Schema
NameRequiredDescriptionDefault
patrimonioBrutoYesPatrimonio bruto total — suma de todos los bienes y derechos (EUR)
deudasDeduciblesNoDeudas y cargas deducibles del patrimonio (EUR)
ccaaTieneIPEfectivoNo¿La CCAA tiene IP vigente y efectivo (no bonificado al 100%)? Si true, la cuota IP reduce el ITSGF
valorViviendaHabitualNoValor de la vivienda habitual incluido en el patrimonio bruto (EUR) — exenta hasta 300.000 EUR
cuotaIPAutonomicoLiquidaNoCuota líquida ya pagada en el Impuesto sobre el Patrimonio autonómico (EUR) — se deduce del ITSGF
valorEmpresaFamiliarExentaNoValor de empresa familiar u otras exenciones del art. 4 LIP (EUR)
Behavior4/5

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

With no annotations, the description carries the full burden. It details the calculation: rates, deduction of regional IP, and exemptions (vivienda habitual 300K, empresa familiar, mínimo exento 700K). It does not describe the output format or error handling, but the core behavior is well conveyed.

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?

The description is concise (3 sentences) and front-loaded with the core purpose. Every sentence adds meaningful information: law reference, thresholds and rates, deduction and exemptions. No unnecessary words.

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?

Given the tool's complexity (6 parameters, no output schema, no annotations), the description covers the essential aspects: legal basis, thresholds, rates, exemptions, and deduction. It lacks only a description of the return value (e.g., final tax amount), but the context is otherwise complete for an agent to use it correctly.

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

Parameters4/5

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

The input schema has 100% description coverage, so each parameter is already documented. The description adds value by providing the tax scale percentages and exemption amounts (e.g., 300K, 700K), which are not in the schema. It also clarifies the deduction logic for the regional IP.

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 explicitly states the tool calculates the ITSGF quota, referencing the specific law (Ley 38/2022), applicable thresholds (>3M EUR), and tax rates. It distinguishes itself from sibling tools by focusing on a specific wealth tax, which is unique among the many 'calcular' tools.

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

Usage Guidelines4/5

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

The description clearly indicates the tool is for net worth >3M EUR ('para patrimonios netos >3 M EUR'), providing a clear condition for use. It does not explicitly state when not to use it or mention alternatives, but the condition is sufficiently specific to guide an agent.

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

calcular_impuesto_matriculacionAInspect

Calcula el Impuesto Especial sobre Determinados Medios de Transporte (IEDMT / impuesto de matriculación) según la Ley 38/1992 y los tipos vigentes 2025 por tramos de emisiones CO₂ (WLTP). Turismos: 0% (0-120 g/km), 4,75% (121-160 g/km), 9,75% (161-200 g/km), 14,75% (>200 g/km). Vehículos eléctricos: exentos (0 emisiones). Devuelve cuota IEDMT, IVA y coste total de adquisición. Encadenable con calcular_leasing, calcular_prestamo, calcular_kilometraje.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoIVANoTipo de IVA a aplicar (%). Por defecto 21. Empresas con IVA deducible pueden usar 0 para ver el precio sin IVA.
emisionesCO2YesEmisiones de CO₂ en ciclo WLTP (g/km). Para vehículos eléctricos usar 0.
precioSinIVAYesPrecio del vehículo sin IVA en euros (base imponible del IEDMT)
tipoVehiculoNo"turismo" (por defecto), "moto", "furgoneta", "electrico" (BEV/FCEV, siempre exento), "hibrido_enchufable" (PHEV, se aplican tramos según emisiones WLTP)
Behavior3/5

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

No annotations are provided, so the description carries full burden. It explains the calculation (returns IEDMT, IVA, total cost) and includes rate brackets. However, it does not disclose side effects or permissions, though as a calculator these are minimal.

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

Conciseness4/5

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

The description is a single paragraph that front-loads the purpose and efficiently packs rate tables and chaining info. It could be slightly structured with bullets, but remains concise and readable.

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?

Given the absence of an output schema, the description adequately mentions return values (cuota IEDMT, IVA, coste total). It also references sibling tools for chaining. The parameter coverage is complete, and the description covers key use cases.

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 input schema has 100% description coverage. The description adds significant value by specifying actual emission brackets (0-120 g/km, etc.), default vehicle type (turismo), and special cases for electric/hybrid vehicles, going beyond the schema.

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 clearly states the tool calculates the IEDMT (matriculation tax) with specific rate brackets and vehicle types, distinguishing it from siblings by mentioning chaining with calcular_leasing, calcular_prestamo, and calcular_kilometraje.

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?

The description provides clear context on when to use (calculating matriculation tax for vehicles) and gives examples like electric vehicles being exempt. However, it does not explicitly state when not to use or compare to other tax calculators in the sibling list.

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

calcular_impuesto_plasticosAInspect

Calcula el Impuesto Especial sobre Envases de Plástico No Reutilizables (Ley 7/2022) — tipo 0,45 EUR/kg de plástico NO reciclado. Aplica a fabricantes, importadores y adquirentes intracomunitarios. Sujetos: envases alimentación, higiene, industrial. Exentos: envases farmacéuticos/sanitarios y rollos agrícolas. El plástico reciclado postconsumo no tributa si está acreditado por entidad ENAC. Modelo 592 trimestral/mensual.

ParametersJSON Schema
NameRequiredDescriptionDefault
envasesYesLíneas de envases a declarar
tipoOperacionYesTipo de operación sujeta al impuesto
periodoDeclaradoNoPeríodo declarado (T1, T2, T3, T4 o MM/YYYY para mensual)
Behavior3/5

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

With no annotations, the description must disclose behavior. It reveals the tax calculation logic, exemptions, and regulatory basis, but omits output format, side effects, authentication, or rate limits. Some behavioral insight is provided, but not complete.

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

Conciseness4/5

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

The description is compact yet informative, with each sentence contributing essential context. It could be slightly more structured (e.g., bullet points), but no unnecessary verbiage.

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

Completeness3/5

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

Covers key tax logic, exemptions, and form, but lacks details on return value format, handling of multiple operations, and practical prerequisites. For a tool with no output schema, more output guidance would be beneficial.

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% with descriptions. The tool description adds value by explaining how parameters like pesoTotalPlasticoKg and pctPlasticoRecicladoAcreditado are used in the tax formula, and clarifies the meaning of tipoOperacion enums.

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 clearly states the tool calculates a specific tax on non-reusable plastic packaging, including the rate (0.45 EUR/kg), applicable operations, exemptions, and the relevant form (Model 592). It uniquely identifies the tool among siblings like calcular_iva or calcular_impuesto_sociedades.

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?

The description specifies who should use it (manufacturers, importers, intracommunity acquirers) and what materials are subject or exempt. It implies context for usage but does not explicitly compare or exclude alternatives.

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

calcular_impuesto_sociedadesBInspect

Calcula la cuota del Impuesto sobre Sociedades (IS) en España: tipo general (25%), PYME (23%), nueva empresa (15%), microempresa (20%). Incluye reserva de capitalización, reserva de nivelación, deducciones I+D+i, empleo discapacitados y resultado a ingresar/devolver.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoISNoTipo impositivo IS (%) — si no se indica, se usa el del régimen seleccionado
gastosIDiNoGastos en Investigación y Desarrollo del ejercicio (€) — para deducción art. 35 LIS
baseImponibleYesBase imponible del ejercicio (€) — resultado contable ± ajustes extracontables. Puede ser negativa (bases negativas a compensar).
regimenFiscalYesRégimen fiscal de la sociedad
gastosInnovacionNoGastos en innovación tecnológica (art. 35.2 LIS) (€) — deducción al 8%
cifraNegociosAnteriorNoCifra de negocios del ejercicio anterior (€) — para verificar si aplica tipo PYME (< 1M€)
incrementoFondosPropiosNoIncremento de fondos propios para reserva de capitalización (€) — reduce base imponible al 10%
mediaGastosIDiAnterioresNoMedia de gastos I+D de los 2 ejercicios anteriores (€) — para calcular el exceso al 42%
retencionesYPagosFraccionadosNoRetenciones y pagos fraccionados (modelo 202) ya realizados en el ejercicio (€)
trabajadoresDiscapacidadContratadosNoNúmero de trabajadores con discapacidad ≥ 33% contratados en el ejercicio (3.000 €/trabajador)
Behavior2/5

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

No annotations are provided, so the description should disclose behavioral traits. It describes what the tool calculates but does not mention whether it is read-only, requires authentication, has rate limits, or any side effects. The description adds context beyond schema but lacks these behavioral details.

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?

The description is a single sentence that efficiently conveys the purpose, included calculations, and result. No wasted words, and it is front-loaded with the main action.

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

Completeness3/5

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

Given 10 parameters and no output schema, the description lists key components (reserves, deductions) and hints at the final result ('resultado a ingresar/devolver'), but does not fully describe the output structure or what exactly is returned.

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 baseline is 3. The description adds grouping context (e.g., mentions 'reserva de capitalización' which maps to incrementoFondosPropios) but does not provide additional meaning beyond the schema for individual parameters.

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 clearly states it calculates the Corporate Income Tax (IS) in Spain, listing specific tax rates (general 25%, PYME 23%, etc.) and including reserves, deductions, and final result. The verb 'Calcula' and resource 'cuota del Impuesto sobre Sociedades' are specific and distinguish it from sibling tax tools.

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?

No explicit guidance on when to use this tool versus alternatives like calcular_compensacion_bases_negativas_is or calcular_deduccion_idi. It does not state when not to use it or provide context for selection among many related sibling tools.

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

calcular_impuesto_transacciones_financierasBInspect

Calcula el Impuesto sobre Transacciones Financieras (ITF, "Tasa Tobin") — Ley 5/2020. Tipo: 0,2% sobre la adquisición onerosa de acciones españolas cotizadas cuya capitalización bursátil supera 1.000 millones EUR a 1 de diciembre del año anterior. Analiza múltiples operaciones, identifica las exentas (mercado primario, reestructuraciones, market making, intragrupo) y calcula la cuota total.

ParametersJSON Schema
NameRequiredDescriptionDefault
operacionesYesLista de operaciones a analizar
Behavior2/5

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

No annotations are provided, so the description bears full burden. It explains the tax calculation and exemptions but lacks details on side effects, permissions, assumptions, or output format. For a financial calculation tool, more transparency on expected behavior is needed.

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

Conciseness4/5

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

The description is appropriately sized, starting directly with the main verb and resource. It includes essential details (rate, exemptions) without unnecessary repetition. A single paragraph is well-structured.

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

Completeness3/5

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

Given the tool's complexity and lack of output schema, the description covers purpose and exemptions but omits return value details (e.g., format, whether per-item breakdown is provided). It is adequate for understanding the core functionality but not fully complete.

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?

Input schema has 100% description coverage, so parameters are already documented. The description does not add extra meaning beyond schema, but it does mention 'analiza múltiples operaciones' matching the array structure. Baseline score of 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?

The description clearly states that the tool calculates the Spanish Financial Transaction Tax (ITF, Tobin Tax) under Law 5/2020, specifying the rate (0.2%) and the scope (Spanish listed shares with market cap > 1,000M EUR). It goes beyond a simple verb+resource by detailing exemptions and total fee calculation, effectively distinguishing it from other tax-related tools.

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 implies usage for ITF calculation but does not explicitly state when to use this tool versus alternatives or provide exclusions. The named exemptions offer some context but no comparative guidance against sibling tools.

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

calcular_imputacion_rentas_inmueblesAInspect

Calcula la imputación de rentas inmobiliarias (LIRPF art. 85) que debe declararse en el IRPF por inmuebles urbanos que no son vivienda habitual y no están arrendados. Aplica el 2% del valor catastral (sin revisión reciente) o el 1,1% (revisado en últimos 10 años o sin valor catastral). Soporta múltiples inmuebles, copropiedad y uso parcial del año.

ParametersJSON Schema
NameRequiredDescriptionDefault
inmueblesYesLista de inmuebles sujetos a imputación de rentas
tipoMarginalIRPFNoTipo marginal IRPF del contribuyente (%) para calcular la cuota estimada. Default: 30%
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses the calculation logic (2% vs 1.1% based on cadastral revision) and supported features. However, it omits any mention of side effects or safety (e.g., read-only nature). Additional detail on output or auth would improve transparency.

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?

Description is concise, using a few targeted sentences to cover purpose, legal basis, percentages, and supported scenarios. No redundant information. Could slightly benefit from structured formatting but is generally efficient.

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

Completeness3/5

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

Tool is of medium complexity with no output schema. Description adequately explains inputs and calculation logic but does not specify the output format (e.g., returns total per property or aggregate). Completeness is sufficient but could be improved by describing the return value.

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% with descriptive parameter names and comments. The description adds context like legal references and percentages, but does not significantly extend what the schema already provides. 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?

Description explicitly states the tool calculates imputación de rentas inmobiliarias under LIRPF art. 85 for urban properties not primary residence and not rented. It details the applicable percentages and support for multiple properties, co-ownership, and partial year. Clearly distinguishes from sibling tools like calcular_rendimiento_capital_inmobiliario.

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?

Description conveys when to use: for urban properties that are not primary residence and not rented. It references the legal article and scenarios (multiple properties, co-ownership). While it does not explicitly list alternatives, the context and sibling list imply other related tools for different cases.

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

calcular_indemnizacion_despidoAInspect

Calcula la indemnización por despido según el tipo y la antigüedad del trabajador, conforme al ET. Tipos: improcedente (33 días/año, máx 24 mensualidades; con doble tramo si hay antigüedad pre-12/02/2012), objetivo/colectivo ERE (20 días/año, máx 12 mensualidades), disciplinario procedente (0 €). Indica si la indemnización está exenta de IRPF y el preaviso legal. Encadenable con: calcular_finiquito, calcular_pension_desempleo, calcular_irpf.

ParametersJSON Schema
NameRequiredDescriptionDefault
fechaInicioYesFecha de inicio de la relación laboral (YYYY-MM-DD)
tipoDespidoYesTipo de despido
fechaExtincionNoFecha de extinción del contrato (YYYY-MM-DD). Por defecto: hoy.
salarioBrutoAnualYesSalario bruto anual total del trabajador (€), incluyendo pagas extras prorrateadas
tieneAntiguedadPreReforma2012No¿El trabajador tenía antigüedad antes del 12/02/2012? (Activa el cálculo dual 45+33 días). Por defecto false.
Behavior4/5

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

With no annotations, the description carries the transparency burden. It discloses calculation details (e.g., dual tramo for pre-2012, IRPF exemption, preaviso) and constraints, which is comprehensive for a calculator tool.

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?

The description is concise with three sentences, front-loading the main purpose and providing essential details without redundancy.

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?

Given no output schema, the description adequately explains what the tool returns (indemnity amount, IRPF exemption, preaviso) and mentions encadenability. Could include more on output format, but it's sufficient.

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 baseline is 3. The description adds value by explaining the types (improcedente, objetivo, etc.) and the dual calculation condition, enriching understanding beyond the schema definitions.

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 clearly states the tool calculates dismissal indemnity according to Spanish labor law, lists specific types with conditions, and distinguishes from sibling tools like calcular_finiquito or calcular_pension_desempleo.

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?

The description provides clear context on when to use the tool (e.g., for calculating dismissal indemnity based on type and seniority) and mentions compatible tools. It lacks explicit when-not-touch but the context is sufficient.

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

calcular_inflacionAInspect

Calcula el equivalente en poder adquisitivo de una cantidad monetaria entre dos años cualquiera de la historia de España (1961-2025). Usa el IPC histórico del INE (base 2021 = 100) para determinar: el valor equivalente en el año destino, la inflación acumulada en el período y la inflación media anual (CAGR). Útil para comparar salarios, precios o inversiones entre épocas diferentes.

ParametersJSON Schema
NameRequiredDescriptionDefault
cantidadYesCantidad monetaria en euros (o pesetas históricas, el resultado será proporcional)
anoOrigenYesAño de la cantidad original (1961-2025)
anoDestinoYesAño al que se quiere convertir (1961-2025). Puede ser anterior al año origen para calcular hacia atrás.
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the methodology (IPC base 2021) and that it can compute backward (anoDestino earlier than anoOrigen). However, it does not mention output format, precision, or side effects. For a read-only calculation tool, this is adequate but not comprehensive.

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?

The description is only two sentences, yet conveys the core functionality, parameters, methodology, and use cases. Every sentence earns its place without repetition or fluff. It is well-structured and front-loaded for quick understanding.

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?

Given the tool has three parameters, no output schema, and no annotations, the description covers the essential context: purpose, methodology, and applicability. It does not detail return structure, but the tool's nature (index lookup) keeps complexity low. A note on error handling or data sources could strengthen completeness.

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 schema already describes all parameters. The description adds value by clarifying that cantidad can be expressed in euros or historical pesetas, and that anoDestino can be earlier than anoOrigen for reverse calculations. This enhances understanding beyond the schema constraints.

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 clearly states the tool calculates the equivalent purchasing power of a monetary amount between two years in Spain (1961-2025), using IPC from INE. It specifies verb (calcula), resource (poder adquisitivo en España), and scope (años históricos), distinguishing it from sibling calculators that focus on other domains.

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?

The description explicitly states the tool is useful for comparing salaries, prices, or investments across different eras. While it does not explicitly exclude alternatives, the specific context (Spain, historical inflation) clearly implies when to use it, and no sibling tool overlaps directly. A more explicit 'when not to use' would improve the score.

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

calcular_ingreso_minimo_vitalBInspect

Calcula la cuantía del Ingreso Mínimo Vital (IMV) según la composición de la unidad de convivencia (adultos y menores), el complemento de ayuda a la infancia (CAPI), el complemento monoparental y la compatibilidad con rentas del trabajo.

ParametersJSON Schema
NameRequiredDescriptionDefault
numAdultosYesNúmero de adultos en la unidad de convivencia (incluye al solicitante)
menoresACargoNoLista de menores a cargo con su edad (necesaria para el CAPI)
esMonoparentalNo¿Es familia monoparental (un adulto con menores)? Aplica complemento del 22%.
otrasRentasAnualesNoOtras rentas anuales (capital, actividades económicas, prestaciones...) (€/año)
rentasTrabajoAnualesNoRentas del trabajo anuales de toda la unidad de convivencia (€/año)
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for behavioral transparency. The description only states it 'calculates', but does not disclose whether it is read-only, requires authentication, has side effects, or any other behavioral traits. This is insufficient.

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?

The description is a single sentence that is front-loaded with the verb and resource, and it covers all key aspects without unnecessary words. It is highly concise and well-structured.

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

Completeness3/5

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

For a calculation tool with multiple inputs and no output schema, the description covers the main factors but lacks details about the output (e.g., whether it returns an amount, a range, or additional data). It is adequate but could be more complete.

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?

The input schema has 100% coverage, with all parameters described. The tool description adds minimal new semantic value beyond what is in the schema, but it does tie parameters to specific concepts (e.g., menoresACargo for CAPI). Baseline score 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?

The description clearly states the verb 'calcula' and the specific resource 'IMV', including key factors like household composition, child supplement, single-parent supplement, and labor income compatibility. This distinguishes it from other 'calcular_*' tools on the server.

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 does not provide explicit guidance on when to use this tool versus alternatives. Given the large number of sibling tools, this omission makes it harder for an agent to select the correct tool without additional context.

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

calcular_interes_compuestoAInspect

Simula el crecimiento de una inversión o ahorro con interés compuesto. Calcula el capital final, los intereses generados y la rentabilidad total. Admite aportaciones periódicas mensuales y diferentes frecuencias de capitalización. 💰 Herramienta orientativa — no constituye asesoramiento financiero.

ParametersJSON Schema
NameRequiredDescriptionDefault
anosYesNúmero de años de la inversión
tasaAnualYesRentabilidad anual en porcentaje (ej: 7 para 7%)
capitalInicialYesCapital inicial invertido en euros (ej: 10000)
aportacionPeriodicaNoAportación mensual adicional en euros (opcional, por defecto 0)
frecuenciaCapitalizacionNoFrecuencia de capitalización de intereses (por defecto anual)
Behavior4/5

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

No annotations provided; description carries full burden. It discloses the tool is orientative (not financial advice), supports periodic contributions and capitalization frequencies. However, it does not mention any behavioral traits like rate limits or destruction.

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 sentences: purpose, outputs, features, and disclaimer. Front-loaded and no redundant information. Every sentence adds value.

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?

No output schema, but description lists outputs (capital final, intereses, rentabilidad total). Inputs are covered well. For a simulation tool with clear inputs and outputs, the description is complete.

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% with descriptions for all parameters. The description adds value by specifying that aportaciónPeriodica is monthly and highlighting the frequency options beyond the enum list.

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 clearly states it simulates investment growth with compound interest, calculates final capital, interests, and total profitability. It also mentions periodic monthly contributions and different capitalization frequencies, distinguishing it from siblings like calcular_hipoteca or calcular_prestamo.

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 implies usage for investment growth simulation with compound interest, but does not explicitly state when to use or not use this tool versus alternatives. No exclusions or alternatives are mentioned.

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

calcular_interes_demoraAInspect

Calcula intereses de demora en España con normativa actualizada 2026. Tres modalidades: comercial (Ley 3/2004, facturas entre empresas), legal (art. 1108 CC, deudas civiles) y tributario (LGT art. 26, liquidaciones AEAT). El tipo comercial se desglose por semestres si abarca varios períodos BCE. ⚠️ Estimación orientativa — consultar con abogado o asesor para reclamaciones reales.

ParametersJSON Schema
NameRequiredDescriptionDefault
fechaFinYesFecha de fin del cálculo en formato YYYY-MM-DD (normalmente hoy o la fecha de pago)
fechaInicioYesFecha de inicio del devengo en formato YYYY-MM-DD (normalmente el día siguiente al vencimiento de la factura)
tipoInteresYes"comercial" = Ley 3/2004, facturas entre empresas o con Administración (BCE + 8 pp). "legal" = art. 1108 CC, deudas civiles sin pacto de interés (3,25% en 2026). "tributario" = LGT art. 26, liquidaciones con la AEAT (4,0625% en 2026).
importeDeudaYesImporte de la deuda en euros
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses that the calculation is an estimate, and notes that the commercial type breaks down by semesters if covering multiple BCE periods, adding valuable behavioral 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?

The description is two sentences plus a warning, efficiently conveying purpose, modalities, and a caveat without unnecessary words. Front-loaded with the main action.

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 no output schema, the description explains what the tool does but does not describe the return format. For a calculation tool, the parameters and modalities are well-covered, making it mostly complete.

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% with descriptions for all 4 parameters. The description adds context about the three interest types and legal references, but the schema already details them. 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?

The description clearly states it calculates late payment interest in Spain with updated 2026 regulations, and specifies three distinct modalities (commercial, legal, tributary), distinguishing it from sibling tools like 'calcular_interes_compuesto'.

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?

The description warns it's an estimate and advises consulting a professional for actual claims, but does not explicitly state when to use this tool vs alternatives. However, the specific modalities give context for appropriate scenarios.

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

calcular_inversion_sujeto_pasivo_ivaAInspect

Determina si una operación está sujeta a inversión del sujeto pasivo (ISP) en IVA (LIVA art. 84.Uno.2.º) y calcula la cuota IVA autoliquidada por el receptor. Supuestos: inmuebles (renuncia exención, ejecución garantía), construcción/rehabilitación subcontratada, chatarra/reciclaje, oro, derechos CO2, electrónicos (revendedores o empresarios cuando factura > 5.000 EUR), servicios de prestador no establecido.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoIVAYesTipo de IVA aplicable (4, 10 o 21%)
supuestoYesSupuesto legal de ISP
baseImponibleYesBase imponible de la operación (EUR)
importeTotalFacturaNoImporte total de la factura — requerido para supuesto electronicos_empresario
porcentajeProrrataReceptorNoPorcentaje de prorrata definitiva del receptor (0-100, por defecto 100%)
Behavior3/5

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

With no annotations, the description carries full burden. It explains the tool calculates a tax liability and lists legal scenarios, but does not discuss side effects (e.g., no data mutation), authorization needs, or behavior on invalid inputs. It is adequate but not thorough.

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

Conciseness4/5

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

The description is three sentences: purpose, scenario list, calculation hint. It is front-loaded with the main purpose and concise, with no redundant information. Every sentence adds value.

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

Completeness3/5

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

Given the complexity (multiple scenarios, legal reference, calculation) and absence of output schema, the description provides a good overview but lacks details on output format and edge cases. It is sufficient for an agent to decide when to call, but not fully self-contained.

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?

Input schema has 100% coverage with descriptions for all parameters. The description adds context about parameter usage indirectly (e.g., importeTotalFactura for electronicos_empresario) but does not elaborate beyond what the schema provides. Baseline score of 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?

The description clearly states the tool's purpose: to determine if an operation is subject to reverse charge VAT (ISP) and calculate the self-assessed VAT. It uses specific verbs ('determina', 'calcula') and names the resource (inversión del sujeto pasivo). The list of supuestos distinguishes it from sibling tools that handle other tax calculations.

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 lists specific scenarios (supuestos) where the tool applies, allowing inference of when to use it. However, it does not explicitly state when not to use it or provide alternatives among the many sibling tax tools. More direct guidance would improve clarity.

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

calcular_irpfAInspect

Estima la cuota diferencial del IRPF (a pagar o a devolver) integrando rendimientos del trabajo, capital mobiliario, capital inmobiliario y ganancias/pérdidas patrimoniales. Aplica gastos deducibles, reducción RNT (hasta 6.498 €), mínimo personal y familiar, tramos de la base general (19-47%) y del ahorro (19-30%). ⚠️ Estimación orientativa con tipos estatales + autonómico medio. La declaración real incluye deducciones autonómicas y circunstancias específicas.

ParametersJSON Schema
NameRequiredDescriptionDefault
numHijosNoNúmero de hijos. Por defecto 0.
situacionNoSituación familiar. Por defecto "soltero".
retencionesNoTotal de retenciones ya practicadas a cuenta (nómina, dividendos, alquiler, etc.) (€). Por defecto 0.
esTrabajadorNo¿Tiene rendimientos del trabajo? Para aplicar gastos deducibles (2.000 €) y reducción RNT. Por defecto true.
hijosMenores3NoHijos menores de 3 años. Por defecto 0.
gananciasPCortoNoGanancias patrimoniales a corto plazo (≤12 meses) (€). Tributan en base general.
gananciasPLargoNoGanancias patrimoniales a largo plazo (>12 meses): venta de acciones, fondos, inmuebles (€). Puede ser negativo si hay pérdidas.
rendimientosTrabajoYesRendimientos brutos del trabajo antes de SS (salario bruto). En euros.
rendimientosCapitalMobiliarioNoDividendos, intereses de cuentas, bonos, etc. (€). Por defecto 0.
rendimientosCapitalInmobiliarioNoRendimientos de alquiler (ya netos de gastos deducibles) (€). Por defecto 0.
Behavior4/5

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

With no annotations, the description fully discloses that the tool applies deductions, RNT reduction, personal/family minimum, and tax brackets. It warns that the estimate is orientative and lacks autonomous deductions, providing clear behavioral context beyond just 'calculate'.

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

Conciseness4/5

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

The description is efficiently composed with two sentences that first state the main purpose and then add important caveats. It is front-loaded and each sentence adds value, though slightly longer than minimal.

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

Completeness3/5

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

Given the tool's complexity (10 params, no output schema) and 100+ siblings, the description covers the computation logic, income types, and estimate limitations. However, it omits the output format or return value description, which is a gap for a calculator.

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% with each parameter well described. The description adds some computational context (e.g., brackets, reductions) but does not enhance individual parameter meanings significantly. 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?

The description clearly states the tool estimates IRPF differential quota, specifying the integrated income types (work, capital, gains) and applied deductions. It distinguishes from siblings like calcular_irpf_no_residente by its comprehensive scope.

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 mentions it's an estimate with state and average autonomous rates, and that actual declaration includes specific deductions. However, it does not explicitly compare to other IRPF tools like calcular_irpf_segunda_pagador or provide when-not-to-use guidance.

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

calcular_irpf_no_residenteAInspect

Calcula la cuota del IRNR (Impuesto sobre la Renta de No Residentes) para rentas obtenidas en España sin establecimiento permanente, según el TRLIRNR (RDLeg 5/2004). Tipos 2025: dividendos/intereses/ganancias 19% (todos los países); trabajo/pensiones/alquileres 19% (UE/EEE) o 24% (resto). Los residentes UE/EEE pueden deducir gastos en arrendamientos. Calcula cuota íntegra, retención correcta del pagador y cuota diferencial. Encadenable con: calcular_plusvalias_irpf, calcular_retencion_alquiler, calcular_irpf.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoRentaYesTipo de renta obtenida en España
importeBrutoYesImporte bruto de la renta (€)
gastosDeduciblesNo[Solo UE/EEE en alquiler_inmueble] Gastos deducibles (IBI, intereses hipoteca, amortización, etc.)
residenciaFiscalYesResidencia fiscal: ue_eee (UE, Islandia, Noruega, Liechtenstein), convenio_sin_reduccion (país con CDI pero sin reducción de tipo), sin_convenio (país sin CDI con España)
retencionPracticadaNoRetención ya practicada por el pagador (€). Para calcular cuota diferencial.
Behavior4/5

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

With no annotations, the description carries the burden. It discloses what it calculates (cuota íntegra, retención, cuota diferencial), mentions 2025 rates, and specifies deduction rules for UE/EEE residents in rental income. It lacks details on error handling or output format but provides substantive behavioral 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?

The description is concise (4 sentences) and well-structured: first sentence defines purpose and legal basis, second gives rate types, third lists calculations, fourth mentions chainable tools. Every sentence is informative with no redundancy.

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?

Given the complexity of 5 params with conditional logic and no output schema, the description covers the main calculation outputs and key rate rules. It could be more complete by explaining edge cases (e.g., missing 'retencionPracticada'), but it provides sufficient context for a typical tax calculation tool.

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% with brief descriptions, but the description enriches semantics: it explains rate differences based on 'residenciaFiscal' and 'tipoRenta', clarifies that 'gastosDeducibles' applies only to UE/EEE rental cases, and defines the enum values for 'residenciaFiscal'. This adds value beyond the schema.

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 clearly states it calculates the IRNR for non-resident income without permanent establishment, specifying the legal basis (TRLIRNR). It distinguishes from siblings like 'calcular_irpf' (for residents) and 'calcular_retencion_alquiler' by mentioning it handles multiple income types and is encadenable with those tools.

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

Usage Guidelines4/5

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

The description provides clear context for when to use this tool (non-resident income), but it does not explicitly exclude resident scenarios or mention prerequisites like the absence of a permanent establishment. The mention of encadenable tools gives some guidance, but alternatives are not directly stated.

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

calcular_irpf_segunda_pagadorAInspect

Determina si existe obligación de declarar IRPF con más de un pagador (regla del 2º pagador, art. 96.3 LIRPF). Calcula el impacto en retenciones, estima la cuota IRPF total y advierte si habrá deuda con Hacienda.

ParametersJSON Schema
NameRequiredDescriptionDefault
pagadoresYesLista de todos los pagadores del año
Behavior3/5

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

No annotations exist, so the description must fully disclose behavior. It explains it calculates and warns, but does not mention it is read-only or any assumptions (e.g., personal circumstances). Provides some but not exhaustive transparency.

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

Conciseness4/5

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

The description is a single, dense sentence that front-loads the main purpose. It is efficient but could be more structured (e.g., bullet points) for readability.

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

Completeness3/5

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

No output schema; description mentions outputs (retenciones, cuota, deuda) but not format. With many sibling tools, more context on specific use case would improve completeness.

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% with descriptions for all properties. The description adds no new semantic detail beyond what the schema provides, so baseline score 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?

The description clearly states the tool determines IRPF filing obligation with multiple payers, calculates withholdings impact, estimates total IRPF, and warns about debt. It references the specific legal rule (art. 96.3 LIRPF), distinguishing it from siblings like 'calcular_irpf' which handles general IRPF.

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?

The description implies usage when there are multiple payers, but does not explicitly state when not to use it or offer alternatives. It lacks exclusion criteria, though the purpose is clear enough to guide selection.

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

calcular_itp_ccaaAInspect

Calcula el Impuesto sobre Transmisiones Patrimoniales (ITP) en la compraventa de inmuebles de segunda mano, aplicando el tipo vigente de la Comunidad Autónoma donde se ubica el inmueble. Incluye tipos generales y reducidos para jóvenes, familias numerosas, discapacidad y VPO de las 17 CCAA. La base imponible desde 2022 es el mayor entre el valor de referencia catastral y el precio pactado. Normativa: TRLITP arts. 7-13.

ParametersJSON Schema
NameRequiredDescriptionDefault
baseImponibleYesBase imponible: el mayor entre el valor de referencia catastral del inmueble y el precio pactado (€)
edadCompradorNoEdad del comprador en años (necesario para la reducción por joven)
tipoReduccionNoTipo de reducción a aplicar si el comprador cumple los requisitos. Default: ninguna
comunidadAutonomaYesComunidad Autónoma de ubicación del inmueble
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It explains the tax base rule (higher of cadastral value or price), that it includes general and reduced rates for specific groups across all 17 CCAA, and cites the legal articles. It does not detail the exact output or mention limitations like handling of autonomous cities, but overall it provides sufficient behavioral context for an AI agent.

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?

The description is a single paragraph of four sentences that efficiently covers purpose, scope, base rule, and legal reference. It is front-loaded with the main action and avoids unnecessary details.

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

Completeness3/5

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

The tool has no output schema, so the description should explain what it returns. It does not explicitly state that the output is the calculated ITP amount. Additionally, it does not mention handling of edge cases or variations across CCAA in detail. Given the tool's complexity (17 regions with potential rate variations), a more complete description would benefit an AI agent.

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 baseline is 3. The description adds some context by explaining the base rule ('mayor entre valor de referencia y precio pactado') and listing reduction categories, but the schema already provides descriptions for each parameter. The added value is marginal, hence score 3.

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 clearly states the tool calculates ITP for second-hand property purchases with regional rates, specifying the type of tax, the object of taxation, and the legal basis. It distinguishes this from other real estate tax calculators like IBI or Plusvalía by naming the specific tax and including the legal articles.

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?

The description indicates usage for second-hand property purchases via the phrase 'compraventa de inmuebles de segunda mano' and provides legal reference, but does not explicitly compare with sibling tools or state when not to use (e.g., for new properties subject to VAT). This is adequate but could be improved with explicit alternatives.

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

calcular_ivaAInspect

Calcula el IVA español (21%, 10%, 4% o 0%). Puede añadir IVA a una base imponible o extraer la base de un precio con IVA incluido. Devuelve base imponible, cuota de IVA y total con IVA.

ParametersJSON Schema
NameRequiredDescriptionDefault
modoYes"anadir" = el importe es la base sin IVA y quieres saber el total con IVA. "quitar" = el importe ya incluye IVA y quieres extraer la base y la cuota.
importeYesImporte en euros sobre el que operar
tipoIVAYesTipo de IVA: 21 (general), 10 (reducido), 4 (superreducido) o 0 (exento)
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It states the function returns three values (base imponible, cuota de IVA, total con IVA), which covers the expected output. It does not mention error handling or constraints, but for a simple calculation tool this is acceptable.

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 concise sentences that front-load the core purpose and then detail the two modes and output. Every sentence adds value 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 that the tool has 3 parameters with full schema descriptions, no output schema, and is a straightforward calculation, the description completely covers what the agent needs to know 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?

All 3 parameters are fully described in the input schema (100% coverage). The description adds slight clarification on the two modes ('anadir' vs 'quitar'), reinforcing the schema definitions but not adding substantial new meaning.

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 clearly states it calculates Spanish VAT with specific rates (21%, 10%, 4%, 0%) and two modes (add or extract). It returns base amount, VAT quota, and total with VAT. This is specific and distinguishes from sibling tools, which are other financial/legal calculators.

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?

The description explains the two modes ('anadir' for adding VAT to base, 'quitar' for extracting base from total) and implicitly guides when to use each. It does not explicitly exclude alternatives, but the sibling tools are unrelated, making usage clear.

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

calcular_jubilacion_anticipadaAInspect

Calcula el impacto económico de jubilarse anticipadamente en España. Determina si es posible (según años cotizados y modalidad), el coeficiente reductor acumulado trimestre a trimestre y la pensión resultante tras la reducción. ⚠️ Modalidad voluntaria: hasta 2 años antes, necesita ≥ 35 años cotizados. Modalidad involuntaria (despido, ERTE): hasta 4 años antes, necesita ≥ 33 años. Normativa: LGSS arts. 207-208 + Ley 21/2021.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoYes"voluntaria": el trabajador decide jubilarse antes. "involuntaria": causas ajenas al trabajador (despido colectivo, ERTE, cierre empresa). La involuntaria tiene coeficientes reductores menores.
anosCotizadosYesAños cotizados a la Seguridad Social
pensionOrdinariaYesPensión mensual estimada si te jubilaras a la edad ordinaria (€/mes). Puedes estimarla con calcular_pension_publica.
mesesAnticipacionYesMeses de anticipación respecto a la edad ordinaria de jubilación (66 años y 6 meses con <37 años y 3 meses cotizados; 65 años con ≥37 años y 3 meses)
Behavior4/5

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

With no annotations, the description carries full burden of behavioral disclosure. It explains that it calculates the reduction coefficient 'trimestre a trimestre' and the resulting pension, and references legal articles. It transparently describes the calculation's scope and does not contradict any annotations (none provided).

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

Conciseness4/5

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

The description is concise, using bullet points and warnings (⚠️). It front-loads the main purpose and provides key details in a compact form. While efficient, the dense block could be slightly more structured for quick scanning.

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?

Given the complexity (4 parameters, no output schema), the description adequately explains what the tool calculates (reduction coefficients, resulting pension) and under what conditions. However, it does not specify the exact output format or fields, leaving some ambiguity about the return structure.

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 baseline is 3. The description adds value beyond the schema by explaining the modalidad-specific rules, referencing the law (LGSS), and implying how parameters interact (e.g., mesesAnticipacion limits per tipo). This enriches the schema's basic descriptions.

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 clearly states it calculates the economic impact of early retirement in Spain, specifying what it determines: possibility, reduction coefficients, and resulting pension. It distinguishes itself from sibling tools like calcular_jubilacion_parcial and calcular_pension_publica by focusing on anticipada.

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?

The description provides explicit rules for voluntary and involuntary early retirement, including required years of contributions and maximum anticipation months. However, it does not explicitly state when NOT to use this tool or compare it with alternatives like calcular_jubilacion_parcial, though the context is clear.

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

calcular_jubilacion_parcialAInspect

Calcula los efectos económicos de la jubilación parcial (LGSS arts. 215-219): pensión proporcional del SEPE, salario por horas trabajadas e ingreso total del trabajador. Dos modalidades: con contrato de relevo (reducción 25-75%, cotización ficta a jornada completa) y sin relevo (solo disponible al llegar a edad ordinaria, reducción 25-50%).

ParametersJSON Schema
NameRequiredDescriptionDefault
modalidadYesCon contrato de relevo (antes de edad ordinaria) o sin relevo (al llegar a la edad ordinaria)
anosCotizadosNoAños cotizados — requisito mínimo 33 años (36 si el relevo es a tiempo parcial)
edadTrabajadorNoEdad del trabajador (años) — para verificar requisitos de acceso
pctReduccionJornadaYesPorcentaje de reducción de jornada acordado (%). Con relevo: 25-75%. Sin relevo: 25-50%
salarioBrutoMensualYesSalario bruto mensual actual del trabajador (EUR)
baseCotizacionMensualNoBase de cotización mensual (EUR) — si difiere del salario bruto
pensionOrdinariaMensualYesPensión de jubilación ordinaria al 100% de jornada que le correspondería (EUR/mes) — la pensión parcial será proporcional a la reducción
Behavior3/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. While it explains what the tool calculates, it does not explicitly state that it is a read-only calculation with no side effects. However, for a calculation tool, this is reasonably implicit, but a more explicit statement would improve transparency.

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?

The description is concise, consisting of three sentences that clearly convey purpose, outputs, and key modality differences. It is front-loaded with the main verb and resource, and each sentence adds essential information without redundancy.

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?

Given no output schema and no annotations, the description covers the main outputs and modalities. It mentions the three output components (pension, salary, total income) and the legal range for reduction percentages. However, it does not detail how the calculation is performed (e.g., rounding, specific formula) or mention all requirements (e.g., anosCotizados minimum of 33 or 36 years, which is only in the schema). Slightly more detail would enhance completeness.

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 baseline is 3. The description adds meaning beyond the schema by explaining the concept of 'pensión proporcional' and 'cotización ficta', and by summarizing the modalities. This aids understanding of how parameters like 'pctReduccionJornada' interact with the selected modality.

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 clearly states it calculates the economic effects of partial retirement, specifying the three outputs (proportional pension, salary, total income) and two modalities. It distinguishes itself from sibling tools like 'calcular_jubilacion_anticipada' by focusing on partial retirement and detailing the specific conditions for each modality.

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?

The description provides explicit guidance on when to use each modality: 'con contrato de relevo' is for before ordinary age with reduction 25-75%, and 'sin relevo' is only when reaching ordinary age with reduction 25-50%. This helps the agent decide based on the user's situation, and it references legal articles (LGSS arts. 215-219) for authority.

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

calcular_kilometrajeAInspect

Calcula la compensación o deducción fiscal por uso de vehículo propio en actividades económicas. Para empleados: exención IRPF hasta 0,26 €/km (RIRPF art. 9.B.2 — módulo AEAT 2025). Para autónomos: deducción en IRPF e IVA según exclusividad del uso del vehículo. Encadenable con calcular_irpf, calcular_cuota_autonomo, comparar_autonomo_vs_sl. Ideal para: "¿Cuánto me puedo deducir por usar el coche en el trabajo?" o "Mi empresa me paga 0,20€/km, ¿es correcto?"

ParametersJSON Schema
NameRequiredDescriptionDefault
perfilYes"empleado" = trabajador por cuenta ajena. "autonomo" = autónomo o profesional.
costeRealPorKmNoCoste real del vehículo por km (combustible, amortización, seguro, etc.) en euros. Por defecto 0,20 €/km.
tipoMarginalIRPFNoTipo marginal IRPF para calcular el ahorro fiscal en porcentaje. Por defecto 30%.
totalGastosVehiculoNoPara autónomos: total de gastos del vehículo en el año (combustible, seguro, reparaciones, amortización) en euros.
usoExclusivoActividadNoPara autónomos: ¿el vehículo está afecto exclusivamente a la actividad? (difícil de acreditar para turismos). Por defecto false.
kmProfesionalesAnualesYesKilómetros profesionales anuales (desplazamientos laborales o de la actividad económica).
compensacionRecibidaPorKmNoPara empleados: compensación que paga la empresa por km en euros. Por defecto 0.
Behavior3/5

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

With no annotations, the description must disclose all behavioral traits. It mentions legal rates and profiles, but does not explain output format, side effects, or data persistence. It adds context about tax law and chaining, but for a calculation tool, the lack of output details is a 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?

The description is concise: three sentences with no wasted words. First sentence states purpose, second adds profile-specific details, third mentions chaining and ideal uses. Front-loaded and efficient.

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

Completeness3/5

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

Given the tool has 7 parameters (many optional) and no output schema, the description is reasonably complete for the profiles and use cases. However, it lacks specification of what the output will be (e.g., annual deduction, monthly breakdown) and how defaults are handled. Adequate but with room for improvement.

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% so all parameters have descriptions. The description adds overarching context (legal limits, profile types) but does not explain parameter semantics beyond what the schema already provides. It meets the baseline for high coverage.

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 clearly states the tool calculates vehicle mileage tax compensation/deduction for employees and self-employed, with specific legal references (0.26 €/km, RIRPF art. 9.B.2). It distinguishes itself from siblings by focusing exclusively on vehicle usage, and provides concrete example queries.

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?

The description tells when to use the tool (for employees and self-employed) and gives ideal usage scenarios in quotes. It also mentions chaining with other tools like calcular_irpf, but does not explicitly state when not to use or list alternatives. Overall clear context but lacks exclusions.

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

calcular_leasingAInspect

Compara el coste total de adquirir un vehículo mediante leasing financiero, renting operativo o compra (al contado o con préstamo). Calcula la cuota mensual, el total pagado, el valor final del vehículo y el ahorro fiscal para autónomos y empresas. Encadenable con calcular_kilometraje, comparar_autonomo_vs_sl, calcular_prestamo. Ideal para: "¿Me conviene más el leasing o la compra del coche para mi empresa?"

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoFiscalNoPerfil fiscal para calcular deducciones. Por defecto "particular".
tipoImpuestoNoTipo del IS o tipo marginal IRPF del autónomo en porcentaje para calcular ahorro fiscal. Por defecto 25%.
entradaCompraNoEntrada o pago inicial en la compra en euros. Por defecto 0.
mesesContratoNoDuración del contrato de leasing o renting en meses. Por defecto 48.
valorResidualNoValor residual del leasing al final del contrato en euros. Por defecto 15% del precio.
precioVehiculoYesPrecio del vehículo en euros.
tasaPrestamoCompraNoTipo de interés anual del préstamo de compra en porcentaje. Por defecto 6%.
cuotaLeasingMensualNoCuota mensual del leasing financiero en euros (si tienes oferta concreta).
cuotaRentingMensualNoCuota mensual del renting operativo en euros (todo incluido: seguro, mantenimiento, etc.).
usoExclusivoActividadNo¿El vehículo es de uso exclusivo para la actividad? Afecta al IVA deducible. Por defecto false.
Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It mentions tax savings for autónomos and empresas, but fails to disclose assumptions (e.g., interest rates constant, no fees), side effects, or the calculation's scope. This is a moderate 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?

The description is two sentences long, front-loading its purpose and outputs, and listing chaining possibilities concisely. Every sentence serves a purpose with no redundancy.

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

Completeness3/5

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

With 10 parameters and no output schema, the description lacks details on return structure, assumptions, or edge cases. While it lists outputs, an agent may need more clarity on result format and limitations, reducing completeness for a tool of this complexity.

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

Parameters3/5

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

The input schema has 100% description coverage for all 10 parameters, so the schema itself provides clear definitions. The description adds only a high-level overview of outputs, not parameter-specific meaning, resulting in marginal added value beyond the schema.

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 clearly states the tool compares total cost of vehicle acquisition via leasing, renting, or buying, and lists specific outputs (monthly fee, total paid, final value, tax savings). It distinguishes from sibling tools by naming comparable ones and giving an example question, making purpose explicit.

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?

The description provides context by mentioning it is ideal for comparing leasing vs buying for a business, and notes it can be chained with other tools. However, it does not explicitly state when to avoid using this tool or list alternative tools for different scenarios, missing full usage guidance.

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

calcular_legitimasAInspect

Calcula la herencia forzosa (legítima) según el régimen de derecho civil aplicable en España. Cubre los 7 regímenes: Derecho Común (Madrid, Andalucía, Castilla...), Cataluña, Aragón, Galicia, Baleares, País Vasco y Navarra (que tiene legítima puramente formal = 0€). Determina la legítima total, la parte por hijo, el tercio de mejora y los derechos del cónyuge.

ParametersJSON Schema
NameRequiredDescriptionDefault
regimenYes"comun" = Madrid, Andalucía, Castilla, Extremadura, La Rioja, Cantabria, Asturias, Murcia, C.Valenciana, Canarias. El resto por su nombre.
numHijosYesNúmero de hijos o descendientes directos
tieneConyugeNoSi hay cónyuge o pareja de hecho superviviente. Afecta al usufructo viudal.
patrimonioNetoYesPatrimonio neto del causante en euros (activos - pasivos)
Behavior3/5

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

With no annotations, the description carries full burden. It mentions that Navarra has a purely formal legítima of 0€, but does not explicitly state that the tool is read-only or describe any side effects. It adequately implies a pure calculation but lacks full 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?

The description is two sentences, front-loaded with purpose, and includes all necessary detail without filler. Every sentence adds value.

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?

Given the tool's complexity (4 parameters, no output schema), the description covers the regimes and returned values. It could mention the return format or structure, but it is largely complete.

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%, so baseline is 3. The description does not add significant new meaning beyond the schema; it confirms the purpose but does not enrich parameter understanding further.

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 clearly states it calculates the forced inheritance (legítima) under Spanish civil law, lists the 7 regimes, and specifies the outputs (total, per child, mejora, spouse rights). It is specific and distinguishes from sibling tools by its unique scope.

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?

No guidance is provided on when to use this tool versus alternatives like 'calcular_sucesiones' or 'calcular_herencia_conjunta'. The description lacks explicit usage context or exclusion criteria.

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

calcular_macrosAInspect

Calcula las necesidades calóricas diarias y la distribución óptima de macronutrientes. Usa la fórmula Mifflin-St Jeor para la TMB (Tasa Metabólica Basal) y multiplica por el factor de actividad para obtener el TDEE. Ajusta las calorías según el objetivo (definición -500 kcal, mantenimiento 0, volumen +400 kcal) y distribuye en proteínas, carbohidratos y grasas. ⚠️ Orientativo — consultar con dietista-nutricionista titulado para planes personalizados.

ParametersJSON Schema
NameRequiredDescriptionDefault
edadYesEdad en años
pesoYesPeso corporal en kilogramos
sexoYesSexo biológico (determina la constante de la fórmula Mifflin-St Jeor)
alturaYesAltura en centímetros
objetivoYes"definicion" (déficit -500 kcal, 30P/40C/30G%), "mantenimiento" (0 kcal, 25P/50C/25G%), "volumen" (superávit +400 kcal, 25P/50C/25G%)
nivelActividadYes"sedentario" (sin ejercicio), "ligero" (1-3 días/semana), "moderado" (3-5 días), "activo" (6-7 días), "muy_activo" (ejercicio intenso diario o 2x/día)
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It describes the formula (Mifflin-St Jeor), activity multiplier, and goal adjustments (-500, 0, +400 kcal) with macronutrient distribution percentages. It also includes a disclaimer that it's orientative. However, it does not mention any side effects, data storage, or other behavioral traits beyond the calculation itself.

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

Conciseness4/5

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

The description is concise, with 3-4 sentences covering the formula, adjustments, and a warning. It is front-loaded with the purpose and formula, then details the adjustments. No unnecessary words, but could be slightly more compact by removing the warning if it's a standard disclaimer.

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 the complexity (6 parameters, all required, with enums) and no output schema, the description is remarkably complete. It explains the underlying formula, how each parameter contributes (sex determines constant, activity level multiplies, goal adjusts calories and distribution), and includes a health disclaimer. The warning about consulting a dietitian adds necessary context for a health-related tool.

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

Parameters5/5

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

Schema coverage is 100% (all 6 parameters described). The description adds significant value beyond the schema by explaining the Mifflin-St Jeor formula, the specific calorie adjustments for each goal (definición -500, mantenimiento 0, volumen +400), and the macronutrient distribution percentages (e.g., 30P/40C/30G% for definición). This enriches the understanding of how parameters are used.

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 clearly states it calculates daily caloric needs and macronutrient distribution using the Mifflin-St Jeor formula. It specifies the verb 'calcula' and resource 'necesidades calóricas diarias y distribución óptima de macronutrientes', distinguishing it from other 'calcular_*' tools which are mostly financial or legal calculations.

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?

The description provides clear context for when to use: for calculating macros based on weight, height, age, sex, activity level, and goal. It also includes a warning that it is orientative and advises consulting a dietitian. However, it does not explicitly state when not to use or compare to sibling tools, though the context is sufficient.

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

calcular_mcd_mcmAInspect

Calcula el Máximo Común Divisor (MCD) y el Mínimo Común Múltiplo (MCM) de dos o más números enteros positivos. Incluye: algoritmo de Euclides paso a paso (si son 2 números), factorización en números primos de cada número, factores del MCD (primos comunes con exponente mínimo) y del MCM (exponente máximo), y lista de todos los divisores comunes.

ParametersJSON Schema
NameRequiredDescriptionDefault
numerosYesLista de 2 a 10 números enteros positivos. Ejemplo: [12, 18, 24]
Behavior4/5

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

The description discloses detailed behavioral traits: includes Euclid algorithm step-by-step (for 2 numbers), prime factorization, listing common divisors, etc. This goes beyond basic functionality, though no annotations are present to compare.

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

Conciseness4/5

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

The description is a single paragraph containing all necessary information without redundancy. It is reasonably concise, though could be structured into bullet points for clarity.

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 the mathematical nature and no output schema, the description fully explains inputs and expected outputs, including step-by-step algorithms. It is comprehensive for the tool's complexity.

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?

The input schema covers the parameter 'numeros' with a clear description and example. Baseline is 3 due to 100% schema coverage. The description adds context about outputs but not additional parameter semantics.

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 explicitly states it calculates MCD and MCM of two or more positive integers, with specific algorithmic details. It clearly identifies the tool's purpose and differentiates it from sibling tools, which cover various financial and legal calculations.

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 does not provide explicit guidance on when to use this tool versus alternatives. Usage is implied by the mathematical context, but no when-to-use or when-not-to-use criteria are given.

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

calcular_modelo_111AInspect

Calcula el importe total a ingresar en el Modelo 111 (retenciones e ingresos a cuenta IRPF — trimestral). Admite múltiples categorías: rendimientos del trabajo (tipo variable — el usuario lo indica), profesionales/autónomos (15% general / 7% inicio actividad), administradores (35% / 19% empresa pequeña), premios (19%), propiedad intelectual (19% / 7%), impatriados (24%). Devuelve el total de retenciones por categoría.

ParametersJSON Schema
NameRequiredDescriptionDefault
lineasYesLíneas de retención a declarar
ejercicioYesEjercicio fiscal (año)
trimestreYesTrimestre a declarar (1-4)
Behavior2/5

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

No hay anotaciones, y la descripción no revela comportamientos como requisitos de autenticación, límites de uso, o si los cálculos se basan en reglas oficiales. Solo se explica qué calcula, no sus efectos secundarios o restricciones.

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?

El texto es conciso y frontal: primera oración define el propósito, luego lista categorías. No hay redundancias. Se podría estructurar mejor con viñetas, pero es aceptable.

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?

Sin esquema de salida, la descripción indica que devuelve totales por categoría. Para una herramienta de cálculo, es suficiente. Faltaría detalle sobre redondeo o precisión, pero es completo en lo esencial.

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?

La cobertura del esquema es del 100%, pero la descripción añade significado específico a cada categoría (tipos y porcentajes) que no está en los nombres de los valores enumerados. Ayuda enormemente al agente a seleccionar la categoría correcta.

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?

El verbo 'calcula' y el recurso 'Modelo 111 (retenciones e ingresos a cuenta IRPF — trimestral)' están claramente definidos y se distinguen de los demás herramientas 'calcular_*' del servidor por su especificidad fiscal y trimestral.

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?

Se menciona que es trimestral y las categorías, pero no se indica cuándo no usarlo ni alternativas como 'calcular_irpf' para el global anual. Falta guía explícita de contexto.

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

calcular_modelo_130AInspect

Calcula el pago fraccionado trimestral del IRPF para autónomos en estimación directa (Modelo 130). Fórmula: 20% × rendimiento neto acumulado (ingresos - gastos) - retenciones acumuladas - pagos fraccionados anteriores del año. Si más del 70% de los ingresos provienen de clientes que retienen, no existe obligación de presentar el modelo. Encadenable con: calcular_irpf, calcular_cuota_autonomo, calcular_modelo_303.

ParametersJSON Schema
NameRequiredDescriptionDefault
trimestreYesTrimestre al que corresponde el pago fraccionado
anioEjercicioNoAño del ejercicio. Por defecto año actual.
ingresosAcumuladosYesIngresos (facturación) acumulados desde el 1 de enero hasta el fin del trimestre (€)
retencionesAcumuladasYesRetenciones practicadas por clientes acumuladas en el período (€)
masDeL70PctConRetencionNo¿Más del 70% de los ingresos provienen de clientes obligados a retener? (exime de presentar el modelo 130). Por defecto false.
gastosDeduciblesAcumuladosYesGastos deducibles acumulados desde el 1 de enero (€): compras, SS autónomo, alquileres, suministros, amortizaciones, etc.
pagosFraccionadosAnterioresYesSuma de Modelo 130 ya ingresados en trimestres anteriores del mismo año (€)
Behavior3/5

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

The description discloses the calculation logic and an exemption condition, providing basic behavioral transparency. However, without annotations, it does not cover side effects, error handling, or permission requirements. It adequately describes the computation but lacks details on return format or edge cases.

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?

The description is concise with three sentences covering purpose, formula, exemption, and chainable tools. Every sentence is informative and no unnecessary words. The structure is front-loaded with the main purpose.

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?

Given no output schema, the description does not specify the return value, but the formula hints at the result. It mentions chainability with related tools, providing integration context. For a calculation tool with well-documented parameters, it is fairly complete, but could explicitly state the output type (amount, status, etc.).

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 input schema has 100% coverage with descriptions for all parameters. The description adds value by providing the formula that relates the parameters, explaining how they are used in the calculation. This goes beyond merely listing parameters, though the schema already describes each individually.

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 clearly states the tool calculates the quarterly fractional payment of IRPF for self-employed under direct estimation (Modelo 130). It specifies the target user and model, distinguishing it from other tax tools. The verb 'calcula' and resource 'Modelo 130' provide specificity.

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?

The description explains the formula and a condition (exemption if >70% income from withholding clients), offering context on when the tool applies. However, it does not explicitly differentiate from similar tools like 'calcular_pago_fraccionado' or state when not to use it. The mention of chainability gives some guidance on tool combination.

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

calcular_modelo_303AInspect

Calcula la autoliquidación trimestral del IVA (Modelo 303) para autónomos y empresas. Resultado: IVA devengado (repercutido en facturas emitidas) menos IVA soportado deducible (facturas recibidas) = cuota diferencial. Si es positivo → a ingresar en Hacienda. Si es negativo → a compensar (o solicitar devolución en T4). Fechas de presentación: T1 hasta 30 abril, T2 hasta 20 julio, T3 hasta 20 octubre, T4 hasta 30 enero. Encadenable con calcular_iva, calcular_pago_fraccionado, calcular_cuota_autonomo.

ParametersJSON Schema
NameRequiredDescriptionDefault
trimestreYesTrimestre de la liquidación: T1 (ene-mar), T2 (abr-jun), T3 (jul-sep), T4 (oct-dic)
anioFiscalNoAño fiscal de la liquidación. Por defecto el año actual.
compensacionAnteriorNoSaldo a compensar de trimestres anteriores (resultado negativo previo no pedido a devolver) (€)
baseImponibleEmitidas4NoBase imponible de facturas emitidas al tipo superreducido 4% (€)
baseImponibleEmitidas10NoBase imponible de facturas emitidas al tipo reducido 10% (€)
baseImponibleEmitidas21NoBase imponible de facturas emitidas al tipo general 21% (€)
baseImponibleRecibidas4NoBase imponible de facturas recibidas deducibles al 4% (€)
baseImponibleRecibidas10NoBase imponible de facturas recibidas deducibles al 10% (€)
baseImponibleRecibidas21NoBase imponible de facturas recibidas deducibles al 21% (€)
Behavior4/5

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

With no annotations provided, the description effectively explains the calculation behavior: the formula, how the result is determined (positive/negative), and what each outcome means. It omits details like default values for optional parameters or potential side effects, but as a calculation tool, this is sufficient.

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?

The description is front-loaded with the core purpose, then efficiently presents the formula, outcomes, deadlines, and related tools. Every sentence adds value without redundancy, making it concise yet comprehensive.

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?

Given the tool's complexity (9 parameters, no output schema), the description covers the calculation, outcomes, deadlines, and chaining possibilities. It implies the output is the cuota diferencial, which is adequate for an agent. However, it could mention whether additional breakdowns are returned, slightly reducing completeness.

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 input schema covers all 9 parameters with descriptions, so schema coverage is 100%. The description adds value by explaining the formula (IVA devengado - IVA soportado), which ties the parameters together semantically, going beyond what the schema alone provides.

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 clearly states it calculates the Spanish quarterly VAT self-assessment (Modelo 303) for self-employed and companies. It specifies the formula, outcomes, and deadlines, making the tool's purpose unmistakable. The inclusion of related tools for chaining further distinguishes it from general VAT calculations.

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?

The description provides deadlines and hints at chaining with other tools (calcular_iva, etc.), giving context on when to use this tool. However, it does not explicitly state when not to use it or offer direct comparisons to similar tools, which would improve guidance.

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

calcular_modelo_347AInspect

Determina qué operaciones con clientes/proveedores superan el umbral del Modelo 347 (3.005,06 EUR anuales por tercero, IVA incluido) y prepara el resumen por trimestres. Identifica operaciones en efectivo >6.000 EUR y las excluidas por otros modelos (180, 190, 349). Presentación en febrero.

ParametersJSON Schema
NameRequiredDescriptionDefault
tercerosYesLista de terceros con sus operaciones del año
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It explains what the tool determines (threshold, cash, exclusions) but does not mention side effects (e.g., if it modifies data, requires authentication, or has rate limits). For a calculation tool, destructive behavior is unlikely, but the description should still clarify that it is a read-only analysis.

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?

The description is two sentences long, front-loaded with the key action, and contains no redundant information. Every phrase adds value: threshold, exclusions, cash, and timing.

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?

Given the complexity (multiple conditions, exclusions, quarterly summary) and no output schema, the description covers the main aspects: threshold, cash, exclusions, and timing. It could be slightly more complete by mentioning the output format (e.g., a summary with quarters and totals), but overall it adequately sets expectations.

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 meaningful context: it explains the threshold (3,005.06 EUR), cash operations (6,000 EUR), and exclusions (from Models 180, 190, 349). This provides semantic enrichment beyond the schema definitions, especially for the 'enEfectivo' and 'excluida' fields.

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 clearly states the tool's purpose: determining which client/supplier operations exceed the Model 347 threshold (3,005.06 EUR/year per third party, VAT included) and preparing a quarterly summary. It also specifically identifies cash operations >6,000 EUR and excluded operations from other models (180, 190, 349). This is specific and distinguishes it from sibling tools like calcular_modelo_111 or calcular_modelo_303.

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 implies usage context (annual reporting for Model 347, due in February) but does not explicitly state when to use this tool versus alternatives. It mentions excluded operations from other models, hinting at when not to use it, but lacks direct guidance or comparative context with siblings.

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

calcular_modelo720AInspect

Analiza la obligación de presentar el Modelo 720 (declaración de bienes y derechos en el extranjero, DA 18ª LGT). Evalúa si cada categoría de bienes supera el umbral de 50.000 EUR: cuentas bancarias (saldo 31/12 o media 4T), valores/seguros y bienes inmuebles. Determina si hay obligación de declarar en el año siguiente (plazo 1 enero - 31 marzo). Incluye régimen sancionador tras la Sentencia TJUE C-788/19 y Ley 5/2022.

ParametersJSON Schema
NameRequiredDescriptionDefault
bienesYesLista de bienes en el extranjero a evaluar
ejercicioYesAño del ejercicio a declarar (ej: 2024 para el 720 que se presenta en 2025)
presentoAnosAnterioresNo¿El contribuyente presentó el Modelo 720 en ejercicios anteriores?
bienesNoDeclaradosPrescripcionNoValor estimado de bienes que debieron declararse y no se declararon (EUR). Para análisis de riesgo de imputación como ganancia patrimonial no justificada
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It transparently describes the tool's analysis process, threshold evaluation, and mentions legal context (Sentencia TJUE C-788/19). As a calculator, no destructive actions are expected, so it is sufficiently transparent.

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?

The description is concise and front-loaded with the main purpose. It includes essential details without unnecessary fluff, and every sentence adds value.

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?

The description covers the core functionality, thresholds, and legal framework. However, it lacks mention of output format or return value, which is a minor gap given the complexity and absence of an 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 coverage is 100% with good parameter descriptions. The tool description adds legal and contextual information but does not enhance parameter semantics beyond what is in the schema. Baseline score of 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?

The description clearly states the tool analyzes the obligation to file Modelo 720 for foreign assets. It specifies the categories evaluated (bank accounts, securities/insurance, real estate) and the 50,000 EUR threshold, making it distinct from other tax model calculators.

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?

The description provides clear context on when to use the tool (for evaluating Modelo 720 filing obligation), but does not explicitly exclude other scenarios or mention alternative tools. The sibling tools include other model calculators, so the implicit differentiation is adequate.

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

calcular_modificacion_sustancial_condicionesAInspect

Calcula los derechos económicos del trabajador ante una Modificación Sustancial de Condiciones de Trabajo (MSCT — ET art. 41). Si el trabajador decide rescindir el contrato: indemnización de 20 días/año de servicio con tope de 9 mensualidades (sin exención IRPF). Identifica si la MSCT es colectiva por superar umbrales legales. Informa del plazo de impugnación judicial (20 días hábiles).

ParametersJSON Schema
NameRequiredDescriptionDefault
tiposMSCTYesTipos de condiciones modificadas
esColectivaNo¿Es una MSCT colectiva (superando umbrales legales)?
plantillaEmpresaNoPlantilla total de la empresa (para calcular umbrales colectivos)
decisionTrabajadorYesDecisión del trabajador
salarioBrutoMensualYesSalario bruto mensual actual (EUR)
anosServicioCompletosYesAños completos de servicio
trabajadoresAfectadosNoNúmero de trabajadores afectados por la MSCT
mesesServicioAdicionalesNoMeses adicionales de servicio (fracción del último año)
Behavior4/5

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

Despite no annotations, the description discloses key behavioral traits: indemnity formula (20 days/year, 9-month cap, no IRPF exemption), identification of collective MSCT, and judicial deadline. Missing are limitations, permissions, or output format.

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

Conciseness4/5

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

The description is a single paragraph covering three key aspects (indemnity, collective identification, deadline) without redundant information, but it could be more structured.

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

Completeness3/5

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

With 8 parameters and no output schema, the description explains the calculation context but lacks output format details and does not fully compensate for missing 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 coverage is 100%, so baseline is 3. The description does not add significant meaning beyond schema; it mentions high-level outcomes but does not elaborate on parameter usage or interdependencies.

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 clearly states it calculates economic rights for a specific legal scenario (MSCT under ET article 41) and distinguishes it from sibling tools like calcular_despido_objetivo by its unique subject matter.

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?

The description implies the use case ('ante una Modificación Sustancial de Condiciones de Trabajo') and provides specific actions (rescind, impugnar), but lacks explicit when-not-to-use or comparisons with alternatives.

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

calcular_moratoria_hipotecaAInspect

Calcula el impacto financiero de aplicar una carencia hipotecaria (moratoria): carencia total (no se paga nada, intereses capitalizados) o carencia parcial (solo se pagan intereses). Muestra la nueva cuota, el sobrecoste total y el incremento de cuota tras el período de carencia.

ParametersJSON Schema
NameRequiredDescriptionDefault
tinAnualYesTipo de interés nominal anual (TIN) en % (ej: 3.5 para el 3,5%)
tipoCarenciaYesTipo de carencia: total (no se paga nada, intereses capitalizados) o parcial_solo_intereses (solo se pagan intereses)
capitalPendienteYesCapital pendiente de la hipoteca en el momento de aplicar la carencia (€)
plazoRestanteMesesYesPlazo restante de la hipoteca antes de la carencia (meses)
duracionCarenciaMesesYesDuración del período de carencia (meses)
Behavior3/5

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

The description explains the two types of grace periods and the outputs shown, giving some behavioral insight. However, with no annotations, it does not disclose assumptions, rounding, or side effects, leaving gaps in transparency.

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?

The description is two sentences, concise and front-loaded with the action and key distinctions. Every sentence provides value, and there is no redundant 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?

Given the tool has 5 required parameters and no output schema, the description compensates by listing the key outputs (new installment, total extra cost, increase). It is mostly complete for understanding the tool's functionality, though it could specify output format.

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% with detailed parameter descriptions. The tool description adds a high-level explanation of the calculation types but does not enhance parameter semantics beyond what the schema provides, so a baseline of 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?

The description clearly states the tool calculates the financial impact of applying a mortgage moratorium, distinguishing between total and partial grace periods. It lists specific outputs (new installment, total extra cost, increase after grace period), making the purpose precise and distinct from sibling tools.

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?

No guidance is provided on when to use this tool over alternatives. Siblings like 'calcular_hipoteca' or 'calcular_periodo_carencia' exist but are not mentioned; the description lacks context on tool selection.

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

calcular_movilidad_geograficaAInspect

Calcula los derechos y costes de la movilidad geográfica (ET art. 40): traslado definitivo (preaviso 30 días, opción rescisión con 20 días/año) y desplazamiento temporal (dietas y gastos de viaje). Si el trabajador rescinde, indemnización de 20 días/año máx. 12 meses. Gastos de traslado exentos de IRPF con factura.

ParametersJSON Schema
NameRequiredDescriptionDefault
zonaDestinoNoZona del destino para el cálculo de dietas exentas. Default: espana
anosServicioYesAños de servicio en la empresa
tipoMovilidadYesTraslado definitivo (cambia residencia) o desplazamiento temporal (<12 meses en 3 años)
gastosTrasladoNoGastos del traslado a cargo de la empresa — si decisión = aceptar
decisionTrabajadorYesDecisión del trabajador: aceptar el traslado, rescindir el contrato con indemnización, o pendiente de decidir
diasDesplazamientoNoDuración del desplazamiento temporal (días) — solo si tipo=desplazamiento_temporal
salarioBrutoMensualYesSalario bruto mensual del trabajador (EUR)
Behavior5/5

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

With no annotations provided, the description carries full burden and excels by detailing specific rights, costs, worker options (accept/resign/pending), expense types, and tax exemptions (IRPF-exempt with invoice). It fully discloses behavioral traits and legal 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?

The description is a single, well-structured paragraph that front-loads the main purpose and includes all key details without redundancy. Every sentence adds value, achieving maximum conciseness.

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 the tool's complexity (7 parameters, nested object, enums, no output schema), the description provides complete context: legal article, calculation logic, worker options, expenses, tax treatment. An agent can fully understand what the tool computes and returns.

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% with descriptions on all parameters. The description adds extra meaning by explaining the legal framework, options (e.g., decisionTrabajador enum values), and contextual details (e.g., gastosTraslado with factura requirement), going beyond basic schema descriptions.

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 clearly states the tool calculates rights and costs of geographical mobility under Spanish labor law (ET art. 40), distinguishing between definitive transfer and temporary relocation. It includes specific legal references and details, leaving no ambiguity about its purpose.

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 does not explicitly provide guidance on when to use this tool versus alternatives among the many sibling 'calcular_' tools. While the purpose is clear, there is no mention of when not to use or which other tools might be more appropriate for related labor calculations.

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

calcular_nocturnidad_turno_rotativoAInspect

Calcula las horas nocturnas acumuladas en esquemas de turnos rotativos (2 turnos, 3 turnos, turno noche fijo o personalizado), determina si el trabajador adquiere la condición legal de "trabajador nocturno" según el ET art. 36.2 (≥3h nocturnas diarias o ≥1/3 de las horas anuales) y estima el plus de nocturnidad anual o los días de descanso adicional equivalentes. Diferente de calcular_plus_nocturnidad, que parte de horas ya conocidas.

ParametersJSON Schema
NameRequiredDescriptionDefault
patronTurnosYesPatrón de turnos: dos_turnos_sin_nocturno=M+T (6-14/14-22, sin horas nocturnas); dos_turnos_con_nocturno=M+N alternando (6-14/22-6); tres_turnos_rotativos_iguales=M+T+N rotando en ciclo de 3 (1/3 del tiempo nocturno); turno_noche_fijo=solo turno de noche (22-6); personalizado=indicar horasNocturnasSemana directamente
salarioBaseMensualYesSalario base mensual del trabajador (€) — base del cálculo del plus de nocturnidad
horasJornadaSemanalYesHoras totales de jornada laboral por semana (ej: 40 para jornada completa estándar)
horasNocturnasSemanaNoHoras nocturnas (22h-6h) por semana. Solo necesario si patronTurnos=personalizado
diasLaborablesSemanalesNoDías laborables por semana (Default: 5). Usar 6 si trabaja 6 días/semana
pctPlusNocturnidadConvenioNoPorcentaje del plus de nocturnidad según convenio colectivo (%). Si no hay convenio, el ET no fija mínimo — rango habitual: 20-35%. Default: 25%
Behavior3/5

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

With no annotations, the description carries full burden. It discloses legal references but does not state core behavioral traits like read-only nature, side effects, or permissions. The description adds legal context but lacks explicit 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?

The description is a single concise paragraph with front-loaded main function, legal reference, and sibling differentiation. Every sentence adds value with no waste.

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?

Given no output schema, the description hints at outputs (hours, status, bonus/days). It covers main aspects but lacks details on output format and behavior. Slightly more completeness could be achieved.

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 descriptions exist for each parameter. The description does not add significant extra meaning beyond the schema for parameters, so 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?

The description clearly states the tool calculates night hours, determines legal night worker status, and estimates bonus/days. It explicitly differentiates from sibling 'calcular_plus_nocturnidad' by noting that sibling uses pre-known hours, providing strong purpose clarity.

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?

The description implicitly guides when to use this tool (for rotating shifts with legal determination) and explicitly distinguishes from sibling. It provides legal context but does not explicitly state when to use vs alternatives or exclude scenarios.

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

calcular_numero_pagosAInspect

Calcula cuántos pagos (meses) quedan para liquidar un préstamo o hipoteca, dado el capital pendiente, la cuota mensual y el tipo de interés. También simula el efecto de un pago extraordinario (¿cuántos meses se acorta la deuda?) y el efecto de aumentar la cuota mensual (¿cuánto se ahorra en intereses?). Encadenable con calcular_hipoteca, calcular_prestamo, calcular_amortizacion_anticipada, calcular_penalizacion_hipoteca.

ParametersJSON Schema
NameRequiredDescriptionDefault
tasaAnualYesTipo de interés anual (%). Para préstamos sin interés, usar 0.
cuotaMensualYesCuota mensual actual (€)
capitalPendienteYesCapital pendiente actual del préstamo/hipoteca (€)
nuevaCuotaMensualNoNueva cuota mensual si se sube la cuota (€). Debe ser mayor que la cuota actual. Simula el ahorro en tiempo e intereses.
pagoExtraordinarioNoPago extraordinario adicional a realizar ahora (€). Calcula cuántos meses se acorta el plazo.
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the main behavior (calculations and simulations) but lacks details on output format, side effects, or any constraints. This is adequate but not comprehensive for a tool with no 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?

Two sentences with no fluff: first defines core purpose, second adds secondary features and chainability. Every part adds value.

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?

Given no output schema and 5 parameters, the description covers the main functionality and optional scenarios well. It could mention output format, but is sufficiently complete for most agents.

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% with each parameter already described. The tool description does not add new meaning beyond summarizing them in the first sentence. 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?

The description clearly states the tool calculates remaining payments (months) to liquidate a loan/mortgage given three required inputs, and distinguishes it from siblings by specifying its unique functionality (simulating effects of extra payment and increased monthly payment). It uses specific verbs and resources.

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?

The description implicitly tells when to use this tool (when needing remaining months or simulating payment changes) and explicitly mentions chainability with related calculators, but does not provide explicit when-not or alternative usage.

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

calcular_objetivo_ahorroAInspect

Responde dos preguntas complementarias sobre objetivos de ahorro: A) ¿Cuántos meses/años necesito para ahorrar X euros dado un ahorro mensual? B) ¿Cuánto debo ahorrar mensualmente para alcanzar X euros en N meses? Considera rentabilidad del ahorro (cuenta remunerada, fondo indexado, etc.) Encadenable con calcular_interes_compuesto, calcular_fire, calcular_pension_complementaria. Ideal para: "¿Cuánto tiempo tardaré en ahorrar 30.000€ para una entrada de piso?"

ParametersJSON Schema
NameRequiredDescriptionDefault
ahorroMensualNoAhorro mensual disponible en euros. Proporciona este campo para calcular el plazo necesario.
mesesObjetivoNoNúmero de meses para alcanzar el objetivo. Proporciona este campo para calcular la cuota mensual necesaria.
objetivoEurosYesObjetivo de ahorro a alcanzar en euros.
capitalInicialNoCapital inicial ya disponible para el objetivo en euros. Por defecto 0.
rentabilidadAnualNoRentabilidad anual del ahorro en porcentaje (ej: 3 para cuenta remunerada al 3%). Por defecto 0%.
Behavior3/5

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

No annotations provided, so description carries full burden. It mentions that rentabilidad (return) is considered, but does not disclose computational assumptions (e.g., constant returns) or that ahorroMensual and mesesObjetivo are likely mutually exclusive. Lacks detail on how the tool decides which mode to execute.

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?

Description is concise (4 sentences), front-loaded with purpose, and well-structured with two scenarios, a mention of rentabilidad and chaining, and an example. No wasted words.

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

Completeness3/5

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

Adequately covers the two calculation modes and mentions chaining, but does not describe the output format (e.g., number of months or monthly amount). Given no output schema, this gap reduces completeness. Also, mutual exclusivity of parameters is implied but not stated.

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% with descriptions, baseline 3. Description adds framing for the two calculation modes but does not provide new details beyond what the schema already states. Slight added value from contextual alignment.

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?

Description clearly states it responds to two questions about savings goals (time to save X given monthly savings, or monthly savings needed given time). It specifies the resource (objetivos de ahorro) and mentions chaining with related tools, distinguishing it from siblings. However, the dual-mode behavior could be more explicitly tied to the parameters.

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?

Includes an ideal use case example ('How long to save 30,000€ for a flat deposit?') and lists compatible tools for chaining. It gives good context for when to use, but does not explicitly state when not to use it or describe alternative tools beyond the sibling list.

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

calcular_operaciones_vinculadasAInspect

Analiza si una operación entre entidades vinculadas (LIS art. 18) tiene un precio de transferencia correcto y calcula el ajuste primario potencial. Identifica si se supera el umbral de documentación obligatoria (250.000 EUR por vinculado → Local File; grupo > 45M EUR → Master File). Señala la desviación entre el precio pactado y el valor de mercado estimado, y el impacto en la cuota IS del ajuste bilateral.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoISNoTipo IS del contribuyente (% — por defecto 25%)
valorPactadoYesValor pactado en la operación entre vinculados (EUR)
tipoOperacionYesTipo de operación vinculada
metodoValoracionYesMétodo de valoración aplicado
valorMercadoEstimadoYesValor de mercado estimado según el método de valoración (EUR)
superaUmbralDocumentacionNo¿Las operaciones con este vinculado superan 250.000 EUR en el ejercicio?
grupoSuperaUmbralMasterFileNo¿El grupo empresarial supera los 45 M EUR de facturación mundial?
Behavior4/5

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

No annotations are provided, so the description carries full responsibility. It transparently describes the tool's actions: analysis, calculation, threshold identification, and impact signaling. It does not mention error conditions or side effects, but the behavioral scope is adequately covered.

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?

The description is a single paragraph of three sentences, each adding value. It is front-loaded with the core purpose and contains no fluff, making it highly concise for the content delivered.

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 7 parameters and no output schema, the description outlines the main outputs (threshold info, deviation, tax impact). It lacks details on return format or error handling, but for a complex tool, it covers essential aspects adequately.

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 parameters are described. The description adds context by linking parameters to real-world thresholds (250k EUR for Local File, 45M for Master File) and explaining how the tool uses them. This adds value beyond the schema.

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 clearly states it analyzes transfer prices for related-party transactions, calculates primary adjustments, identifies documentation thresholds, and signals deviation and tax impact. It uses specific verbs ('analiza', 'calcula', 'identifica') and distinguishes from siblings, which cover other calculation topics.

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 implies usage for related-party transfer pricing analysis but does not explicitly state when to use or avoid this tool, nor does it reference alternatives. Given the sibling context, it is clear enough, but lacks explicit guidance.

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

calcular_pace_runningAInspect

Calcula el pace (ritmo por kilómetro), velocidad media, splits por km y proyecciones para 5K, 10K, media maratón y maratón a ese mismo ritmo.

ParametersJSON Schema
NameRequiredDescriptionDefault
tiempo_sYesTiempo empleado en segundos (ej. 3000 para 50 minutos)
distancia_kmYesDistancia recorrida en kilómetros (ej. 10 para un 10K)
Behavior3/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It lists the outputs (pace, speed, splits, projections) but does not mention that calculations assume constant pace, how projections are computed, or any rounding behavior. The description is adequate but lacks some details about operational assumptions.

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?

The description is a single, well-structured sentence that concisely lists all outputs. It is front-loaded with the main action and contains no redundant or extraneous 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?

Given the tool's simplicity and lack of an output schema, the description fairly covers what the tool does. It lists all computed items. However, it could improve by noting that projections assume a constant pace, which is critical for understanding the results.

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?

Both parameters (tiempo_s, distancia_km) have 100% schema coverage with clear descriptions. The tool description does not add extra meaning beyond what the schema already provides, such as clarifying units or examples. It stays at the baseline level for well-described schemas.

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 clearly states the tool calculates pace, average speed, splits by km, and projections for common race distances (5K, 10K, half marathon, marathon). It uses a specific verb 'Calcula' and identifies the resource ('pace running'), differentiating it from related siblings like 'calcular_prediccion_running' which focuses on prediction.

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 provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, limitations, or when not to use it. There is no comparison with sibling tools like 'calcular_prediccion_running' or 'calcular_zonas_cardiacas', which could confuse an agent about the best tool for a given query.

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

calcular_pago_fraccionadoAInspect

Calcula el pago fraccionado trimestral del IRPF para autónomos en estimación directa (Modelo 130 AEAT). Fórmula: 20% × (ingresos - gastos - cuotas SS) - retenciones soportadas - pagos anteriores. Devuelve el importe a ingresar o el saldo negativo a compensar en el siguiente trimestre. Encadenable con calcular_cuota_autonomo, calcular_irpf. Ideal para: "Soy autónomo, ¿cuánto tengo que pagar en el modelo 130 del segundo trimestre?"

ParametersJSON Schema
NameRequiredDescriptionDefault
trimestreYesTrimestre a calcular (1, 2, 3 o 4).
actividadAgricolaNo¿Actividad agrícola, ganadera, forestal o pesquera? Aplica 2% en lugar del 20%. Por defecto false.
cuotasSSAcumuladasYesCuotas RETA (SS) pagadas y acumuladas desde el 1 de enero en euros.
ingresosAcumuladosYesIngresos brutos acumulados desde el 1 de enero hasta el fin del trimestre en euros.
gastosDeduciblesAcumuladosYesGastos deducibles acumulados desde el 1 de enero (sin incluir cuotas SS) en euros.
pagosFraccionadosAnterioresNoSuma de pagos fraccionados ya ingresados en trimestres anteriores del mismo año en euros. Por defecto 0.
retencionesSoportadasAcumuladasNoRetenciones soportadas acumuladas (facturas emitidas con retención 7% o 15%) en euros. Por defecto 0.
Behavior4/5

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

With no annotations, the description carries full burden. It discloses the formula, the return value (positive amount or negative balance to compensate), and chaining capabilities. It does not mention error handling or required permissions, but as a calculation tool, the disclosure is adequate.

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?

The description is concise (four sentences) and well-structured: action, formula, output, chaining, example. Every sentence adds value with no redundancy.

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

Completeness3/5

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

The description covers the main use case and formula but omits the exception for agricultural activity (2% rate instead of 20%), which is documented in the schema. Given the tool's complexity (7 params, formula) and no output schema, this slight gap reduces completeness. However, it is otherwise informative.

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% with individual parameter descriptions. The description adds value by explaining the overall formula, which implicitly relates all parameters. It does not describe each parameter in detail, but the formula provides context beyond the schema.

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 clearly states it calculates the quarterly fractional payment for IRPF Modelo 130 for self-employed in direct estimation. It provides a specific verb, resource, and context. Although a sibling 'calcular_modelo_130' exists, the description disambiguates by focusing on the 'pago fraccionado' and listing distinct sibling tools for chaining.

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?

The description gives explicit usage context via the 'Ideal para' example and suggests chaining with 'calcular_cuota_autonomo' and 'calcular_irpf'. However, it does not specify when not to use this tool or provide alternatives for other regimes or models, though the context is sufficiently clear.

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

calcular_penalizacion_hipotecaAInspect

Calcula la comisión por amortización anticipada (total o parcial) de una hipoteca según la Ley 5/2019 reguladora del crédito inmobiliario (LCCI). LCCI variable: 0,25% los 3 primeros años, 0,15% años 4-5, 0% a partir del año 6. LCCI fija: 2% primeros 10 años, 1,5% a partir del año 11. También admite hipotecas mixtas y pre-LCCI (firmadas antes del 16/06/2019). Encadenable con calcular_hipoteca, calcular_amortizacion_anticipada.

ParametersJSON Schema
NameRequiredDescriptionDefault
regulacionNo"lcci_2019" para hipotecas firmadas desde el 16/06/2019 (por defecto). "pre_lcci" para hipotecas anteriores.
tipoHipotecaYes"variable" (euríbor + diferencial), "fija" (tipo fijo toda la vida), "mixta" (fija X años + variable el resto)
anioVidaHipotecaYesAño de vida de la hipoteca en el momento de la amortización (1 = primer año desde la firma)
aniosPeriodoFijoNoPara hipotecas mixtas: duración del período inicial a tipo fijo (años). Ej: 10 para un mixto 10+variable.
capitalAmortizarYesCapital que se quiere amortizar anticipadamente (€). Puede ser amortización parcial o total.
comisionPactadaPctNoComisión pactada en escritura (%). Si es menor que el máximo legal, se aplica la pactada. No puede superar el máximo legal.
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses the legal basis and percentage rates but does not explicitly state that the tool is read-only (likely safe), nor does it mention side effects or authentication needs. The disclosure of regulatory details adds some transparency.

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

Conciseness4/5

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

The description is a single paragraph that efficiently conveys purpose and legal context. It is front-loaded with the main function. While concise, it could be better structured (e.g., bullet points for different mortgage types) but is not overly verbose.

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 calculator tool, the description covers the main regulatory scenarios: variable, fixed, mixed, and pre-LCCI, and mentions a specific law. However, it does not describe the output format or value, which would be helpful for an agent to understand what the tool returns. Overall, it is fairly complete.

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?

Input schema has 100% coverage with descriptions for all 6 parameters. The description adds value by explaining the percentage structure (0.25% vs 0.15% etc.) and the handling of mixed and pre-LCCI mortgages, which goes beyond the schema descriptions.

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 clearly states the tool calculates prepayment penalties for mortgages under Spanish law LCCI, specifying the resource (commission) and verb (calculates). It also distinguishes from siblings by mentioning chainability with calcular_hipoteca and calcular_amortizacion_anticipada.

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?

The description provides explicit context for when to use: for amortization anticipada under LCCI or pre-LCCI regulations. It mentions chainable tools, implying related usage, but does not explicitly state when not to use or compare to other similar tools.

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

calcular_pension_alimenticia_irpfAInspect

Calcula el tratamiento fiscal en IRPF de las pensiones de alimentos y compensatorias tras divorcio o separación (LIRPF arts. 7.k, 55, 64). Para el pagador: anualidades por alimentos a hijos aplican la regla especial del art. 64 (tributan por separado del resto de la base, ahorrando tipo marginal); pensión compensatoria al cónyuge reduce la base imponible general. Para el receptor: alimentos a hijos EXENTOS; compensatoria tributa como rendimiento del trabajo.

ParametersJSON Schema
NameRequiredDescriptionDefault
rolYesRol del contribuyente
tipoPensionYesTipo de pensión
importeAnualYesImporte anual de la pensión (EUR)
baseLiquidableGeneralPagadorNoBase liquidable general del pagador (sin descontar la pensión) — necesario para calcular el ahorro fiscal del art. 64 en alimentos a hijos
Behavior4/5

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

With no annotations, the description bears full responsibility. It discloses the tax implications for each role and pension type, including exemptions and reductions. It does not detail the exact output format (e.g., numeric tax savings), but it sufficiently describes the behavior.

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?

Description is concise yet information-packed, with legal references and clear separation of roles. It could be structured with bullet points for readability, but the current format is efficient and front-loaded.

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?

No output schema exists, so description must cover return values. It implies the output is a tax savings/impact but does not specify format. However, given the complexity and detailed tax rules, it is largely complete for a tool of this niche.

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%, but the description adds significant meaning beyond field labels. For example, it explains why baseLiquidableGeneralPagador is needed (to calculate art. 64 savings) and how tipoPension affects tax treatment. This enriches parameter understanding.

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?

Description clearly states it calculates the tax treatment of alimony and compensatory pensions under IRPF, referencing specific legal articles. This distinguishes it from sibling tools like calcular_irpf (general IRPF) or calcular_pension_complementaria.

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 detailed rules for both pagador and receptor, including special treatment for child alimony and compensatory pension. However, it does not explicitly state when not to use this tool (e.g., for calculating the pension amount itself) or name alternative tools.

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

calcular_pension_complementariaAInspect

Calcula cuánto capital privado necesitas acumular y cuánto debes ahorrar mensualmente para complementar la pensión pública hasta el nivel de renta deseado en jubilación. Usa la Regla del 4% o el método de anualidad para estimar el capital necesario. Encadenable con calcular_pension_publica, calcular_brecha_jubilacion, calcular_interes_compuesto, calcular_fire. Ideal para: "Si mi pensión será de 1.200€ y quiero 2.000€, ¿cuánto debo ahorrar?"

ParametersJSON Schema
NameRequiredDescriptionDefault
metodoNoMétodo de estimación del capital: "regla4" (capital = gasto_anual/4%) o "anualidad" (valor presente de renta). Por defecto "anualidad".
edadActualYesEdad actual en años.
esperanzaVidaNoEsperanza de vida estimada en años. Por defecto 85.
edadJubilacionNoEdad de jubilación objetivo en años. Por defecto 67.
capitalYaAcumuladoNoCapital privado ya acumulado para jubilación (planes de pensiones, fondos, etc.) en euros. Por defecto 0.
rentabilidadRetiroNoRentabilidad anual esperada durante la fase de retiro en porcentaje. Por defecto 3%.
rentaDeseadaMensualYesRenta mensual neta deseada en la jubilación en euros.
pensionPublicaEstimadaYesPensión pública estimada (neta mensual) en euros. Usa calcular_pension_publica si no la conoces.
rentabilidadAcumulacionNoRentabilidad anual esperada durante la fase de ahorro en porcentaje. Por defecto 5%.
Behavior3/5

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

With no annotations, the description partially carries the transparency burden. It discloses the two methods (regla4, anualidad) and mentions chaining, but does not describe output format, error conditions, or limits. This is adequate but not fully transparent.

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?

The description is a single, well-structured paragraph that efficiently states purpose, method, chaining, and an example. No wasted words; every sentence adds value.

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

Completeness3/5

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

Given no output schema and moderate complexity (9 parameters), the description explains inputs and purpose but lacks details on what the output will look like. It is adequate for understanding usage but not fully complete.

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% with basic descriptions for each parameter. The description adds little beyond the schema, only noting the two methods and chaining. The baseline of 3 is appropriate as the schema already explains parameters sufficiently.

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 clearly states the tool calculates required private capital and monthly savings to complement public pension to a desired income level, using specific methods (4% rule or annuity). It differentiates from sibling tools like calcular_pension_publica and calcular_brecha_jubilacion by mentioning they can be chained, establishing a distinct role.

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?

The description explicitly says the tool is chainable with related tools (calcular_pension_publica, etc.) and provides an example question. This gives clear context on when to use it, though it does not explicitly state when not to use it or list direct alternatives beyond those chained.

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

calcular_pension_desempleoAInspect

Calcula la cuantía y duración de la prestación contributiva por desempleo (paro) en España. Determina los días de prestación según días cotizados (mín. 360 días en los últimos 6 años), la cuantía mensual (70% base reguladora los primeros 6 meses, 50% el resto) y aplica los topes máximos y mínimos del IPREM 2025 según número de hijos. ⚠️ La base reguladora es el promedio de las bases de cotización de los 180 días anteriores al desempleo — si no se sabe exactamente, usar el salario bruto mensual como aproximación.

ParametersJSON Schema
NameRequiredDescriptionDefault
numHijosNoNúmero de hijos a cargo (afecta a los topes mínimos y máximos). Por defecto 0.
diasCotizadosYesDías cotizados a desempleo en los últimos 6 años. Mínimo 360 días para acceder a la prestación.
baseReguladoraMensualYesBase reguladora mensual en euros = promedio de las bases de cotización de los últimos 180 días. Aproximar con el salario bruto mensual si no se conoce el dato exacto.
Behavior5/5

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

Since no annotations are provided, the description carries full burden. It thoroughly explains the computation: duration from days contributed, monthly amount (70% first 6 months, then 50%), and IPREM topes based on children. It also warns about approximating the base reguladora. This is highly transparent.

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?

The description is concise—three sentences with no redundancy. It front-loads the purpose, then provides essential details, ending with a practical warning. Every sentence earns its place.

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 calculator with no output schema, the description conveys the main outputs (cuantía and duración) but does not specify the exact return structure or edge cases (e.g., if days < 360). However, it is adequate for an AI to infer the expected result.

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% (baseline 3). The description adds value by explaining how to approximate baseReguladoraMensual if unknown, and clarifies the role of numHijos in topes. The formula context is richer than the schema descriptions.

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 clearly states it calculates the amount and duration of Spanish unemployment benefit. It provides the verb 'calcula' and specific resource 'prestación contributiva por desempleo'. The formula details (days, percentages, IPREM topes) leave no ambiguity.

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 implies usage for unemployment benefit calculation by specifying the minimum 360 days contributed condition, but it does not explicitly say when to use this tool vs. siblings like 'calcular_capitalizar_desempleo' or 'cese_actividad_autonomo'. No alternatives are mentioned.

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

calcular_pension_incapacidadAInspect

Calcula la cuantía de la pensión de incapacidad permanente (parcial, total, absoluta, gran invalidez) según la LGSS arts. 194-200. Devuelve base reguladora, porcentaje aplicado, recargos por edad y complemento de gran invalidez.

ParametersJSON Schema
NameRequiredDescriptionDefault
edadYesEdad del beneficiario (años). Relevante para recargo del 20% en IPT con ≥ 55 años.
tieneConyugeNo¿Tiene cónyuge a cargo? Afecta a la pensión mínima garantizada.
gradoIncapacidadYesGrado de incapacidad permanente declarado
origenContingenciaYesOrigen: comun (enfermedad común) o profesional (accidente trabajo/enfermedad profesional)
sumaBasesCotizacionYesSuma de las bases de cotización del período de referencia (€). Comunes: últimas 112 mensualidades (8 años). Profesionales: últimas 12 mensualidades.
ultimaBaseCotizacionNoÚltima base de cotización mensual (€). Necesaria para calcular el complemento de Gran Invalidez.
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It states it calculates and returns values, implying it is a read-only operation, but does not explicitly disclose idempotency or lack of side effects. It is adequate for a calculator tool but could be more explicit.

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?

The description is a single, well-structured sentence that front-loads the core purpose (calculate disability pension), includes the legal reference, and lists the output elements. Every part is informative and nothing is redundant.

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 the complexity of disability pension calculation (multiple grades, contingencies, surcharges), the description covers all key aspects. It mentions the law, grades, and output components. With no output schema, it adequately explains what the tool returns.

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?

All 6 parameters have descriptions in the schema (100% coverage), so the description adds minimal semantic value beyond what the schema provides. It does mention legal context and the 20% surcharge for age and complement for severe disability, which relates to parameters like 'edad' and 'ultimaBaseCotizacion', but this is supplementary.

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 clearly states the tool calculates permanent disability pension amounts, listing all grades (parcial, total, absoluta, gran invalidez) and referencing the legal framework (LGSS arts. 194-200). It also specifies what it returns (base reguladora, percentage, surcharges, complement). This distinguishes it from many sibling 'calcular_*' tools.

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 implies usage for disability pension calculation but does not explicitly state when to use it vs alternatives or provide exclusions. Given the many sibling calculators, explicit guidance would help, but the purpose is clear enough.

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

calcular_pension_publicaAInspect

Estima la pensión pública de jubilación en España (Seguridad Social 2026). Más exacto que el conocimiento general: aplica la fórmula oficial SS con tramos de porcentaje (Ley 21/2021), base reguladora real (300 bases / 350) y límites vigentes (mínima 888,70 €/mes, máxima 3.359,60 €/mes en 2026). Resultado ORIENTATIVO — la SS calcula sobre el historial completo de cotización. ⚠️ No reemplaza consulta al simulador oficial de la Seguridad Social.

ParametersJSON Schema
NameRequiredDescriptionDefault
edadActualNoEdad actual del trabajador en años (opcional, solo informativo para calcular años hasta jubilación)
anosCotizadosYesAños totales cotizados a la Seguridad Social (puede ser decimal, ej: 35.5 para 35 años y 6 meses)
baseCotizacionMensualYesBase de cotización media mensual estimada de los últimos 25 años en euros. Si no se conoce, usar el salario bruto mensual actual como aproximación.
Behavior4/5

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

With no annotations, the description provides substantive context: it applies the official formula, uses specific base calculation (300 bases/350), and discloses applicability (Spain, 2026), as well as limitations (orientative, not definitive). It lacks details on input validation or error handling but covers key behavioral aspects.

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?

The description is extremely concise: two sentences plus a warning symbol. It front-loads the purpose, then provides key details and limitations. Every sentence adds value without redundancy.

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

Completeness3/5

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

The description explains the tool's purpose, formula, and limitations well, but it does not describe the output format or structure since there is no output schema. For completeness, mention of what the returned value represents would improve utility.

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%, so the description does not need to add parameter details. The description does not enhance parameter semantics beyond the schema's existing field descriptions, which are clear. Hence a baseline score of 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?

The description clearly states the tool estimates the Spanish public retirement pension (Seguridad Social 2026), specifies it applies the official formula, and includes details about calculation bases and limits. This distinguishes it from siblings like 'calcular_jubilacion_anticipada' or 'calcular_brecha_jubilacion' by focusing on the standard public pension estimation.

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?

The description explicitly states the result is orientative and warns that it does not replace the official SS simulator, implying use for approximate estimates but not for official calculations. However, it does not compare directly with sibling pension tools or specify when to use this over others.

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

calcular_pension_viudedadBInspect

Calcula de forma orientativa la pensión de viudedad en España según la LGSS (arts. 219-231). Determina la base reguladora, el porcentaje aplicable (52%, 60% o 70% según cargas e ingresos), la pensión mínima garantizada 2026 y la pensión final con tope máximo de la SS. ⚠️ Estimación orientativa — la SS calcula la pensión real a partir del historial completo de cotización.

ParametersJSON Schema
NameRequiredDescriptionDefault
tieneCargasNoSi el beneficiario tiene cargas familiares (hijos menores de 26 o con discapacidad a cargo). Puede elevar el porcentaje al 70%.
pensionCausanteNoPensión de jubilación mensual del causante en euros. Obligatoria si situacion es "jubilado".
edadBeneficiarioYesEdad del beneficiario (viudo/a) en años. Afecta al porcentaje y a la pensión mínima garantizada.
situacionCausanteYes"activo" = en alta en SS al fallecer. "jubilado" = percibía pensión de jubilación. "no-alta" = no estaba de alta (requiere cotización mínima).
baseCotizacionMediaNoBase de cotización media mensual del causante en los últimos 2 años (€). Obligatoria si situacion es "activo" o "no-alta".
ingresosMensualesPropiosNoIngresos mensuales propios del beneficiario por trabajo o pensión (€). Determina acceso a los porcentajes del 60% y 70%.
Behavior3/5

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

With no annotations provided, the description carries the burden of disclosure. It notes the estimate is orientative and warns about the final SS calculation. However, it does not disclose potential side effects, authentication needs, or error handling, leaving gaps in transparency.

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

Conciseness4/5

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

The description is concise with three sentences, front-loading the purpose and key details. It avoids unnecessary words, though the emoji and warning could be streamlined. Still, it is efficient and readable.

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?

Given the tool's complexity (6 params, no output schema), the description covers the main calculation components and provides a useful warning. It lacks details on return format or exact outputs, but the orientative nature makes this acceptable for an estimation tool.

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 schema already describes parameters well. The description adds extra value by explaining how parameters like cargas and edad affect the percentage, which goes beyond the schema's basic descriptions. However, it doesn't detail all parameter interactions.

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 clearly states it calculates the widow's pension in Spain according to LGSS, specifying components like base reguladora and percentage. However, it does not explicitly differentiate from sibling pension calculators (e.g., pension_complementaria, pension_desempleo), though the name is specific.

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 mentions it's an orientative estimate and that the real calculation is done by SS, but it does not provide explicit guidance on when to use this tool versus alternatives, nor does it list exclusions or prerequisites beyond the required parameters.

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

calcular_periodo_carenciaAInspect

Calcula el impacto económico de un período de carencia en una hipoteca o préstamo. Tipos: carencia total (solo pago de intereses, sin amortizar capital) o parcial (cuota reducida). Devuelve: cuota durante la carencia, nueva cuota tras reincorporarse, sobrecoste total y comparativa con/sin carencia. Encadenable con calcular_hipoteca, calcular_prestamo. Ideal para: "¿Cuánto me cuesta pedir 6 meses de carencia en la hipoteca?"

ParametersJSON Schema
NameRequiredDescriptionDefault
tasaAnualYesTipo de interés anual en porcentaje.
tipoCarenciaNo"total" = solo intereses durante la carencia. "parcial" = cuota reducida acordada con el banco. Por defecto "total".
mesesCarenciaYesDuración del período de carencia en meses.
capitalPendienteYesCapital pendiente del préstamo o hipoteca en euros.
plazoRestanteMesesYesPlazo restante del préstamo en meses.
cuotaCarenciaParcialNoCuota mensual acordada durante la carencia parcial en euros. Solo para tipo "parcial".
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It describes what the tool returns (cuota during carencia, new cuota after, total extra cost, comparison) and the two types. It does not address potential limitations, assumptions, or safety concerns (e.g., read-only nature), but the description is not contradictory.

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?

The description is concise with three sentences: purpose, return values, and usage example. It is front-loaded and contains no redundant 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?

The tool has six parameters and no output schema, but the description lists the four key computed values. It also mentions chaining with siblings, which adds context. The description is sufficiently complete for a calculation tool with good schema coverage.

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?

The input schema has 100% description coverage, so the schema already explains all parameters. The description adds value by contextualizing the types (total/parcial) and relating them to the parameters indirectly, but it does not add new detail beyond what the schema provides. 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?

The description clearly states the tool calculates the economic impact of a grace period on a mortgage or loan, distinguishes between two types (total and partial), and lists the outputs. It also mentions it can be chained with related tools like calcular_hipoteca, which differentiates it from siblings.

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?

The description provides context by mentioning ideal use cases ('¿Cuánto me cuesta pedir 6 meses de carencia?') and chaining possibilities. However, it does not explicitly state when not to use this tool or suggest alternatives beyond the siblings mentioned.

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

calcular_plan_pension_empresaAInspect

Calcula el beneficio fiscal de los planes de pensiones de empleo (PPE) para empresa y trabajador. Límites 2025: aportación empresarial hasta 8.500 €/año (deducible en IS y exenta de SS), aportación individual hasta 1.500 €/año (reduce base IRPF); total conjunto 10.000 €. Para autónomos con PPE simplificado (Ley 12/2022): hasta 5.750 €/año adicionales. Calcula el coste neto real para la empresa tras IS y ahorro de cotizaciones SS. Normativa: LIRPF arts. 51-52.

ParametersJSON Schema
NameRequiredDescriptionDefault
colectivoYesTipo de partícipe: trabajador_cuenta_ajena=empleado por cuenta ajena; autonomo_con_ppe_simplificado=autónomo con PPE simplificado Ley 12/2022 (límite adicional 4.250€)
tipoISEmpresaNoTipo IS de la empresa (%) para cuantificar el ahorro fiscal en IS. Default: 25%
salarioBrutoAnualYesSalario/rendimiento bruto anual del empleado (€) — base para el límite del 30%
aportacionEmpresaAnualYesAportación anual de la empresa al PPE (€) — máximo legal: 8.500 €/año
aportacionEmpleadoAnualNoAportación anual propia del empleado (€) — máximo legal: 1.500 €/año
tipoMarginalIRPFEmpleadoYesTipo marginal IRPF del empleado (%) — para cuantificar el ahorro fiscal en IRPF
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It explains the calculation scope and legal basis but does not describe output format or return values. The read-only nature is implied but not explicitly stated.

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

Conciseness4/5

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

The description is concise, front-loaded with the main action, and includes key limits and legal references. It could be slightly more structured (e.g., bullet points) but remains efficient and informative.

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

Completeness3/5

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

The tool has moderate complexity (6 parameters, no output schema). The description covers purpose and limits but does not specify the output format or structure. The agent lacks information on what exactly is returned (e.g., multiple values or single cost).

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% with detailed parameter descriptions. The description adds value beyond the schema by explaining the total joint limit (10,000€) and the additional deduction for autónomos (5,750€), which are not captured in individual parameter descriptions.

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 clearly states the tool calculates the fiscal benefit of employment pension plans (PPE) for both company and worker, with specific limits and legal references. It distinguishes from sibling 'calcular_plan_pensiones' by specifying PPE and mentioning autónomos with simplified PPE.

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 implies usage for employment pension plan calculations but does not explicitly state when to use this tool versus alternatives like 'calcular_plan_pensiones' for personal plans. No 'when not to use' guidance is provided.

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

calcular_plan_pensionesAInspect

Calcula el ahorro fiscal anual por aportaciones a plan de pensiones privado y la proyección del capital acumulado hasta la jubilación. Aplica los límites 2025: máximo 1.500€ individual + 8.500€ empresarial deducibles (art. 51 LIRPF). Incluye advertencia sobre la tributación del rescate como rendimiento del trabajo. Encadenable con calcular_pension_complementaria, calcular_irpf, calcular_pension_publica. Ideal para: "Si aporto 1.000€/año al plan de pensiones, ¿cuánto me ahorro en la declaración?"

ParametersJSON Schema
NameRequiredDescriptionDefault
edadActualYesEdad actual del partícipe.
capitalActualNoCapital ya acumulado en el plan en euros. Por defecto 0.
edadJubilacionNoEdad prevista de jubilación. Por defecto 67.
rendimientosNetosYesRendimientos netos del trabajo y actividades económicas en euros/año (base para el tipo marginal y límite porcentual).
rentabilidadAnualNoRentabilidad anual esperada del plan en porcentaje. Por defecto 4%.
aportacionIndividualYesAportación individual anual al plan de pensiones en euros (límite deducible 1.500€).
aportacionEmpresarialNoAportación de la empresa al plan de pensiones del trabajador en euros/año (límite adicional 8.500€). Por defecto 0.
Behavior4/5

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

Discloses 2025 legal limits (1.500€ individual + 8.500€ empresarial) and includes warning about taxation of the rescue as income. No annotations exist, so description carries the burden and does well.

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 paragraph that is information-dense without being verbose. Front-loads purpose and adds details. Could be slightly more structured, but effective.

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

Completeness3/5

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

Given 7 parameters, no output schema, and no annotations, the description explains the main outputs (tax savings, capital projection) and includes a warning, but lacks details on output format and usage edge cases.

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% with decent parameter descriptions. The description adds legal context but does not significantly enhance parameter understanding beyond the schema. Baseline of 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?

The description explicitly states the tool calculates annual tax savings and capital projection for private pension plans, includes the use case question, and lists encadenable tools (calcular_pension_complementaria, calcular_irpf, calcular_pension_publica), distinguishing it from siblings.

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 an ideal use case ('Si aporto 1.000€/año...') and lists encadenable tools, but does not explicitly state when not to use it or compare to alternatives like calcular_reduccion_plan_pensiones_irpf.

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

calcular_plus_distanciaAInspect

Calcula los importes exentos de IRPF por gastos de locomoción (km en vehículo propio: 0,26 €/km desde 2023) y dietas de manutención y alojamiento, según el RIRPF art. 9. Límites 2025: km propio 0,26 €/km; dieta España sin pernoctar 26,67 €/día, pernoctando 53,34 €/día; extranjero sin pernoctar 48,08 €/día, pernoctando 91,35 €/día. Ticket restaurante: 11 €/día. Calcula el exceso sobre los límites que tributa como rendimiento del trabajo. Encadenable con: calcular_irpf, calcular_sueldo_neto, calcular_coste_empleado.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoVehiculoNoTipo de vehículo propio. Por defecto coche_propio (0,26 €/km).
peajesParkingNoPeajes y parking con justificante (€)
kmVehiculoPropioNoKilómetros recorridos con vehículo propio en el período (€)
dietasAbonadasTotalNoImporte total abonado por la empresa en dietas (€) — para calcular el exceso tributable
alojamientoConFacturaNoGasto de alojamiento con factura (€) — exento 100%
alojamientoSinFacturaNoGasto de alojamiento sin factura (€) — tributa íntegramente
diasEspaniaPernoctandoNoDías de desplazamiento en España pernoctando (dieta 53,34 €/día)
diasEspaniaSinPernoctarNoDías de desplazamiento en España sin pernoctar (dieta 26,67 €/día)
transportePublicoImporteNoImporte de transporte público (€)
diasExtranjerSinPernoctarNoDías en extranjero sin pernoctar (dieta 48,08 €/día)
diasExtranjeroPernoctandoNoDías en extranjero pernoctando (dieta 91,35 €/día)
transportePublicoJustificadoNo¿Tiene justificante de transporte público? Por defecto false.
Behavior4/5

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

No hay anotaciones, por lo que la descripción asume toda la carga. Detalla el cálculo de exenciones y excesos, con límites concretos. Revela su comportamiento al devolver importes exentos y tributable, y menciona la posibilidad de encadenarse. No cubre formatos de salida, pero es suficiente.

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?

La descripción consta de tres oraciones: la primera define el propósito, la segunda enumera límites, la tercera menciona el exceso y encadenamiento. Es estructurada y va al grano, aunque podría ser un poco más breve.

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?

Con 12 parámetros y sin esquema de salida ni anotaciones, la descripción es bastante completa. Cubre la normativa, límites, y el resultado (exentos y exceso). No especifica el formato exacto de salida, pero es suficiente para entender el propósito.

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?

La cobertura del esquema es del 100%, con descripciones claras por parámetro. La descripción general añade contexto sobre tarifas y límites, pero no aporta significado adicional para cada parámetro más allá del esquema. Puntación base 3.

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?

La descripción indica claramente que calcula importes exentos de IRPF por gastos de locomoción y dietas, además del exceso tributable. Incluye referencias a la normativa (RIRPF art. 9) y a herramientas encadenables, diferenciándose de los numerosos hermanos que son otros cálculos fiscales.

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?

La descripción especifica los límites y tarifas para 2025, y sugiere cuándo usarla (para dietas y kilometraje). Menciona encadenamiento con calcular_irpf, calcular_sueldo_neto, y calcular_coste_empleado, indicando un flujo de uso. No explicita cuándo no usarla, pero el contexto es claro.

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

calcular_plus_nocturnidadAInspect

Calcula el plus de nocturnidad (horas trabajadas entre 22h y 6h), el importe mensual según el porcentaje del convenio, y el impacto en la cotización a la Seguridad Social. Determina si el trabajador es "nocturno" según el ET art. 36.

ParametersJSON Schema
NameRequiredDescriptionDefault
horasNocturnasMesNoHoras nocturnas trabajadas al mes (entre 22h y 6h). Si se indica, tiene prioridad.
pctPlusNocturnidadYesPorcentaje del plus de nocturnidad sobre el salario base, según convenio colectivo (%). Rango habitual: 25-35%.
salarioBaseMensualYesSalario base mensual bruto (€), sin el plus de nocturnidad
horasMensualesJornadaYesHoras ordinarias de jornada al mes (ej: 160 para jornada completa de 40h/semana)
salariosAbsorbeNocturnidadNo¿El salario ya incorpora la nocturnidad? Si es true, no se calcula plus adicional.
Behavior4/5

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

With no annotations, the description must disclose behaviors. It explains it calculates premium, monthly amount, Social Security impact, and nocturno status. No side effects mentioned, but as a calculator it is sufficiently transparent.

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?

The description is two sentences, front-loaded with key actions and outputs, without any redundant words.

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?

Given no output schema, the description covers main output areas (premium, monthly amount, Social Security impact, nocturno classification) but lacks specifics on return format. Still fairly complete for a calculation tool.

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% with detailed parameter descriptions. The tool description adds marginal value beyond schema, such as clarifying the time range (22h-6h) which is already in horasNocturnasMes description. Baseline score of 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?

The description clearly states 'Calcula el plus de nocturnidad' with specific verb and resource, and includes determination of 'nocturno' status per ET art. 36, distinguishing it from sibling like 'calcular_nocturnidad_turno_rotativo'.

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 implies usage for night shift premium calculations under Spanish labor law, but lacks explicit when-to-use or when-not-to-use statements, nor does it reference alternatives like 'calcular_nocturnidad_turno_rotativo'.

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

calcular_plusvalias_irpfAInspect

Calcula el impuesto IRPF sobre la ganancia patrimonial por venta de activos (acciones, fondos de inversión, inmuebles, etc.). Determina: ganancia neta (precio transmisión - precio adquisición con gastos), si es a largo plazo (>12 meses), tributación en la base del ahorro (tramos 19-30%), tipo efectivo y ganancia neta después de impuestos. Permite compensar saldos negativos de ejercicios anteriores.

ParametersJSON Schema
NameRequiredDescriptionDefault
fechaVentaYesFecha de venta en formato YYYY-MM-DD (ej: "2025-06-01")
tipoActivoNoTipo de activo vendido. Solo informativo.
fechaCompraYesFecha de compra en formato YYYY-MM-DD (ej: "2020-03-15")
gastosVentaNoGastos de venta: comisiones de broker, notaría (inmuebles), etc. (€). Por defecto 0.
precioVentaYesPrecio de venta del activo en euros
gastosCompraNoGastos de compra: comisiones de broker, notaría (inmuebles), etc. (€). Por defecto 0.
precioCompraYesPrecio de compra del activo en euros
saldoCompensacionNoPérdidas patrimoniales de ejercicios anteriores pendientes de compensar (€). Reducen la base imponible. Por defecto 0.
Behavior4/5

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

Without annotations, the description carries the full burden. It discloses key calculations (net gain, long-term, tax brackets, compensation of prior losses) but does not mention side effects, idempotency, or rate limits. It is transparent about what it does, though missing some behavioral traits.

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?

The description is a single, dense paragraph with no wasted words. It efficiently conveys purpose, outputs, and key details. Front-loaded with the main action, then lists determined values. Excellent conciseness.

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?

Given 8 parameters and no output schema, the description adequately explains what the tool returns (gain, long-term, tax, etc.) and allows for compensation. It does not specify if it handles batch transactions or multiple assets, but overall it is sufficiently complete for a single-sale calculation.

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 baseline is 3. The description adds meaningful context beyond the schema, such as explaining that 'saldoCompensacion' compensates prior-year losses and mentioning the 19-30% tax brackets and long-term condition. This enriches parameter understanding.

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?

Description clearly states it calculates IRPF on capital gains from asset sales, listing specific calculations (net gain, long-term, tax brackets, effective rate, net after tax). It distinguishes itself from siblings like 'calcular_irpf' (general IRPF) and 'calcular_ganancia_criptomonedas' by focusing on capital gains tax.

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 implies use for capital gains tax on asset sales but does not explicitly state when to use this tool versus alternatives (e.g., 'calcular_irpf' for overall income tax). No when-not or alternative guidance is provided.

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

calcular_porcentajeAInspect

Realiza cálculos con porcentajes. Cinco modos disponibles: (1) percentOf: ¿cuánto es el X% de Y?, (2) whatPercent: ¿qué % es X de Y?, (3) increase: aumentar X en Y%, (4) decrease: disminuir X en Y%, (5) variation: variación porcentual de X a Y.

ParametersJSON Schema
NameRequiredDescriptionDefault
modoYesTipo de cálculo: percentOf = ¿cuánto es el X% de Y?, whatPercent = ¿qué % es X de Y?, increase = aumentar X en Y%, decrease = disminuir X en Y%, variation = variación porcentual de X a Y
valor1YesPrimer valor. Según el modo: percentOf → porcentaje (ej: 15 para 15%), whatPercent → cantidad parcial, increase/decrease → valor inicial, variation → valor inicial
valor2YesSegundo valor. Según el modo: percentOf → cantidad base, whatPercent → cantidad total, increase/decrease → porcentaje a aplicar, variation → valor final
Behavior3/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It describes the calculation modes but does not specify output format, rounding behavior, or error handling. While the tool is simple, adding details about return value structure would improve transparency.

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?

The description is extremely concise, consisting of two clear sentences. It front-loads the purpose and then lists the five modes with examples, with no unnecessary words. Every sentence earns its place.

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?

Given the tool's simplicity (3 parameters, no output schema), the description covers the essential aspects: purpose and parameter usage modes. It lacks explicit mention of return format or edge cases, but for a basic calculator, these are minor omissions. Overall, it is sufficiently complete for its complexity.

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?

The input schema has 100% coverage with detailed descriptions for each parameter. The description adds value by summarizing parameter roles per mode, but it does not provide additional semantics beyond what the schema already offers. Baseline 3 is appropriate as the schema does the heavy lifting.

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 clearly states it performs percentage calculations and enumerates five specific modes (percentOf, whatPercent, increase, decrease, variation). This distinguishes it from sibling tools which focus on specific financial or legal calculations, providing a clear resource for general percentage operations.

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?

The description explains the available modes and how to use them with examples, offering clear context for when each mode is appropriate. However, it does not explicitly state when to prefer this tool over specialized siblings (e.g., for specific financial calculations), though the general-purpose nature is implied.

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

calcular_porcentaje_panaderoAInspect

Calcula el porcentaje del panadero (baker's percentage) para una receta. La harina siempre es 100%; cada ingrediente se expresa como % de su peso. Detecta el agua automáticamente para calcular la hidratación.

ParametersJSON Schema
NameRequiredDescriptionDefault
harina_gYesPeso de la harina en gramos (siempre 100% en el sistema del panadero).
ingredientesYesLista de ingredientes además de la harina.
peso_porcion_gNoPeso de cada pieza/porción en gramos. Opcional: calcula el número de porciones.
Behavior3/5

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

With no annotations, the description carries the burden. It mentions automatic water detection, which is useful, but lacks details on output format, error handling (e.g., no water found), or any permissions needed. It is minimally transparent.

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 wasted words. The purpose is front-loaded and the description is efficient.

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

Completeness3/5

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

No output schema is provided, and the description does not specify what the result looks like (e.g., a list of percentages). The optional parameter 'peso_porcion_g' is not mentioned, leaving its purpose unclear. For a calculator tool, more completeness is needed.

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%, but the description adds semantic value by explaining that the tool automatically detects water among ingredients to calculate hydration. This goes beyond the schema's field descriptions.

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 clearly states that the tool calculates baker's percentage for a recipe, specifying that flour is always 100% and ingredients are expressed as percentages. It distinguishes itself from siblings like 'calcular_hidratacion_pan' by focusing on the full percentage calculation.

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 implies usage for recipe calculations but does not explicitly contrast with alternatives such as 'calcular_hidratacion_pan' or 'escalar_receta'. No when-not-to-use guidance is provided.

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

calcular_potencia_ciclismoAInspect

Analiza el rendimiento en ciclismo: ratio W/kg con nivel, 6 zonas de entrenamiento basadas en FTP y opcionalmente VAM (velocidad ascensional media) para subidas cronometradas.

ParametersJSON Schema
NameRequiredDescriptionDefault
ftp_wYesFTP (Functional Threshold Power) en vatios: potencia máxima sostenible durante 1 hora
peso_kgYesPeso del ciclista en kilogramos
desnivel_mNoDesnivel positivo de una subida en metros (para calcular VAM). Opcional
tiempo_minNoTiempo empleado en subir ese desnivel en minutos (para calcular VAM). Opcional
Behavior4/5

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

No annotations provided, but the description correctly portrays a pure calculation tool. It would benefit from explicitly stating it is read-only and has no side effects.

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?

Single sentence efficiently packs key features without excess. Front-loaded with 'analiza el rendimiento en ciclismo' immediately establishes purpose.

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?

Given no output schema, the description adequately explains main outputs (W/kg, zones, VAM). Missing details on zone calculation are acceptable for a calculator tool but could be more specific.

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 covers all parameters with descriptions. The description adds value by naming outputs (W/kg, zones, VAM) and noting VAM's optionality, but could better link parameters to outputs.

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?

Description clearly states it analyzes cycling performance, providing W/kg ratio, training zones, and VAM. This distinctly sets it apart from sibling tools like BMI or heart rate zone calculators.

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?

While the description implies use by cyclists with FTP and weight data, it lacks explicit instructions on when to use or alternatives. However, the purpose is clear enough to infer usage context.

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

calcular_precio_ventaAInspect

Calcula el precio de venta óptimo, margen comercial y markup para productos o servicios. Tres modos: "calcular_precio" (dado coste + margen objetivo → precio de venta), "calcular_margen" (dado precio + coste → margen y markup), "calcular_coste" (dado precio + margen → coste máximo admisible). ⚠️ Diferencia clave: margen = beneficio/precio×100; markup = beneficio/coste×100. Incluye PVP con IVA, precio psicológico y punto de equilibrio si se dan costes fijos. Encadenable con calcular_iva, calcular_break_even, calcular_roi_marketing.

ParametersJSON Schema
NameRequiredDescriptionDefault
modoYes"calcular_precio": dado coste unitario + margen objetivo → precio de venta. "calcular_margen": dado precio de venta + coste unitario → margen y markup. "calcular_coste": dado precio de venta + margen objetivo → coste máximo admisible.
tipoIVANoTipo de IVA a añadir al precio (%). Por defecto 21. Usar 10 para reducido, 4 para superreducido, 0 para exento.
unidadesNoNúmero de unidades vendidas (para calcular ingresos y beneficio totales). Por defecto 1.
costeUnitarioNoCoste unitario del producto/servicio (€). Requerido en modos calcular_precio y calcular_margen.
margenObjetivoPctNoMargen objetivo sobre el precio de venta (%). Ej: 40 significa que el beneficio es el 40% del precio. Requerido en modos calcular_precio y calcular_coste.
precioVentaSinIVANoPrecio de venta sin IVA (€). Requerido en modos calcular_margen y calcular_coste.
costosFijosMensualesNoCostes fijos mensuales (€). Si se indica, calcula el punto de equilibrio: unidades mínimas para cubrir costes fijos.
Behavior4/5

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

With no annotations provided, the description carries full burden for behavioral transparency. It details the three calculation modes, includes a warning about margin vs markup definitions, and notes additional outputs (PVP con IVA, precio psicológico, punto de equilibrio) under certain conditions. It also mentions chainability with other tools. No destructive side effects are expected, and the description covers key behavioral aspects adequately.

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

Conciseness4/5

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

The description is concise, consisting of two sentences followed by a warning and chaining note. It front-loads the purpose and modes, then adds critical nuance. Every sentence adds value: modes, input explanation, key difference, and chainability. It avoids redundancy with the schema. Minor improvement could be bullet points for modes, but still 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?

Given the tool's complexity (three modes, optional parameters, multiple outputs) and lack of output schema, the description provides sufficient context: it lists output items (precio de venta, margen, markup, PVP con IVA, precio psicológico, punto de equilibrio) and conditions for each. It mentions chaining with related tools. However, it does not specify the return format or data structure, but for a calculation tool, this is acceptable.

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%, but the description adds valuable context beyond the schema. For 'tipoIVA', it explains typical values (21 default, 10 reducido, 4 superreducido, 0 exento). For 'margenObjetivoPct', it gives a concrete example. It clarifies which parameters are required per mode. This enriches the agent's understanding of how to use parameters correctly.

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 clearly states the tool calculates optimal selling price, margin, and markup for products/services. It enumerates three distinct modes with inputs and outputs, making the purpose specific and unambiguous. The verb 'calcular' plus resource 'precio de venta, margen, markup' provides a clear action-object pair, distinguishing it from siblings like calcular_iva or calcular_break_even which focus on other financial metrics.

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?

The description explicitly explains three modes ('calcular_precio', 'calcular_margen', 'calcular_coste') and their required inputs, guiding the user on when to use each. It highlights the key difference between margin and markup to prevent misuse. However, it does not explicitly state when not to use the tool or name alternative tools for similar tasks, only mentioning chainable tools.

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

calcular_prediccion_runningAInspect

Predice el tiempo de carrera en cualquier distancia usando la fórmula Riegel (T2 = T1 × (D2/D1)^1.06). Devuelve el tiempo estimado, pace, velocidad y predicciones estándar para 5K, 10K, media maratón y maratón.

ParametersJSON Schema
NameRequiredDescriptionDefault
tiempo_base_sYesTiempo real en esa distancia en segundos (ej. 1500 para 25 minutos)
distancia_base_kmYesDistancia de referencia conocida en kilómetros (ej. 5 para un 5K, 10 para un 10K)
distancia_objetivo_kmYesDistancia para la que se quiere predecir el tiempo en kilómetros (ej. 42.195 para maratón)
Behavior4/5

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

With no annotations, the description carries the burden. It discloses the formula and output types but does not mention edge cases or unit assumptions. The description provides sufficient behavioral context for a calculation tool.

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 efficient sentences in Spanish, front-loading purpose and formula. Every word adds value, no redundancy.

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?

Covers inputs, formula, and outputs. Lacks explicit units for returned values (e.g., time in seconds, pace in min/km) and output format details, but is adequate given the tool's simplicity and lack of 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?

Schema coverage is 100% with descriptions, but the description adds value by linking parameters to the formula (T1, D1, D2) and detailing outputs. This enhances understanding beyond the schema 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 clearly states the tool predicts running time for any distance using the Riegel formula, listing specific outputs (estimated time, pace, speed, standard distances). It distinguishes from sibling 'calcular_pace_running' by focusing on prediction rather than pace calculation.

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 implies usage (for race time prediction) but does not explicitly state when to use it versus alternatives like 'calcular_pace_running'. No when-not-to-use guidance is provided.

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

calcular_prestacion_cese_actividadAInspect

Calcula la prestación por cese de actividad de autónomos (equivalente al paro) — LGSS arts. 327-346. Verifica el periodo mínimo de cotización (12 meses), calcula la base reguladora (promedio 12 meses), aplica el 70%, y contrasta con mínimos (80-107% IPREM) y máximos (175-200% IPREM según hijos). Determina la duración según tabla legal (2 a 24 meses) y el importe total estimado.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoCeseYesCausa legal de cese de actividad
edad60oMasNo¿El autónomo tiene 60 o más años en el momento del cese?
hijosACargoYesNúmero de hijos menores de 26 años a cargo (0, 1, 2 o más)
mesesCotizadosYesMeses cotizados por cese de actividad en RETA (cotización específica para la contingencia)
sumaBases12MesesYesSuma de las bases de cotización por cese de los últimos 12 meses (EUR)
Behavior3/5

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

No annotations provided, so description must carry full burden. It discloses that the tool performs verification, calculation, and comparison steps (e.g., applies 70%, contrasts with min/max). However, it does not mention side effects, authorization needs, rate limits, or whether it's read-only. The description covers main actions but leaves gaps.

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?

Description is a single paragraph of moderate length that packs essential information without filler. It could be slightly more structured (e.g., bullet points) but is concise and front-loaded with the main verb 'Calcula la prestación...'.

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

Completeness3/5

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

Description covers the calculation algorithm and key inputs, but lacks specification of the output format/return value. Given no output schema, the agent must infer what the tool returns. For 5 parameters and no nested objects, the description is mostly complete but missing output details.

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% with descriptions for each parameter. Description enhances understanding beyond schema by explaining how parameters are used together (e.g., 'mesesCotizados' checked against 12 months, 'sumaBases12Meses' used for base reguladora, 'hijosACargo' affects max limit). Adds meaningful context without repeating schema.

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?

Description clearly states it calculates the autonomous worker unemployment benefit (prestación por cese de actividad) and lists all key checks and calculations (minimum contribution, base reguladora, 70% rate, min/max limits, duration, total amount). It references specific legal articles and distinguishes itself from siblings like 'cese_actividad_autonomo' by providing detailed calculation steps.

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?

No explicit guidance on when to use this tool versus alternatives such as 'cese_actividad_autonomo' or other calculation tools. The description does not mention prerequisites, when not to use it, or any specific context.

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

calcular_prestacion_maternidad_paternidadAInspect

Calcula la prestación por nacimiento/adopción (maternidad/paternidad) para cualquiera de los dos progenitores. Desde enero 2021, ambos tienen 16 semanas iguales. Calcula la cuota diaria (100% de la base reguladora), la duración total (con extras por parto múltiple o discapacidad), la parte obligatoria (6 semanas) y la flexible. Verifica el período de carencia según la edad del progenitor. Normativa: LGSS arts. 177-182.

ParametersJSON Schema
NameRequiredDescriptionDefault
numerosHijosNoNúmero total de hijos en el parto (1=simple, 2+=múltiple con semanas adicionales). Default: 1
cumpleCarenciaNo¿Cumple el período de carencia requerido según su edad? Default: true (asume que sí cumple)
edadProgenitorYesTramo de edad del progenitor para determinar el período de carencia requerido
situacionLaboralNoSituación laboral del progenitor
hijoConDiscapacidadNo¿Alguno de los hijos tiene discapacidad reconocida ≥33%? Añade 2 semanas adicionales
baseCotizacionMensualYesBase de cotización mensual del mes anterior al inicio de la prestación (€)
diasMesBaseCotizacionNoNúmero de días del mes de la base de cotización (28-31). Default: 30
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses key behaviors: calculates daily quota as 100% of regulatory base, includes extras for multiple births or disability, and checks waiting periods based on age. However, it omits details on input validation or edge cases, which is acceptable for a calculation tool.

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

Conciseness4/5

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

The description is a single well-structured paragraph, front-loading the core purpose and then detailing outputs. It is concise with no unnecessary information, but could be slightly more structured (e.g., bullet points) for easier scanning.

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?

Given the complexity (7 parameters, no output schema), the description is fairly complete. It explains the calculation logic, legal basis, and key factors. It does not describe the return format or error conditions, but this is typical for calculator tools and the description suffices for correct usage.

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 description coverage is 100%, but the tool description adds significant value by explaining how parameters relate to the calculation (e.g., 'ambos tienen 16 semanas iguales', 'parto múltiple añade semanas'). It enhances understanding beyond the schema, earning a score above the baseline of 3.

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 clearly states the tool calculates maternity/paternity benefits, specifies the legal basis (LGSS arts. 177-182), and lists all computed outputs (daily quota, total duration, mandatory part, flexible part). It distinguishes itself from sibling tools by its specific focus on birth/adoption benefits, making its purpose unambiguous.

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 provides context on when to use the tool (calculating benefits for either parent) but does not explicitly compare it to sibling tools or state when not to use it. It implies usage for maternity/paternity calculations but lacks explicit alternatives or exclusions.

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

calcular_prestamoAInspect

Calcula un préstamo personal o financiero con tres sistemas de amortización: francés (cuota constante, el más habitual), alemán (amortización constante, cuotas decrecientes) y americano/bullet (solo intereses durante el plazo, capital al final). Incluye TAE aproximada, comparativa de costes y primeras cuotas desglosadas. ⚠️ Estimación orientativa — la TAE real depende de todos los gastos del contrato.

ParametersJSON Schema
NameRequiredDescriptionDefault
tinYesTipo de interés nominal anual (TIN) en %. Ej: 7 para 7%.
capitalYesImporte del préstamo en euros
sistemaYes"frances" = cuota fija (el más habitual). "aleman" = amortización constante, cuota inicial más alta pero va bajando, menos intereses totales. "americano" = solo intereses cada mes, capital devuelto de golpe al final (bullet).
plazoMesesYesPlazo del préstamo en meses. Ej: 36 para 3 años, 60 para 5 años.
comisionAperturaNoComisión de apertura en % sobre el capital. Afecta al cálculo de TAE. Por defecto 0.
Behavior4/5

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

With no annotations, the description carries full burden. It discloses that the calculation is an orientative estimate and that real APR depends on contract terms. This informs the agent of limitations, though it does not mention authentication needs or side effects (unlikely for a calculator).

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?

The description is two sentences plus a warning, with the main action in the first sentence and additional detail in the second. It is front-loaded, efficient, and contains no unnecessary words.

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?

Given no output schema, the description adequately outlines outputs (approximate APR, cost comparison, first installments broken down). It covers the three systems and the orientative nature. Could mention return format more explicitly, but sufficient for a calculator.

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 parameter descriptions in the schema are already detailed (e.g., enum descriptions for 'sistema'). The description adds no new parameter-specific meaning beyond explaining the systems and what the tool does, so 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?

The description clearly states it calculates personal/financial loans with three specific amortization systems, mentioning key outputs like approximate APR and cost comparison. It distinguishes itself from siblings like 'calcular_hipoteca' and 'calcular_interes_compuesto' by focusing on loan amortization methods.

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?

The description implies use for loan calculations with specified systems but does not explicitly state when to use vs. alternatives or provide exclusions. The context of sibling tools shows many specialized calculators, so the purpose is clear, but explicit guidelines are missing.

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

calcular_profundidad_campoAInspect

Calcula la profundidad de campo (DoF) para una combinación de focal, apertura, distancia y tipo de sensor. Devuelve la distancia hiperfocal, los límites near/far de enfoque nítido y una clasificación del bokeh. Útil para saber cuánto fondo quedará desenfocado o qué apertura usar en paisaje para máxima nitidez.

ParametersJSON Schema
NameRequiredDescriptionDefault
sensorYesTipo de sensor: ff = Full Frame (35mm), apsc15 = APS-C Nikon/Sony (factor ×1,5), apsc16 = APS-C Canon (factor ×1,6), m43 = Micro 4/3 (factor ×2,0)
aperturaYesApertura del diafragma en valor f (ej. 2.8 para f/2.8, 8 para f/8)
focal_mmYesFocal de la lente en milímetros (ej. 50 para un 50mm, 85 para un 85mm)
distancia_mYesDistancia de enfoque en metros (ej. 3 para 3 metros, 0.5 para 50 cm)
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It describes the tool as a pure calculation (no side effects) and lists the outputs, but does not explicitly state it is read-only or disclose any behavioral traits like required permissions or rate limits. For a simple calculator, this is acceptable but not outstanding.

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?

The description is two concise sentences with no wasted words. The first sentence states function and outputs, the second gives practical use cases. It is front-loaded and well-structured for quick understanding.

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?

Given no output schema, the description lists the return values (hyperfocal distance, near/far limits, bokeh classification), which is helpful. However, it omits units for distances (meters vs centimeters) and does not clarify the format of the bokeh classification (qualitative/quantitative). Minor gaps prevent a score of 5.

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% with each parameter having a descriptive example. The tool description adds no additional parameter-specific information beyond what the schema already provides. Per guidelines, when coverage is high, the baseline score is 3, which is appropriate 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?

The description clearly states the tool calculates depth of field (DoF) based on focal length, aperture, distance, and sensor type, and lists specific outputs (hyperfocal distance, near/far limits, bokeh classification). It provides two concrete use cases (blurring background, landscape sharpness), effectively distinguishing it from sibling tools which cover different domains like finance or tax.

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?

The description gives clear context for when to use the tool (e.g., to know background blur or select aperture for landscape). However, it does not explicitly state when not to use it or compare to alternative tools. Since sibling tools are unrelated, the implied usage is clear, but lacks explicit exclusions.

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

calcular_propinaAInspect

Calcula la propina de una cuenta de restaurante y la divide entre varias personas. Conoce los porcentajes habituales de propina por país (España, EE. UU., Japón, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
paisNoPaís para aplicar el porcentaje habitual. Valores válidos: espana, usa, reino_unido, alemania, francia, italia, japon
montoYesImporte total de la cuenta en euros (número positivo)
personasNoNúmero de personas entre las que dividir la cuenta. Por defecto 1.
porcentajeNoPorcentaje de propina a aplicar, por ejemplo 15 para 15%. Si no se indica, se usa el porcentaje habitual del país.
Behavior4/5

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

No annotations are provided, so the description carries full burden. It explains the core behavior (calculate and split tip) and the special feature of country-specific percentages. It does not disclose performance or error handling, but for a simple calculator, it's sufficient.

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?

The description is two sentences, front-loaded with the primary action, and every word adds value. No redundancy.

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 tip calculator, the description covers key aspects: calculation, splitting, and country-specific defaults. It does not detail the output format, but given no output schema, this is acceptable. The context is sufficient for an agent to select and invoke the tool.

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 baseline is 3. The description adds value by explaining that the tool knows standard tip percentages per country, which goes beyond the schema parameter descriptions. This enhances understanding of how 'pais' and 'porcentaje' interact.

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 clearly states the action (calcula), the resource (propina de una cuenta de restaurante), and the additional capability of splitting among people. It distinguishes itself from sibling tools which focus on taxes, pensions, and other financial calculations.

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?

The description implies usage for restaurant tip calculations and mentions standard percentages per country. It does not explicitly give when-to-use or when-not-to-use instructions, but the context is clear given the sibling tools are unrelated.

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

calcular_prorrata_ivaAInspect

Calcula la prorrata del IVA (general o especial) cuando el sujeto pasivo realiza operaciones mixtas —con y sin derecho a deducción— (LIVA arts. 102-106). Determina el % de IVA soportado deducible, con redondeo al alza obligatorio. Incluye regularización anual si se aportó la prorrata provisional y el IVA deducido.

ParametersJSON Schema
NameRequiredDescriptionDefault
operacionesYesOperaciones del período para calcular la prorrata
tipoProrrataYesTipo de prorrata: general (todo al %) o especial (por afectación de cada gasto)
cuotasSoportadasNoCuotas de IVA soportado para calcular el importe deducible
ivaDeducidoProvisionalNoIVA ya deducido en los trimestres anteriores con la prorrata provisional (EUR)
prorrataProvisoriaAplicadaNoProrrata provisional aplicada en los trimestres anteriores (%) — para calcular regularización anual
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses mandatory rounding (upwards) and includes annual regularization if provisional data is provided. This is adequate for a calculation tool; no contradictions or missing critical behaviors.

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?

The description is concise (3 sentences) and front-loaded with the main action. Every sentence provides essential information without unnecessary words.

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?

Given the complexity of IVA prorata and the detailed schema, the description covers key behavioral aspects (rounding, regularization). It does not explicitly describe the output format, but for a calculation tool, the output is implied.

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%, and the description adds value by explaining rounding and regularization, which are not in the schema. The description complements the schema effectively without redundancy.

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 clearly states the tool calculates the VAT prorata (general or special) for mixed operations, citing specific legal articles. It distinguishes itself from siblings by specifying the exact calculation and context.

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?

The description explicitly indicates when to use: when the taxpayer carries out mixed operations (with and without deduction right). It does not provide explicit exclusions or mention alternative tools, but the context is sufficiently clear.

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

calcular_provision_insolvenciasAInspect

Calcula la deducibilidad en el IS de las provisiones por créditos de dudoso cobro (insolvencias), según el LIS art. 13. Un crédito es deducible cuando: han pasado ≥6 meses desde el vencimiento, el deudor está en concurso de acreedores, hay reclamación judicial, o el deudor está procesado por alzamiento de bienes. No son deducibles los créditos de entidades vinculadas, garantizados por banco/seguro, o adeudados por entes públicos. Las PYMES (ERD, negocios <10M€) pueden dotación global adicional del 1% del saldo de deudores. Normativa: LIS art. 13.

ParametersJSON Schema
NameRequiredDescriptionDefault
esERDNo¿Es empresa de reducida dimensión (ERD)? Cifra de negocios < 10 millones €. Las ERD pueden dotación global adicional del 1%. Default: false
tipoISNoTipo IS de la empresa (%). Default: 25%
creditosYesLista de créditos de dudoso cobro a analizar
saldoTotalDeudoresCierreNoSaldo total de deudores al cierre del ejercicio (€) — solo necesario si esERD=true, para calcular la dotación global del 1%
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It transparently explains the legal basis, deductibility conditions, exclusions, and special rules for PYMES. It does not discuss rate limits, authentication, or side effects, but as a pure calculation tool, these are less critical. The description adds significant behavioral context beyond a simple 'calculate' statement, justifying a 4.

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

Conciseness4/5

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

The description is a single paragraph of about 80 words, starting with the purpose and then detailing conditions and exclusions. It is efficient and front-loaded, though it could benefit from bullet points for readability. No redundant sentences are present, earning a 4 for being concise yet informative.

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

Completeness3/5

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

The description covers legal context, deductibility criteria, and special rules, but it lacks explicit declaration of output (e.g., what the tool returns) and does not mention assumptions or limitations. Given no output schema, this is a notable gap. The description is adequate for calculation logic but not fully complete for an AI agent expecting to understand return values.

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%, providing baseline at 3. The description adds value by explaining the enumeration values for 'causaDeducibilidad' (e.g., 'plazo_6_meses' meaning ≥6 months overdue) and the context for 'esERD' and 'saldoTotalDeudoresCierre' (e.g., for the 1% global provision). This enhances understanding beyond schema descriptions, warranting a 4.

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 clearly states the tool's purpose: to calculate the deductibility of provisions for bad debts under Spanish Corporate Tax Law (LIS art. 13). It includes specific conditions (e.g., ≥6 months overdue, bankruptcy) and exclusions, making the scope unmistakable. The tool name is descriptive, and the description differentiates it from siblings by focusing on a niche calculation.

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 implies usage for analyzing credit deductibility but does not explicitly state when to use this tool versus alternatives (e.g., general tax calculation tools like 'calcular_impuesto_sociedades'). It provides deductibility criteria and exclusions, guiding input selection, but lacks explicit when-not-to-use guidance or references to other tools. Score reflects implied usage without clear differentiation.

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

calcular_puntos_azucarAInspect

Identifica la fase de cocción del azúcar según la temperatura en °C: almíbar ligero, bola blanda, bola firme, bola dura, caramelo blando, caramelo duro, caramelo rubio, caramelo oscuro. Incluye usos típicos y prueba del vaso de agua fría.

ParametersJSON Schema
NameRequiredDescriptionDefault
temperatura_cYesTemperatura del almíbar en °C medida con termómetro de cocina. Rango útil: 100–200°C.
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It accurately describes the tool as a non-destructive calculator that maps temperature to sugar phase, with no hidden side effects. The mention of 'incluye usos típicos y prueba del vaso de agua fría' adds useful behavioral context beyond a simple function description.

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

Conciseness4/5

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

The description is a single sentence that efficiently conveys purpose, phases, and additional context. It is fairly concise with no redundant information. A slightly more structured format (e.g., bullet points for phases) could improve readability, but it is not verbose.

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?

Given the tool's simplicity (single parameter, no output schema), the description provides adequate context: it names the phases, mentions typical uses and the cold water test, and indicates the temperature range. The agent can understand when and how to invoke the tool effectively.

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% with the input parameter 'temperatura_c' already described in the schema (temperature, range 100-200°C). The description does not add new parameter meaning beyond restating the use as sugar phase identification. Baseline 3 is appropriate as the schema already documents the parameter sufficiently.

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 clearly identifies the tool as one that determines sugar cooking phases based on temperature, listing specific phase names (e.g., almíbar ligero, caramelo duro) and including typical uses and the cold water test. This is a specific verb-resource combination that distinguishes it from sibling calculators like calcular_ganache or calcular_hidratacion_pan.

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 implicitly indicates use for sugar cooking but provides no explicit guidance on when to use this tool versus other food-related calculators (e.g., calcular_ganache). There are no stated prerequisites, exclusions, or alternative tool comparisons, so usage context is only implied.

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

calcular_recargo_equivalenciaAInspect

Calcula el recargo de equivalencia del IVA que paga el comerciante minorista al proveedor (LIVA arts. 148-163). Tipos 2025: IVA 21%+5,2%, IVA 10%+1,4%, IVA 4%+0,5%. El recargo es un coste neto no recuperable; a cambio el comerciante no presenta Modelo 303. Calcula coste total al proveedor y margen comercial real.

ParametersJSON Schema
NameRequiredDescriptionDefault
comprasYesLíneas de compra al proveedor con su tipo de IVA
margenComercialPctNoMargen comercial bruto sobre el coste neto (%) — alternativa al precio de venta
precioVentaPublicoConIVANoPrecio de venta al público con IVA incluido (EUR) — para calcular margen real
Behavior4/5

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

With no annotations, the description adequately discloses that the recargo is a net cost not recoverable, and that the tool calculates total cost and real margin. It doesn't mention side effects, but for a calculation tool this is sufficient.

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?

The description is three sentences, front-loaded with purpose and legal reference, followed by rates and outcomes. Every sentence adds value without verbosity.

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?

Despite no output schema, the description states it calculates 'coste total al proveedor y margen comercial real,' indicating outputs. It references legal articles and 2025 rates, providing sufficient context for a specialized calculation tool.

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 schema has 100% coverage with descriptions for all parameters. The description adds value by explaining the recargo types (e.g., IVA 21%+5,2%) and the business logic behind margenComercialPct and precioVentaPublicoConIVA parameters.

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 clearly states it calculates the recargo de equivalencia del IVA, citing specific legal articles (LIVA arts. 148-163). It distinguishes itself from siblings like calcular_iva and calcular_modelo_303 by focusing on this specific surcharge for retailers.

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?

The description gives context on when to use (for retail merchants calculating the recargo) and mentions the consequence of not needing Modelo 303. It doesn't explicitly say when not to use, but the specificity implies appropriate contexts.

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

calcular_recargo_presentacion_tardiaAInspect

Calcula el recargo por presentación de declaraciones tributarias fuera de plazo sin requerimiento previo (LGT art. 27): 1%/mes hasta 12 meses, luego 15% + intereses de demora. Incluye reducción del 25% por pronto pago.

ParametersJSON Schema
NameRequiredDescriptionDefault
diasRetrasoNoDías exactos de retraso (para cálculo preciso de intereses si supera 12 meses)
mesesRetrasoYesMeses completos de retraso desde el fin del plazo voluntario de presentación
cuotaAIngresarYesCuota a ingresar fuera de plazo (€)
pagoEnVoluntarioNo¿Va a pagar en el período voluntario? Permite aplicar la reducción del 25% sobre el recargo. Por defecto: true.
Behavior4/5

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

No annotations are provided, so the description carries the full burden of behavioral transparency. It explains the calculation logic in detail, including the rate tiers and reduction. However, it does not disclose how invalid inputs are handled or any side effects. The tool is a calculation, so destructive behavior is not expected, but the description could mention output format or error conditions.

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?

The description is extremely concise, consisting of two sentences that deliver the core purpose, legal reference, rate formula, and reduction. Every sentence adds value without redundancy. It is front-loaded with the main action and details follow efficiently.

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

Completeness3/5

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

The tool has no output schema, so the description should explain what the tool returns. It only describes the calculation logic but does not specify the output format (likely the surcharge amount in euros). It also lacks information on prerequisites or system behavior. Given the low complexity and 4 parameters, the omission of output description is a notable 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?

The input schema has 100% coverage with descriptions for all 4 parameters. The description adds limited additional value: it mentions the reduction for prompt payment (related to pagoEnVoluntario) and implies the use of mesesRetraso and diasRetraso in the calculation. However, it does not explicitly enhance the understanding of each parameter beyond what the schema already provides.

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 clearly states that the tool calculates the surcharge for late tax declarations without prior notice, referencing a specific legal article (LGT art. 27). It provides the rate formula (1% per month up to 12 months, then 15% + late payment interest) and mentions the 25% reduction for prompt payment. This distinguishes it from sibling tools like calcular_interes_demora or calcular_sancion_tributaria.

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 implicitly indicates when to use the tool (for late declarations without prior requirement) but does not provide explicit guidance on when not to use it or alternatives. For example, it doesn't exclude cases with prior requirements or mention that other tools like calcular_interes_demora might be more appropriate for certain scenarios. The context of sibling tools suggests a need for clearer differentiation.

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

calcular_reduccion_arrendamiento_irpfAInspect

Calcula el rendimiento neto reducido del capital inmobiliario por alquiler de vivienda habitual, aplicando los nuevos porcentajes de reducción de la Ley 12/2023 (Ley de Vivienda): 50% (fuera de zona tensionada), 60% (zona tensionada general o contrato pre-2024), 70% (joven 18-35 o rehabilitación reciente), 90% (zona tensionada + reducción renta ≥5%). Calcula gastos deducibles incluyendo amortización y estima el ahorro fiscal. Normativa: LIRPF art. 23.2.

ParametersJSON Schema
NameRequiredDescriptionDefault
ibiNoIBI + tasa de basuras (€/año)
seguroNoSeguro del inmueble (€/año)
interesesNoIntereses hipoteca y gastos de financiación del inmueble (€/año)
otrosGastosNoOtros gastos necesarios: administración, suministros pagados por arrendador (€/año)
amortizacionNoAmortización del inmueble (€/año) si ya la conoces. Alternativa: indicar valorCatastralConstruccion
ingresosIntegrosYesAlquiler bruto anual recibido (€/año)
tipoMarginalIRPFNoTipo marginal IRPF del arrendador (%) para calcular el ahorro fiscal estimado
comunidadPropietariosNoCuota de comunidad de propietarios (€/año)
reparacionConservacionNoGastos de reparación y conservación (€/año, no mejoras)
situacionArrendamientoYesSituación del contrato: contrato_pre2024=contratos antes del 01/01/2024 (60%), zona_tensionada_90pct=zona tensionada+reducción renta≥5% (90%), zona_tensionada_70pct_joven=zona tensionada+arrendatario 18-35 años (70%), rehabilitacion_reciente=rehab concluida en últimos 2 años (70%), zona_tensionada_general=zona tensionada sin requisitos adicionales (60%), fuera_zona_tensionada=resto (50%)
valorCatastralConstruccionNoValor catastral de construcción (€) para calcular amortización automáticamente al 3%
Behavior3/5

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

With no annotations, the description carries full burden. It discloses the calculation of reductions, deductible expenses, and tax savings, but lacks information on input validation, error handling, or whether it modifies any state (likely read-only but not stated).

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

Conciseness4/5

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

The description is relatively concise and front-loaded with the main purpose. It packs essential information but could be slightly shorter without losing clarity.

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

Completeness3/5

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

Given the complexity (11 params, 1 enum, no output schema), the description explains the reduction scenarios and calculation logic. However, it does not describe the output format or provide a complete picture of what the tool returns (e.g., breakdown of net income vs tax savings).

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%, so baseline is 3. The description adds overall context (reduction percentages, law references) but does not significantly enhance understanding of individual parameters beyond what the schema already provides.

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 clearly states it calculates net reduced income from real estate capital for habitual dwelling rental, applying specific reduction percentages from Law 12/2023, and estimates tax savings. This is a specific verb+resource combination that distinguishes it from siblings like general rental income calculators.

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 provides clear context on when to use the tool (for rental income reductions under specific scenarios) but does not explicitly state when not to use it or mention alternative tools such as 'calcular_rendimiento_capital_inmobiliario' or 'calcular_imputacion_rentas_inmuebles'.

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

calcular_reduccion_irregular_irpfAInspect

Calcula la reducción del 30% sobre rendimientos del trabajo o actividades económicas generados en más de 2 años (LIRPF arts. 18.2 y 32.1). Casos: indemnizaciones por despido no exentas, atrasos de convenio, derechos de imagen, premios, honorarios de proyectos plurianuales. Límite: 300.000 EUR de base (reducida si rendimiento >700.000 EUR).

ParametersJSON Schema
NameRequiredDescriptionDefault
importeBrutoYesImporte bruto del rendimiento irregular (EUR)
tipoMarginalNoTipo marginal IRPF del contribuyente (%) — para calcular el ahorro fiscal estimado. Default: 37%
tipoRendimientoYesTipo de rendimiento irregular
gastosDeduciblesNoGastos deducibles asociados al rendimiento (EUR)
origenRendimientoYesOrigen: rendimiento del trabajo o de actividades económicas
periodosGeneracionAnosYesPeríodo de generación del rendimiento (años) — debe ser >2 para aplicar la reducción
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the reduction percentage (30%), legal basis, and calculation limits (300,000 EUR base, reduced if >700,000 EUR). However, it does not mention any side effects, authentication requirements, or data persistence, which for a pure calculation tool is acceptable.

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?

The description is two sentences, front-loading the key function ('Calcula la reducción del 30%...') followed by specific cases and limits. Every sentence adds value with no redundancy. Ideal conciseness for a single-purpose calculation tool.

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?

Given the complexity of tax reduction calculations and the absence of an output schema, the description provides essential legal context, examples, and limits. It does not explain the exact output format, but the name and description imply the result is the calculated reduction amount. Adequate for an AI agent to understand the tool's scope.

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?

Input schema coverage is 100%, so baseline is 3. The description adds legal context and examples that help understand parameters beyond their schema descriptions. For instance, it explains the 2-year generation period requirement and the reduction cap, which are not detailed in the schema.

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 clearly states the tool calculates a 30% reduction on specific income types (work or economic activities generated over 2 years), citing legal articles. It distinguishes from sibling tools by detailing exact use cases like indemnizaciones por despido no exentas, atrasos de convenio, etc., making its purpose unambiguous.

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?

The description provides explicit use cases (e.g., indemnizaciones por despido, atrasos de convenio) and a limit (300,000 EUR base). It implies when to use the tool but does not specify when not to use it or mention alternative tools. The context of sibling tools suggests it is for irregular income reductions, but guidance on exclusions is absent.

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

calcular_reduccion_jornadaAInspect

Calcula el impacto económico de la reducción de jornada por guarda legal (ET art. 37.6): cuidado hijo menor de 12 años, familiar dependiente o hijo con discapacidad grave. Reducción permitida: entre 1/8 (12,5%) y 1/2 (50%) de la jornada ordinaria. El salario es proporcional. Los primeros 24 meses la cotización SS mantiene la base de jornada completa (art. 237 LGSS). Encadenable con: calcular_baja_medica, calcular_permiso_parental, calcular_sueldo_neto.

ParametersJSON Schema
NameRequiredDescriptionDefault
motivoYesMotivo de la reducción de jornada
fraccionReduccionYesFracción de reducción (entre 0 y 1). Ej: 0.5 para media jornada, 0.125 para 1/8 de jornada
horasSemanalesCompletasYesHoras semanales a jornada completa según contrato
menosDe24MesesEnReduccionNo¿Lleva menos de 24 meses en reducción de jornada? (primeros 24 meses: cotización SS a base completa). Por defecto true.
salarioBrutoMensualCompletoYesSalario bruto mensual a jornada completa (€)
Behavior4/5

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

With no annotations, the description carries full burden. It discloses key behaviors: salary proportionally reduced, social security contribution maintained for first 24 months, and allowed reduction fraction. It does not detail output format or error handling, but for a calculation tool, the core logic is transparent.

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?

The description is concise with 4 sentences, front-loaded with purpose and legal reference, then details on reduction limits and related tools. No wasted words.

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 calculation tool with 5 parameters and no output schema, the description covers the legal constraints and calculation logic sufficiently. The 'Encadenable con' mention provides additional context. Minor omission: no guidance on maximum reduction exact values beyond 1/2, but the schema covers this.

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 baseline is 3. The description adds value by providing examples for 'fraccionReduccion' (0.5 for half, 0.125 for 1/8) and context for 'motivo' (hijo menor 12, etc.). It also implicitly explains 'menosDe24MesesEnReduccion' via the 24-month 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?

The description clearly states the tool calculates the economic impact of a legal guardianship work reduction, specifying the legal basis (ET art. 37.6), allowed reduction range, and proportional salary. It distinguishes itself by naming sibling tools like calcular_baja_medica, calcular_permiso_parental, calcular_sueldo_neto.

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?

The description provides good context for when to use this tool, including the legal conditions and allowed reduction. It explicitly lists related tools under 'Encadenable con', guiding users on combinations. However, it does not explicitly state when NOT to use this tool.

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

calcular_reduccion_plan_pensiones_irpfAInspect

Calcula la reducción de la base imponible general del IRPF por aportaciones a planes de pensiones, PPA, PIAS y planes de empleo (LIRPF arts. 51-52, Ley 12/2022). Límites 2025: 1.500 EUR propias + hasta 8.500 EUR empresa (total 10.000 EUR) + 4.250 EUR PPES autónomos. Incluye límite del 30% de rendimientos netos y aportaciones al cónyuge (hasta 1.000 EUR).

ParametersJSON Schema
NameRequiredDescriptionDefault
perfilYesPerfil del contribuyente: trabajador_cuenta_ajena (empleado con posible plan empresa), autonomo_reta (puede aportar a PPES), trabajador_sin_empresa (empleado sin plan de empresa)
aportacionesConyugeNoAportaciones a favor del cónyuge (EUR/año). Reducción adicional hasta 1.000 EUR si el cónyuge obtiene rendimientos < 8.000 EUR
aportacionesPPESAutonomoNoAportaciones al Plan de Pensiones de Empleo Simplificado para autónomos (EUR/año). Límite adicional 4.250 EUR/año. Solo perfil autonomo_reta
contribucionEmpresaAnualNoContribuciones de la empresa al plan de empresa o EPSP (EUR/año). Solo trabajadores por cuenta ajena
excesoAnterioresPendienteNoExceso de aportaciones no deducido en ejercicios anteriores (EUR). Puede trasladarse hasta 5 años
aportacionesPropiasAnualesYesAportaciones propias del contribuyente al plan de pensiones individual, PPA o PIAS (EUR/año)
rendimientosNetosEjercicioYesRendimientos netos del trabajo + actividades económicas del ejercicio (EUR). Base para calcular el límite del 30%
Behavior4/5

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

With no annotations, the description carries full burden. It details the calculation limits, contribution types, and the 30% net income cap. However, it does not describe the output format or behavior (e.g., returns a numeric reduction amount), which is a minor 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?

The description is a single, dense paragraph that packs all essential information without extraneous words. It is front-loaded with the key purpose and follows with specific details, making it highly efficient.

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

Completeness3/5

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

The description explains the inputs and calculation logic well, but lacks clarity on what the tool returns (e.g., a numeric reduction amount, euros). Given the absence of an output schema, this is a notable gap for completeness.

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%, baseline 3. The description adds significant context by explaining legal limits and how parameters interact (e.g., contributions to spouse, employer contributions). This supplements the schema descriptions well, justifying a 4.

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 clearly states it calculates the reduction of the general taxable base for IRPF from pension plan contributions, specifying legal articles and limits. It distinguishes itself from siblings like 'calcular_plan_pensiones' by focusing on the IRPF reduction aspect.

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?

The description provides clear usage context, including applicable contributions and limits for 2025. It implicitly distinguishes from similar tools by specifying the reduction calculation, but does not explicitly state when not to use it or suggest alternatives.

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

calcular_regimen_impatriadosAInspect

Calcula la tributación bajo el régimen especial de trabajadores desplazados a España (Ley Beckham, LIRPF art. 93 + Ley Startups). Tipos fijos IRNR: 24% hasta 600.000 EUR, 47% sobre exceso. Rentas de fuente extranjera exentas. Válido para contratos de trabajo, administradores, emprendedores y nómadas digitales durante 6 años.

ParametersJSON Schema
NameRequiredDescriptionDefault
anoRegimenNoAño del régimen (1-6) — para informar sobre duración restante
cuotaSSAnualNoCuota SS anual en España (EUR) — deducible del salario bruto
motivoDesplazamientoYesMotivo del desplazamiento a España
gananciasPatrimonialesNoGanancias patrimoniales del ahorro (EUR) — tributan a escala del ahorro
salarioBrutoAnualEspanaYesSalario bruto anual de fuente española (EUR)
salarioFuenteExtranjeraNoRentas del trabajo de fuente extranjera (EUR) — EXENTAS bajo este régimen
rendimientosCapitalMobiliarioNoRendimientos del capital mobiliario — dividendos, intereses (EUR) — tributan a escala del ahorro
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the tax rates, exemption for foreign income, and duration, which covers core behavior. However, it does not mention what the output is (e.g., total tax liability, breakdown), nor any side effects or permissions. Adequate but not thorough.

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

Conciseness4/5

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

The description is relatively concise and front-loaded with the purpose, followed by rates, exemptions, and eligibility. It could be more structured (e.g., bullet points), but it is clear and avoids unnecessary words.

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

Completeness3/5

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

Given the tool's complexity (special regime with multiple rates and exemptions) and the absence of an output schema, the description should explain what the tool returns (e.g., tax payable, effective rate). It does not specify the output format, leaving the agent to infer. Adequate for basic use but incomplete for full understanding.

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?

With 100% schema description coverage, baseline is 3. The description adds value by explaining the tax rates and exemption, which clarifies why salarioFuenteExtranjera is exempt and the purpose of anoRegimen. It enhances understanding beyond the schema.

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 explicitly states it calculates taxation under the special regime for workers displaced to Spain (Beckham Law), specifying tax rates, exemptions, eligible categories, and duration. This clearly differentiates it from sibling tools like calcular_irpf and calcular_irpf_no_residente.

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 provides clear context on when to use the tool (for inpatriates under the special regime) and lists eligible motives, but does not explicitly mention when not to use it or suggest alternative tools. The legal references (LIRPF art. 93) help the agent understand the applicability.

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

calcular_regimen_simplificado_ivaBInspect

Calcula la cuota trimestral de IVA a ingresar en el Régimen Simplificado (módulos) — LIVA arts. 122-129 + Orden HFP/1166/2024. El contribuyente indica la cuota devengada anual (CDOC) de sus módulos y el IVA soportado del trimestre. Calcula la cuota a ingresar en el modelo 310 (T1-T3) o 370 (T4), respetando el mínimo del 1% de la CDOC. Verifica los límites de exclusión del régimen (250.000 EUR ingresos/compras).

ParametersJSON Schema
NameRequiredDescriptionDefault
trimestreYesTrimestre a liquidar (1, 2, 3 o 4)
cuotaDevengadaAnualYesCuota devengada por operaciones corrientes ANUAL (EUR) — de los módulos de la actividad
volumenComprasPrevioNoVolumen de compras del ejercicio anterior (EUR)
ivaSoportadoTrimestreYesIVA soportado en operaciones corrientes del trimestre (EUR)
volumenIngresosPrevioNoVolumen de ingresos del ejercicio anterior (EUR) — para verificar límites
ivaSoportadoAdicionalAnualNoIVA soportado adicional anual (solo para T4 — liquidación anual)
Behavior3/5

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

With no annotations, the description carries full burden. It discloses key behaviors: uses annual and quarterly inputs, applies a 1% minimum CDOC, and checks exclusion limits. However, it does not state that it is a read-only calculation or mention any side effects.

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?

The description is concise (three sentences), front-loaded with the main purpose, includes legal references, and avoids unnecessary detail.

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

Completeness3/5

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

With no output schema, the description partly explains the return (the quota to pay) and mentions models 310/370. However, it does not specify output format, edge cases, or error conditions. The parameter set is moderately complex (6 params, 3 required) and the description covers key inputs but lacks a breakdown of return values.

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 covers 100% of parameters with descriptions. The description adds context beyond schema: explains the 1% minimum and 250k exclusion limits, and clarifies the role of cuotaDevengadaAnual and ivaSoportadoTrimestre in the calculation.

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 clearly states the tool calculates quarterly VAT due under the Simplified Regime (módulos), referencing specific legal articles and inputs. It is specific to this regime, but does not explicitly distinguish from sibling VAT tools like calcular_iva.

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?

No guidance on when to use this tool versus alternatives (e.g., calcular_iva for general VAT or calcular_modelo_303). The target user is implied by the regime name, but no explicit when/when-not.

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

calcular_regla_180_videoAInspect

Calcula la velocidad de obturación correcta para vídeo según la regla de los 180°. El obturador debe ser el doble del frame rate para conseguir motion blur natural. Devuelve el obturador recomendado y una tabla con todos los fps comunes.

ParametersJSON Schema
NameRequiredDescriptionDefault
fpsYesFrame rate de grabación (ej. 24, 25, 30, 50, 60, 120, 240)
Behavior4/5

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

Sin anotaciones, la descripción revela el comportamiento: calcula según la regla 180°, devuelve obturador y tabla. No hay contradicciones ni ambigüedades. Podría mencionar si es de solo lectura, pero es implícito.

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?

Dos oraciones directas, sin redundancia. La información clave (qué hace, regla, salida) está al inicio. Cada oración aporta valor.

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?

Para una herramienta simple con un solo parámetro y sin esquema de salida, la descripción es suficiente: indica entrada, cálculo y salida. Sería más completa si especificara unidades del obturador.

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?

El esquema tiene 100% de cobertura y la descripción añade el contexto de la regla (obturador = doble de fps), que explica la relación entre el parámetro y el resultado, mejorando la comprensión.

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?

La descripción especifica claramente el verbo (calcula), el recurso (velocidad de obturación para vídeo según regla 180°) y el resultado (obturador recomendado y tabla). Se distingue de herramientas hermanas como calcular_camara_lenta o calcular_filtro_nd_video.

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?

La descripción indica el propósito y la regla, pero no proporciona cuándo usar esta herramienta frente a alternativas (ej. calcular_camara_lenta) ni cuándo no usarla. La guía de uso es implícita pero no explícita.

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

calcular_regla_72AInspect

Aplica la Regla del 72, la heurística financiera más conocida: A) Dado un tipo de interés anual, ¿en cuántos años se dobla el capital? B) Dado un plazo en años, ¿qué rentabilidad necesito para doblar el capital? Incluye el cálculo exacto logarítmico para comparar la aproximación, tabla de dobles sucesivos (2x, 4x, 8x...) y comparativa con tipos habituales de inversión. Encadenable con calcular_interes_compuesto, calcular_fire. Ideal para: "¿Cuánto tarda en doblarse mi inversión al 7% anual?"

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoInteresNoTipo de interés anual en porcentaje. Proporciona este campo para calcular los años necesarios para doblar.
capitalInicialNoCapital inicial en euros (opcional, para mostrar importes absolutos en la tabla de dobles).
aniosParaDoblarNoAños deseados para doblar el capital. Proporciona este campo para calcular el tipo de interés necesario.
Behavior4/5

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

No annotations are provided, so the description carries full burden. It clearly describes that the tool includes logarithmic exact calculation, a table of successive doubles, and comparison with typical investment rates, providing good insight into the output's richness. No side effects or permissions are mentioned, but they are not expected for this kind of tool.

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

Conciseness4/5

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

The description is slightly long but efficiently conveys the purpose, modes, and additional features. It is front-loaded with the main functionality and remains focused, though it could be trimmed slightly without losing clarity.

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?

Given the lack of an output schema, the description adequately covers what the tool returns (logarithmic calculation, table, comparison). It explains the two input modes and optional parameter. No prerequisites or side effects are needed, so the description is reasonably complete.

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 input schema has 100% description coverage for all three parameters. The description additionally clarifies that tipoInteres is for calculating years, aniosParaDoblar for calculating interest rate, and capitalInicial is optional for absolute values in the table. This adds useful context beyond the schema.

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 clearly states the tool applies the Rule of 72 with two specific use cases: calculating years to double given interest rate, and calculating required interest rate given years. It also distinguishes itself from siblings like calcular_interes_compuesto and calcular_fire by mentioning chainability, making its purpose very clear.

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?

The description explicitly provides example usage (e.g., '¿Cuánto tarda en doblarse mi inversión al 7% anual?') and mentions it can be chained with other tools. It implies when to use it, though it does not explicitly state when not to use it or compare with similar tools beyond mentioning chainability.

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

calcular_regla_tresAInspect

Resuelve reglas de tres simples (directa e inversa) y compuestas. La regla de tres directa: si A→B entonces C→X (X = B×C/A). La inversa: si A×B = C×X (X = A×B/C). La compuesta maneja dos variables simultáneas con cualquier combinación directa/inversa. Muestra la fórmula y los pasos de resolución.

ParametersJSON Schema
NameRequiredDescriptionDefault
aYesValor A (referencia 1 de la variable principal)
bYesValor B (resultado 1 de la variable principal)
cYesValor C (referencia 2 de la variable principal, para la que buscamos X)
dNoValor D (referencia 1 de la segunda variable). Solo para tipo "compuesta".
eNoValor E (referencia 2 de la segunda variable). Solo para tipo "compuesta".
tipoYes"simple-directa": proporción directa (más de A → más de B). "simple-inversa": proporción inversa (más de A → menos de B). "compuesta": dos variables simultáneas.
relacionSegundaVariableNoRelación de la segunda variable: "directa" (más D → más X) o "inversa" (más D → menos X). Solo para tipo "compuesta".
Behavior4/5

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

Reveals that the tool shows formulas and steps. Without annotations, this provides good transparency for a simple math tool. No contradictions.

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?

Five sentences, each adding value: overview, formulas for two types, composite description, output behavior. Efficient and 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?

Covers all types, optional parameters, and explicitly states output (formula and steps). No output schema needed; description is self-contained.

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 has 100% coverage but description adds meaning by explaining formulas for direct and inverse, linking parameters A, B, C to real rule-of-three concepts, and describing composite type.

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?

Description clearly states the tool resolves rule of three problems (direct, inverse, composite). It gives specific formulas and differentiates from many sibling calculation tools.

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

Usage Guidelines4/5

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

Describes when to use each type (direct, inverse, composite) with formulas. Doesn't explicitly state when not to use, but context is clear given sibling tools are for other calculations.

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

calcular_rendimiento_capital_inmobiliarioAInspect

Calcula el rendimiento neto del capital inmobiliario en IRPF (arrendamientos) — LIRPF arts. 22-24 + Ley 12/2023 (Vivienda). Deduce todos los gastos permitidos: intereses hipoteca, IBI, seguros, reparaciones (con límite al importe de los ingresos), comunidad, administración y amortización (3% del valor de construcción). Aplica las reducciones desde 2024: 90% (zona tensionada + reducción ≥5%), 70% (zona tensionada nueva/vulnerable), 60% (rehabilitación), 50% (vivienda habitual general).

ParametersJSON Schema
NameRequiredDescriptionDefault
gastosYesGastos deducibles del arrendamiento
tipoInmuebleYesTipo de inmueble arrendado y reducción aplicable
ingresosIntegrosYesIngresos íntegros del arrendamiento en el ejercicio (EUR)
excesoGastosPendientesAniosAntNoExceso de intereses/reparación de años anteriores pendiente de compensar (EUR)
Behavior4/5

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

No annotations exist, so description fully explains behavior: deduction types, limits (reparaciones capped at ingresos), amortization method, and reduction percentages. Lacks mention of return format or side effects.

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?

Single dense paragraph front-loads purpose, then lists deductions and reductions. Every sentence adds value, no redundancy.

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?

Complex tool with no output schema. Description details inputs and logic comprehensively but does not specify output structure (e.g., returns net amount or breakdown). Slightly incomplete.

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

Parameters5/5

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

All parameters have schema descriptions (100% coverage). Description adds meaning by explaining deduction limits, amortization calculation, and enum options with reduction percentages.

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 clearly states it calculates net rental income for IRPF, referencing specific laws and reductions. It distinguishes from sibling tools like 'calcular_reduccion_arrendamiento_irpf' by being comprehensive.

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 implies use for IRPF rental income calculation but does not explicitly state when to use over alternatives or provide exclusions. No guidance on when not to use.

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

calcular_rentabilidad_alquilerAInspect

Calcula la rentabilidad bruta, neta, cash flow mensual y payback de una inversión inmobiliaria en alquiler. Encadenable con calcular_hipoteca, calcular_retencion_alquiler, calcular_irpf. Ideal para responder: "¿Vale la pena comprar este piso para alquilarlo?" o "¿Cuánto dinero saco neto cada mes de un alquiler?"

ParametersJSON Schema
NameRequiredDescriptionDefault
ibiNoIBI anual en euros. Por defecto 0.
seguroNoSeguro de hogar anual en euros. Por defecto 0.
reformaNoCoste de reforma e inversión inicial adicional en euros. Por defecto 0.
comunidadNoGastos de comunidad anuales en euros. Por defecto 0.
conHipotecaNo¿El inmueble tiene hipoteca? Por defecto false.
precioCompraYesPrecio de compra del inmueble en euros.
tasaHipotecaNoTipo de interés anual de la hipoteca en porcentaje. Por defecto 3.5%.
aniosHipotecaNoPlazo de la hipoteca en años. Por defecto 25.
mantenimientoNoMantenimiento y reparaciones anuales estimados en euros. Por defecto 0.
tasaOcupacionNoTasa de ocupación esperada en porcentaje (días alquilados vs total). Por defecto 95%.
alquilerMensualYesAlquiler mensual esperado en euros.
capitalHipotecaNoCapital hipotecario en euros.
porcentajeGastosCompraNoPorcentaje de gastos de compra (ITP/AJD, notaría, registro). Por defecto 10%.
Behavior3/5

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

With no annotations, the description carries the burden. It reveals the tool calculates investment metrics but does not discuss side effects, storage, or prerequisites. It is clear about its analytical nature.

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?

The description is two sentences, front-loaded with the tool's core purpose, and includes a useful use-case example without unnecessary words.

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?

Given no output schema, the description lists the metrics computed (bruta, neta, cash flow, payback), which informs the user of expected results. It also mentions chainable tools for extended workflows. Could specify output units but is largely complete.

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?

All 13 parameters have schema descriptions (100% coverage). The overall description adds context about what the tool does with the parameters (calculating metrics) but does not detail individual parameters beyond the schema.

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 clearly states the tool computes gross and net profitability, monthly cash flow, and payback for rental real estate investments. It specifies the metrics and distinguishes from siblings by naming 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?

The description provides concrete use cases by quoting typical user questions and mentions the tool is encadenable (chainable) with related tools, giving context for when to use it.

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

calcular_renta_vitalicia_irpfAInspect

Calcula la tributación en IRPF de rentas vitalicias y temporales de seguros de vida (base del ahorro). El porcentaje tributable de cada cobro depende de la edad al constituir la renta vitalicia (8% si ≥70 años, 40% si <40 años) o de la duración para rentas temporales (12%-25%). También calcula la tributación en caso de rescate del capital diferido. Informa de la posible exención del art. 7.v LIRPF para mayores de 65 años. Normativa: LIRPF art. 25.3.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoRentaYesvitalicia_inmediata=renta vitalicia (el % tributable depende de la edad al constituir); temporal_inmediata=renta temporal (el % depende de la duración); rescate_capital=rescate del capital diferido
cobroAnualNoCobro anual de la renta (€/año) — para vitalicia y temporal
edadActualNoEdad actual del contribuyente — para evaluar posible exención art. 7.v LIRPF (≥65 años)
valorRescateNoValor de rescate del seguro (€) — para rescate_capital
capitaldart7vNo¿El capital procede de una ganancia patrimonial acogida a la exención del art. 7.v LIRPF (transmisión de bienes por mayores de 65 años)?
duracionAniosNoDuración de la renta temporal en años — para temporal_inmediata
primasPagadasNoTotal de primas pagadas (€) — para rescate_capital. Rendimiento = rescate - primas
edadConstitucionNoEdad del beneficiario en el momento de CONSTITUCIÓN de la renta vitalicia — determina el % tributable fijo para toda la vida
Behavior4/5

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

No annotations are provided, so the description carries full burden. It details calculation logic, percentages, and exemptions, but does not specify output format or any side effects. For a calculation tool, it is fairly transparent.

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 sentences with clear front-loading of purpose followed by specific details. No wasted words, efficient and well-structured.

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 8 parameters and 3 renta types, the description covers the core logic and parameter roles. Missing explicit statement on return value format, but the functional description is complete for a tax calculation tool.

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%, baseline 3. The description adds significant meaning: explains enum values, gives specific percentages (8%, 40%, 12%-25%), and mentions the exemption condition, enriching parameter understanding beyond the schema.

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 clearly states the tool calculates IRPF taxation for life annuities and temporary annuities from life insurance, and also covers rescue of capital. It includes specific percentages and exemption references, distinguishing it from sibling tools like calcular_irpf or calcular_plan_pensiones.

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 implies use for annuities and rescue scenarios but does not explicitly state when to use or alternatives. It lacks guidance on when not to use or comparisons to other tools.

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

calcular_rescate_plan_pensionesAInspect

Calcula la tributación del rescate de un plan de pensiones en IRPF (LIRPF art. 17.2.a, DA 12ª). Las prestaciones tributan siempre como rendimiento del trabajo (RDT) en la base general (escala progresiva, NO base del ahorro). Calcula la reducción del 40% sobre el capital acumulado antes de 31/12/2006 si se rescata en forma de capital dentro de los 2 años siguientes a la contingencia. Incluye análisis del impacto del rescate en capital vs. renta.

ParametersJSON Schema
NameRequiredDescriptionDefault
rentaAnualNoRenta anual en caso de cobro periódico (EUR/año). Solo si formaRescate=renta o mixta
contingenciaYesContingencia que permite el rescate. liquidez_excepcional_10anios: desde 2025 para aportaciones pre-01/01/2015 con ≥10 años en el plan
formaRescateYesForma de cobrar la prestación: capital (pago único), renta (pagos periódicos), mixta (parte capital + parte renta)
capitalPre2007NoParte del capital correspondiente a aportaciones realizadas antes de 31/12/2006 (EUR). Base de la reducción del 40%
importeCapitalNoImporte que se rescata en forma de capital en el ejercicio actual (EUR). Si formaRescate=capital: igual al totalAcumulado
totalAcumuladoYesImporte total acumulado en el plan de pensiones (EUR)
anosDesdeContingenciaNoAños transcurridos desde que ocurrió la contingencia. La reducción del 40% solo puede aplicarse en los 2 años siguientes
otrosRdtTrabajoEjercicioNoOtros rendimientos del trabajo (nómina, pensión SS) en el mismo ejercicio (EUR). Para calcular el tipo marginal real del rescate
Behavior3/5

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

No annotations are provided, so the description bears the full burden of behavioral disclosure. It explains the legal tax treatment and reduction rules, but does not describe side effects, permissions, error behavior, or return value details. The description adds context beyond the schema but lacks behavioral specifics like validation or caveats.

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?

The description is composed of four sentences that efficiently convey purpose, legal basis, and key rules. It is front-loaded with the main action and avoids unnecessary words. Every sentence adds value, making it concise and well-structured.

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

Completeness3/5

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

Despite 8 parameters and no output schema, the description does not specify what the tool returns (e.g., tax amount, effective rate) beyond mentioning 'análisis del impacto'. It does not clarify parameter dependencies or conditional requirements. The legal context is helpful, but completeness is moderate given the complexity.

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 baseline is 3. The description does not add significant new semantics beyond the schema; it mentions the 40% reduction base (capitalPre2007) but this is already in the schema. The description provides legal context, not parameter-level detail.

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 clearly states the tool calculates the taxation of a pension plan redemption in Spanish IRPF, specifying the legal articles and key rules (always labor income, 40% reduction for pre-2007 capital). It uses a specific verb (calcula) and resource (rescate plan de pensiones), making the purpose unambiguous. Although sibling tools like 'calcular_plan_pensiones' and 'calcular_reduccion_plan_pensiones_irpf' exist, the description differentiates by focusing on redemption taxation.

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 explains what the tool calculates but does not explicitly state when to use this tool versus alternatives. It does not mention scenarios where other tools are more appropriate or provide exclusions. The context of redemption taxation is implied, but no direct guidance on when-not to use or comparison with siblings is given.

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

calcular_retencion_alquilerAInspect

Calcula el rendimiento neto del capital inmobiliario, los gastos deducibles y el impacto en el IRPF del arrendador de un inmueble residencial. Aplica la reducción del 60% por arrendamiento de vivienda habitual (art. 23.2 LIRPF) y la retención del 19% cuando el arrendatario es empresa o profesional (art. 101.4 LIRPF). Encadenable con calcular_rentabilidad_alquiler, calcular_irpf, calcular_hipoteca. Ideal para: "¿Cuánto IRPF pago por alquilar mi piso?" o "¿Qué gastos puedo deducir del alquiler?"

ParametersJSON Schema
NameRequiredDescriptionDefault
ibiNoIBI anual en euros. Por defecto 0.
seguroNoSeguro de hogar anual en euros. Por defecto 0.
comunidadNoGastos de comunidad anuales en euros. Por defecto 0.
otrosGastosNoOtros gastos deducibles (gestoría, publicidad, etc.) en euros. Por defecto 0.
precioCompraNoPrecio de compra del inmueble en euros. Se usa para calcular la amortización (3% del 70% del valor de compra). Por defecto 0.
reparacionesNoGastos de reparación y conservación anuales en euros. Por defecto 0.
otrosIngresosNoOtros ingresos anuales del contribuyente en euros (para calcular tipo marginal). Por defecto 0.
valorCatastralNoValor catastral del inmueble en euros. Se usa como alternativa para calcular amortización. Por defecto 0.
alquilerMensualYesAlquiler mensual bruto en euros.
mesesAlquiladosNoNúmero de meses alquilados al año. Por defecto 12.
interesesHipotecaNoIntereses de hipoteca pagados en el año en euros. Por defecto 0.
arrendatarioEmpresaNo¿El arrendatario es empresa o profesional? Si es true, aplica retención del 19%. Por defecto false.
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses key behaviors like applying the 60% reduction and 19% withholding, and references legal articles. However, it does not detail what the tool returns, how defaults are handled for missing fields, or any potential side effects (though none expected for a calculation). This leaves some gaps.

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?

The description is only three sentences: first defines the main function, second specifies key legal features, third gives chainability and example questions. It is front-loaded, efficient, and every sentence adds value with no redundancy.

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

Completeness3/5

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

Given the tool's complexity (12 parameters, no output schema), the description covers the purpose and key features but lacks details on what the output includes. It does not explain how inputs are combined or what the result structure looks like. While the name and context imply retention calculation, an AI agent would benefit from more explicit output description.

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%, giving baseline 3. The description adds context by mentioning deductible expenses, reductions, and withholding, but does not elaborate on individual parameters beyond what the schema already provides. Thus, it adds marginal value over the schema.

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?

Description clearly states it calculates net rental income, deductible expenses, and IRPF impact for residential property, mentioning specific reductions and withholding. It answers user queries directly. While it does not explicitly differentiate from siblings like calcular_rendimiento_capital_inmobiliario or calcular_retencion_profesional, its specificity gives strong purpose clarity.

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?

The description provides 'Ideal para' example questions that indicate when to use the tool, and mentions it is chainable with other tools. However, it does not state when not to use it or provide explicit alternatives, so it lacks exclusions. Still, the context is clear enough for an AI agent to decide.

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

calcular_retencion_dividendosAInspect

Calcula la retención e IRPF/IS aplicable a dividendos según el tipo de receptor (LIRPF art. 25.1, LIS art. 21, LIRNR). Para persona física residente: retención 19%, escala del ahorro 19-28%, integración en base del ahorro. Para sociedad residente: exención art. 21 si participación ≥5% y tenencia ≥12 meses; si no, IS 25%. Para no residente: tipo general 19% o tipo CDI.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoCDINoPara no residentes: tipo del CDI aplicable (%). Si no hay convenio, se aplica el tipo general del 19%
tipoReceptorYesTipo de receptor del dividendo
mesesTenenciaNoPara receptor sociedad: meses de tenencia de la participación. Se requieren ≥12 meses para la exención IS art. 21
dividendoBrutoYesImporte bruto del dividendo acordado (EUR)
gastosAdministracionNoGastos de administración y depósito de valores (EUR). Solo deducibles para persona física. Reducen el rendimiento neto
porcentajeParticipacionNoPara receptor sociedad: porcentaje de participación en la entidad pagadora (%). Determina exención art. 21 (≥5%) y exención retención (≥25%)
otrosRdtoAhorroEjercicioNoPara persona física: otros rendimientos del capital mobiliario del ahorro en el ejercicio (EUR). Para calcular la escala progresiva acumulada
Behavior4/5

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

No annotations provided, so the description carries full burden. It discloses key behavioral traits: for resident individuals, retention of 19% and progressive scale 19-28%; for resident companies, exemption or 25% corporate tax; for non-residents, general 19% or CDI rate. It does not mention rate limits or authorization needs, but it provides essential behavior for a calculation tool.

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?

The description is concise and front-loaded: a single sentence stating the purpose followed by three bullet-like sentences for each recipient type. No wasted words.

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?

Given the complexity (7 parameters, no output schema), the description is mostly complete for selection and invocation. It explains legal basis and conditions. However, it does not explicitly describe the return value (e.g., what is calculated: retention amount, effective rate), which would be helpful. But the tool name strongly implies the output.

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?

All 7 parameters have schema descriptions (100% coverage), baseline 3. The description adds value by explaining the context and conditions for parameters like 'mesesTenencia' and 'porcentajeParticipacion' in relation to the exemption rules.

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 clearly states it calculates retention and IRPF/IS for dividends based on recipient type. It distinguishes from siblings by specifying the context (dividendos) and the different treatments for each type of recipient.

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?

The description provides clear context and conditions for each recipient type (e.g., 'exención art. 21 si participación ≥5% y tenencia ≥12 meses'). It does not explicitly say when not to use or mention alternatives, but given the specialized nature, it is sufficient.

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

calcular_retencion_profesionalAInspect

Calcula la retención de IRPF en facturas de autónomos profesionales: 15% tipo general o 7% tipo reducido para los primeros 3 años de actividad (RIRPF art. 95). Devuelve el desglose de la factura con base, IVA, retención y total a cobrar.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoIVANoTipo de IVA aplicable (%). Por defecto 21%.
anioActualNoAño actual del ejercicio (necesario si se indica anioInicioActividad)
tipoActividadYesTipo de actividad: profesional_liberal (abogados, médicos, arquitectos...), artistica_deportiva, conferenciante_autor, o empresarial (sin retención)
anioInicioActividadNoAño de inicio de la actividad (alternativa a primerosAniosActividad)
baseImponibleFacturaYesBase imponible de la factura en € (sin IVA)
primerosAniosActividadNo¿Está en los primeros 3 años desde el inicio de la actividad? Si es true, aplica tipo reducido del 7%.
Behavior4/5

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

No annotations are provided, so the description bears full responsibility. It discloses the calculation logic (rates, application of reduced type) and the return breakdown (base, IVA, retention, total). No contradictions, and it provides sufficient behavioral context for a calculator tool.

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?

The description is a single sentence that effectively conveys purpose, rates, conditions, and output. Every part is meaningful and there is no redundancy or unnecessary detail.

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?

Given 6 parameters (2 required) and no output schema, the description covers the essential logic, rates, and return structure. It omits error handling or edge cases, but for a straightforward calculator, it is fairly complete.

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 parameters. The description adds context about rates and legal reference but does not elaborate on individual parameter meanings beyond what the schema provides. 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?

The description clearly states it calculates IRPF retention for professional self-employed invoices, specifying the two rates (15% and 7%) and the context (first 3 years of activity). The verb 'calcula' and resource 'retención de IRPF en facturas de autónomos profesionales' are specific and distinguish it from siblings like calcular_retencion_alquiler.

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?

The description indicates when to use the reduced type (first 3 years of activity) and mentions the legal article. While it doesn't explicitly state when not to use or name alternatives, the context implies it is for professional activities, and the high number of sibling tools suggests specific domains are covered.

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

calcular_retribucion_especieBInspect

Calcula la valoración IRPF de las retribuciones en especie más habituales (LIRPF arts. 42-43): uso de vivienda empresa (10%/5% catastral), vehículo de empresa (20% coste, -30% si eléctrico), préstamo a tipo reducido (diferencia con tipo legal 3,25%), seguros de vida/enfermedad, educación hijos, otros bienes/servicios. Calcula ingreso a cuenta.

ParametersJSON Schema
NameRequiredDescriptionDefault
edadHijoNoEdad del hijo en años — si <3 años la guardería está exenta
descripcionNoDescripción de la retribución
valorMercadoNoValor de mercado del bien o servicio (EUR) — solo para tipo otro
capitalPrestamoNoCapital del préstamo (EUR) — solo prestamo_tipo_reducido
tipoRetribucionYesTipo de retribución en especie
primaAnualSeguroNoPrima anual del seguro pagada por la empresa (EUR) — solo seguro
costeAnualEducacionNoCoste anual de educación/guardería (EUR) — solo educacion_hijos
esVehiculoElectricoNo¿Es vehículo eléctrico? (reducción 30% en valoración)
tipoInteresPrestamoNoTipo de interés aplicado al trabajador (%) — solo prestamo_tipo_reducido. Tipo legal 2025: 3,25%
precioPagadoTrabajadorNoPrecio pagado por el trabajador (EUR) — si paga algo
valorCatastralViviendaNoValor catastral de la vivienda (EUR) — solo para uso_vivienda
tipoRetencionTrabajadorNoTipo de retención IRPF del trabajador (%) — para calcular el ingreso a cuenta. Default: 15%
catastroRevisadoRecienteNo¿El catastro fue revisado en los últimos 10 años? (tipo 5% vs 10%) — solo uso_vivienda
costeAdquisicionVehiculoNoCoste de adquisición del vehículo con IVA (EUR) — solo uso_vehiculo
pctUsoParticularVehiculoNoPorcentaje de uso particular del vehículo (%) — si uso mixto trabajo+particular
Behavior3/5

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

No annotations exist, so description carries burden. It reveals calculation rules and legal basis but does not mention side effects, input validation, or whether the tool is read-only.

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?

Description is a single dense paragraph that front-loads purpose. It is reasonably concise but could benefit from bullet points for readability.

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

Completeness3/5

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

The description provides legal context and calculation rules, but lacks output specification. With 15 parameters and no output schema, the missing return information is a notable 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 coverage is 100%, so baseline is 3. The description adds context by explaining formulas (e.g., 10%/5% for housing), but does not systematically explain each parameter.

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 clearly states it calculates the IRPF valuation of common in-kind benefits, listing specific types. However, it does not differentiate from potentially overlapping sibling tools like 'calcular_vehiculo_empresa_fiscal'.

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?

No guidance on when to use this tool versus alternatives. It does not specify prerequisites or when not to use it.

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

calcular_roi_marketingAInspect

Calcula el ROI (Retorno sobre la Inversión) por canal de marketing: Google Ads, Facebook, email marketing, SEO, influencers, etc. Para cada canal devuelve beneficio, ROI%, CAC (coste de adquisición de cliente), ROAS (multiplicador de retorno) y una recomendación de acción. También compara los canales y determina cuál es el más rentable.

ParametersJSON Schema
NameRequiredDescriptionDefault
canalesYesLista de canales con su inversión y resultados
valorVidaClienteNoValor de vida del cliente (CLV) en euros. Si se proporciona, calcula el ratio CLV/CAC para evaluar si el coste de adquisición es sostenible.
Behavior4/5

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

With no annotations, the description explicitly states what the tool returns (benefit, ROI%, CAC, ROAS, recommendation, and comparison), implying it is a non-destructive calculation. It does not disclose any side effects or authentication needs, but for a computation tool this is sufficient.

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: the first states the purpose with examples, the second enumerates outputs and comparison. No redundant information, and the key points are front-loaded.

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?

Given the lack of output schema and annotations, the description covers the main functionality and outputs well. However, it does not mention the optional parameter 'valorVidaCliente', which is documented only in the schema, creating a slight gap in completeness.

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?

The input schema has 100% coverage, so the baseline is 3. The description adds context about outputs but does not enhance understanding of the parameters beyond what the schema provides. The optional 'valorVidaCliente' parameter is not mentioned in the description.

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 uses a specific verb ('Calcula') and resource ('ROI por canal de marketing'), lists example channels, and clearly distinguishes from sibling tools like 'calcular_break_even' or 'calcular_rentabilidad_alquiler' by focusing on marketing ROI.

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 indicates it is used for marketing channel analysis but does not provide guidance on when to use this tool versus alternatives, nor does it mention when not to use it.

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

calcular_sancion_tributariaAInspect

Calcula la sanción tributaria aplicable según la LGT: infracciones leves (50%), graves (50-100%) y muy graves (100-150%). Aplica reducciones por conformidad (30%) y pronto pago (25%), acumulables.

ParametersJSON Schema
NameRequiredDescriptionDefault
prontoPagoNo¿Paga en período voluntario sin aplazamiento? Reduce la sanción un 25% adicional.
conformidadNo¿El infractor presta conformidad con la liquidación? Reduce la sanción un 30%.
hayReiteracionNo¿Hay reiteración? (sanción firme anterior en los 4 años previos). Añade +25% a la sanción.
huboOcultacionNo¿Hubo ocultación de datos a la Administración? Agrava la calificación de leve a grave.
tipoInfraccionYesTipo de infracción tributaria
cuotaDefraudadaYesCuota defraudada o dejada de ingresar (€) — base de cálculo de la sanción
gradoInfraccionYesGrado de infracción (determinado por la Inspección)
pctPerjuicioEconomicoNoPorcentaje del perjuicio económico (cuota defraudada / base imponible × 100). Para graduar infracciones graves.
Behavior4/5

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

No annotations are provided, so the description carries full burden. It transparently describes the calculation logic: base percentages per severity and two reductions (conformidad 30%, pronto pago 25%) that are accumulable. However, it does not detail what happens with edge cases (e.g., if both reductions apply) or how the input parameters like hayReiteracion affect the calculation beyond the schema descriptions.

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?

The description is two sentences, efficiently summarizing the core functionality without unnecessary words. It front-loads the main purpose and immediately provides key percentage values, making it scannable.

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?

Given the tool has 8 parameters but no output schema, the description covers the essential calculation logic and reductions. It mentions that reductions are accumulable, which is important. However, it could be more complete by explaining the impact of hayReiteracion (adds 25%) and huboOcultacion (upgrades leve to grave) more explicitly, though these are detailed in the 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?

Schema coverage is 100%, so baseline is 3. The description adds value by explaining the overall framework (severity percentages, reductions) which helps the agent understand how parameters like tipoInfraccion and gradoInfraccion relate. It also states that cuotaDefraudada is the base calculation amount. This context goes beyond the schema's individual parameter descriptions.

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 clearly states the tool calculates tax penalties under LGT, with specific percentages for each severity level (leve: 50%, grave: 50-100%, muy grave: 100-150%). It also mentions reductions and that they are accumulable. This specificity distinguishes it from sibling tools like calcular_irpf or calcular_sancion (not present) but clearly sets it apart as a penalty calculator.

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 implies use when calculating tax penalties but does not provide explicit guidance on when to use this tool versus alternatives (e.g., other tax calculation tools). There is no mention of prerequisites, conditions, or exclusions. For a tool in a domain with many calculators, more explicit usage context would be helpful.

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

calcular_seguro_vidaAInspect

Calcula el capital de seguro de vida necesario para proteger adecuadamente a la familia. Determina tres niveles: capital mínimo (solo deudas + emergencias), capital recomendado (sustitución de ingresos + deudas + educación de hijos + funerario + colchón) y capital óptimo (+20% por inflación). Evalúa si el seguro actual es suficiente y el gap a cubrir.

ParametersJSON Schema
NameRequiredDescriptionDefault
edadYesEdad actual del asegurado en años
numHijosNoNúmero de hijos a cargo. Por defecto 0.
otrasDeudasNoOtras deudas: préstamos personales, coches, etc. en euros. Por defecto 0.
ingresoAnualYesIngreso anual bruto del asegurado en euros
edadHijoMenorNoEdad del hijo más joven (para calcular años de educación hasta los 23). Por defecto 0.
edadJubilacionNoEdad de jubilación objetivo. Por defecto 67 años.
ingresoConyugeNoIngreso anual del cónyuge/pareja en euros. Por defecto 0.
ahorrosActualesNoAhorros e inversiones actuales del hogar en euros (reducen el capital necesario). Por defecto 0.
seguroVidaActualNoCapital de seguros de vida existentes en euros. Por defecto 0.
hipotecaPendienteNoCapital pendiente de la hipoteca en euros. Por defecto 0.
Behavior3/5

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

No annotations are provided, so the description must disclose behavior. It explains the three-level calculation and evaluation of current insurance, but does not detail specific parameter interactions, side effects, or limitations. For a read-only calculator, this is adequate but not rich.

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 sentences front-load the main purpose, then detail the three levels and evaluation. No redundant words or filler. Highly efficient for its content.

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?

Given 10 parameters and no output schema, the description explains the three-level capital calculation and gap evaluation, which is sufficient for an agent to understand the high-level output. However, it does not specify the return format (e.g., numeric values, structured breakdown) which would enhance completeness.

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%, so baseline is 3. The description adds context on how outputs are derived (levels and components) but does not enhance understanding of individual parameters beyond the schema descriptions. It lists components like debts, children's education, etc., but does not map them to specific schema properties.

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 clearly states it calculates the necessary life insurance capital for family protection, specifying three distinct levels (minimum, recommended, optimal) and evaluation of current insurance. This unique focus on life insurance distinguishes it from sibling tools like retirement gap or general financial calculators.

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 implies use for life insurance needs but lacks explicit guidance on when to use vs alternatives, such as comparing to retirement tools or other insurance calculators. No 'when not to use' or context for excluding other tools.

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

calcular_stock_optionsAInspect

Calcula el impacto fiscal en IRPF de las retribuciones en acciones: Stock Options y RSUs. Stock Options: la diferencia (valor mercado - precio ejercicio) tributa como rendimiento del trabajo en el ejercicio. RSUs: el valor íntegro en el vesting tributa como rendimiento del trabajo. Aplica la exención de 12.000 €/año del art. 42.3 LIRPF y la reducción del 30% por rendimientos irregulares (art. 18.2). La venta posterior tributa como ganancia patrimonial en la tarifa del ahorro. Encadenable con: calcular_irpf, calcular_devolucion_irpf, calcular_plusvalias_irpf.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoYesTipo de retribución: stock_options u rsus
valorVentaNoValor de venta de la acción (€) para calcular la plusvalía posterior. Por defecto 0 (sin venta).
numAccionesYesNúmero de acciones u opciones ejercidas o consolidadas
precioEjercicioNoPrecio de ejercicio (strike price) para stock options (€). Para RSUs usar 0 o no indicar. Por defecto 0.
cumpleExencionArt42No¿Cumple los requisitos de la exención art. 42.3 LIRPF? (oferta general a todos los empleados, mantener ≥3 años, no >10% del capital). Por defecto false.
rendimientosTrabajoYesRendimientos del trabajo anuales del contribuyente aparte de las acciones (€)
masDeUnAnoHastaVentaNo¿Han transcurrido más de 1 año entre el ejercicio/vesting y la venta? Por defecto true.
valorMercadoEjercicioYesValor de mercado de la acción en el momento de ejercicio/vesting (€)
periodoGeneracionMayor2AniosNo¿El período de generación de las opciones supera 2 años y no son rendimientos recurrentes? (reducción 30%). Por defecto false.
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It explains tax calculation behavior (how returns are treated, exemptions, reductions) but does not disclose whether the tool has side effects, requires permissions, or is safe to re-run. As a calculator, side effects are minimal, but the lack of any behavioral disclaimer (e.g., read-only, no state changes) leaves some uncertainty.

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

Conciseness4/5

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

The description is relatively long but well-structured with clear bullet points and separation between Stock Options and RSUs. It front-loads the primary purpose. Minor redundancy could be trimmed, but it effectively communicates complex tax rules without excessive verbosity.

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

Completeness3/5

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

Given the tool's complexity (9 parameters, no output schema), the description explains the tax calculation logic well but does not specify the output format or return value. It mentions chaining with other tools but not how to interpret results. This gap reduces completeness for an agent to use the tool correctly.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by explaining tax law context for parameters (e.g., the 30% reduction for irregular income ties to periodoGeneracionMayor2Anios, the exemption requires cumpleExencionArt42). This provides meaning beyond the schema's basic descriptions.

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 clearly and specifically states the tool calculates the fiscal impact (IRPF) of stock options and RSUs, including detailed tax treatment. It distinguishes itself from numerous sibling calculators by focusing on this specific equity compensation, with precise legal references.

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?

The description mentions it is 'encadenable' with other IRPF tools like calcular_irpf, implying complementary use. However, it does not explicitly state when to use this tool versus alternatives or provide exclusions. The context is clear but lacks direct usage boundaries.

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

calcular_subida_salarialAInspect

Calcula el impacto real en el salario neto de una subida salarial bruta, teniendo en cuenta la progresividad del IRPF y las cotizaciones a la Seguridad Social. Devuelve cuánto sube el neto, qué porcentaje de la subida bruta llega al bolsillo y cuánto se queda en IRPF y SS. Encadenable con calcular_sueldo_neto, calcular_irpf. Ideal para: "Me suben el sueldo 3.000€ brutos, ¿cuánto me sube el neto?"

ParametersJSON Schema
NameRequiredDescriptionDefault
pagasNoNúmero de pagas al año (12 o 14). Por defecto 14.
subirBrutoNoIncremento del salario bruto en euros. Indica este o salarioBrutoNuevo.
salarioBrutoNuevoNoSalario bruto anual nuevo en euros. Indica este o subirBruto.
salarioBrutoActualYesSalario bruto anual actual en euros.
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It transparently describes the computation and outputs, but does not mention any side effects, prerequisites, or error conditions. Given its read-only nature, it is adequately transparent.

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?

The description is two sentences long, front-loaded with the core purpose, and includes outputs, chainability, and an example. Every sentence is informative without unnecessary detail.

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?

There is no output schema, but the description mentions the return values. The tool is moderately complex, but the description covers the key aspects. It does not discuss assumptions or edge cases, but is sufficient for an AI agent to understand its use.

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?

The input schema has 100% coverage with descriptions for all parameters. The description adds minimal extra meaning beyond the schema, such as the relationship between 'subirBruto' and 'salarioBrutoNuevo'. 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?

The description clearly states it calculates the net salary impact of a gross increase, considering IRPF and Social Security, and specifies the outputs. It also mentions chainability with related tools, distinguishing it from sibling calculators.

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?

The description provides an ideal use case example and mentions chainability with related tools, giving clear context. However, it does not explicitly exclude scenarios where it should not be used.

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

calcular_sucesionesAInspect

Calcula el Impuesto de Sucesiones (ISD) en España con precisión normativa 2025. Aplica la tarifa estatal (7 tramos), la tarifa propia de Cataluña, reducciones por parentesco, edad (menores de 21), discapacidad, vivienda habitual y seguro de vida, coeficientes multiplicadores por patrimonio preexistente, y bonificaciones autonómicas de las 17 CCAA incluyendo escalados y límites por cuantía. ⚠️ Estimación orientativa del impuesto del heredero individual — no incluye reparto de la masa hereditaria.

ParametersJSON Schema
NameRequiredDescriptionDefault
ccaaYesComunidad autónoma del causante (el fallecido). Mismas claves que en donaciones.
grupoYesGrupo de parentesco del heredero respecto al causante: I-conyuge = cónyuge o pareja de hecho, I-descendiente = hijo/nieto menor de 21 años, II = hijo/nieto mayor de 21 años u otro descendiente, II-ascendiente = padre, madre, abuelo, III = colateral 2º y 3er grado (hermano, tío, sobrino), IV = colateral 4º grado o extraños
seguroVidaNoImporte del seguro de vida recibido. Para cónyuge/ascendientes/descendientes: reducción del 100% con tope de 9.195,49 €.
discapacidadNoGrado de discapacidad del heredero: "0" = sin discapacidad, "33" = grado 33%–64%, "65" = grado ≥65%. Por defecto "0".
edadHerederoNoEdad del heredero en años. Si es menor de 21 y Grupo I/II, se aplica reducción adicional por edad.
incluyeAjuarNoSi la base imponible incluye ya el ajuar doméstico o si hay que sumarlo (3% de la masa hereditaria). Por defecto false.
baseImponibleYesValor neto de la herencia recibida por este heredero en euros (parte alícuota del activo neto)
patrimonioIdxNoÍndice patrimonio preexistente: 1 (hasta 402.678 €), 2 (hasta 2.007.380 €), 3 (hasta 4.020.770 €), 4 (más de 4.020.770 €). Por defecto 1.
viviendaHabitualNoValor de la vivienda habitual del causante incluida en la herencia. Se aplica reducción del 95% con tope de 122.606,47 €.
Behavior3/5

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

No annotations are provided, so the description must cover behavioral traits. It discloses the tool is an estimation and does not include estate distribution, but it does not explicitly state whether the tool is read-only or if it modifies data. Given the context, it is likely a safe calculation, but the description could be more explicit about side effects.

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

Conciseness4/5

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

The description is a single paragraph, concise and front-loaded with the main purpose. It wastes no words but includes a fair amount of detail. It could be slightly more structured, but overall it is efficient.

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

Completeness3/5

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

With 9 parameters, 100% schema coverage, and no output schema, the description should compensate by explaining the return format. It does not describe what the tool returns (e.g., a numerical value or object), though it warns about estimation. The description covers many aspects of the calculation but lacks output details.

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%, so the baseline is 3. The description summarizes the tool's application of various rules but does not add significant meaning beyond what the parameter descriptions already provide. It mentions reductions and coefficients but without specific details for each parameter.

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 clearly states the tool calculates inheritance tax in Spain with 2025 regulations, listing specific components like state and Catalonia tariffs, reductions, coefficients, and regional bonuses. It distinguishes from siblings by specifying it's for an individual heir and does not include estate distribution, which sets it apart from similar tools.

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 provides a warning that the result is an estimate for an individual heir and does not include estate distribution, implying when to use. However, it does not explicitly state when not to use or mention alternatives among the many sibling tax calculators, such as 'calcular_herencia_conjunta' or 'calcular_donaciones'.

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

calcular_sueldo_netoBInspect

Estima el sueldo neto mensual/anual a partir del salario bruto anual. Calcula: cotización SS empleado (contingencias + desempleo + FP + MEI), reducción por rendimientos del trabajo (hasta 6.498 €/año), mínimo personal y familiar (hijos, situación), cuota IRPF estimada y tipo de retención. ⚠️ Estimación orientativa con tipo estatal + autonómico medio. El tipo real depende de la CCAA del contribuyente y de otras deducciones específicas.

ParametersJSON Schema
NameRequiredDescriptionDefault
pagasNoNúmero de pagas al año: 12 o 14. Por defecto 14.
numHijosNoNúmero total de hijos a cargo. Por defecto 0.
situacionNoSituación familiar. Por defecto "soltero".
brutoAnualYesSalario bruto anual en euros
hijosMenores3NoNúmero de hijos menores de 3 años (añade 2.800 €/hijo al mínimo familiar). Por defecto 0.
Behavior4/5

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

No annotations provided, so the description carries full burden. It discloses the estimation is orientative, uses average state and autonomous community rates, and warns that actual retention depends on the user's autonomous community. This is good transparency for a calculator, though it does not explicitly state it is read-only.

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

Conciseness4/5

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

The description is a single paragraph of 3-4 sentences, front-loaded with the main purpose. It is concise and easy to parse, with no unnecessary words.

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

Completeness3/5

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

Given there is no output schema, the description should detail what the tool returns. It mentions net salary monthly/annual and estimated IRPF, but does not describe the output format or whether it returns both monthly and annual values. For a moderate-complexity calculator, it is adequate but not fully complete.

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%, so the description adds no extra parameter details beyond what the schema already provides. It does provide context on how parameters feed into calculations (e.g., reduction for work income based on brutoAnual), but this is marginally beyond the schema.

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 clearly states the tool estimates net monthly/annual salary from gross annual salary and lists the components it calculates (SS contributions, IRPF, etc.). It is specific enough to distinguish it from siblings like 'calcular_irpf' or 'calcular_coste_empleado', but does not explicitly differentiate.

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?

No explicit guidance on when to use this tool versus alternatives (e.g., 'calcular_irpf' or 'calcular_coste_empleado'). The context is implied by the tool's purpose, but no when-not-to-use or alternative suggestions are provided.

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

calcular_sustitucion_gelatinaAInspect

Convierte entre tipos de gelatina según el bloom strength: hojas de bronce (120), plata (160), oro (200, estándar europeo), platino (250), gelatina en polvo 200/250 bloom y agar-agar. Devuelve la tabla completa de equivalencias en gramos y hojas.

ParametersJSON Schema
NameRequiredDescriptionDefault
unidadNoUnidad de medida. hojas solo aplica para tipos hoja_*. Por defecto gramos.
cantidadYesCantidad a convertir (en gramos u hojas según la unidad).
tipo_origenYesTipo de gelatina que tienes o que indica la receta. hoja_oro es la más común en supermercados.
Behavior4/5

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

With no annotations, the description carries full burden. It explicitly states the tool returns a complete equivalence table in grams and leaves, which implies a read-only calculation. No contradictions or omissions are present.

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?

The description is exceptionally concise, using two sentences with zero wasted words. It front-loads the purpose and efficiently lists types and output.

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 conversion tool, the description covers purpose, input types, and output. It does not discuss edge cases (e.g., unit mismatch), but the schema already addresses that. It is complete enough given the tool's simplicity.

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%, but the description adds value by listing bloom strengths (e.g., 'oro (200, estándar europeo)') and noting that 'hoja_oro' is common in supermarkets. This provides context beyond the schema's enum descriptions.

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 clearly states the tool converts between gelatin types by bloom strength, listing specific types with their bloom values. It distinguishes itself from sibling tools like 'calcular_sustitucion_masa_madre' by focusing on gelatin.

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 provides no explicit guidance on when to use this tool versus alternatives. It does not mention contexts like recipe conversion or exclude non-gelatin substitutes, leaving the agent to infer usage.

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

calcular_sustitucion_masa_madreAInspect

Calcula cuánta masa madre activa usar para sustituir levadura fresca, seca o instantánea. Incluye el ajuste de harina y agua que hay que restar de la receta para compensar lo que aporta la masa madre.

ParametersJSON Schema
NameRequiredDescriptionDefault
levadura_gYesGramos de levadura que pide la receta.
tipo_levaduraNoTipo de levadura de la receta original. Por defecto seca.
hidratacion_mm_pctNoHidratación de tu masa madre en % (agua/harina × 100). Por defecto 100 (igual de harina que agua).
Behavior3/5

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

No annotations; description adds that it includes flour/water adjustment. However, it lacks disclosure of assumptions (e.g., default hydration) or limitations, beyond what the schema provides.

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, front-loaded, no unnecessary words. Efficient and clear.

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?

Input schema is well-covered; description clarifies purpose and adjustments. No output schema but tool is moderately complex; description is sufficient for typical usage.

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%, so description adds limited value. It mentions adjustment for flour/water, but param details are in schema.

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 clearly states it calculates sourdough starter substitution for various yeasts, including adjustments to flour and water. It is specific and distinctive among siblings.

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 implies usage for substituting yeast with sourdough but does not provide explicit when-not-to-use or alternatives. No guidance on excluding other baking tools.

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

calcular_swolf_natacionAInspect

Calcula el índice SWOLF (segundos + brazadas por largo) como medida de eficiencia en natación. Clasifica el nivel del nadador y proporciona consejo de mejora técnica. Compatible con piscinas de 25m y 50m.

ParametersJSON Schema
NameRequiredDescriptionDefault
metros_largoNoLongitud del largo en metros: 25 (defecto) o 50
brazadas_largoYesNúmero de brazadas por largo
tiempo_s_largoYesTiempo por largo en segundos (ej. 20 para nadar 25m en 20 segundos)
Behavior3/5

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

No annotations provided, so the description carries full burden. It states the tool calculates, classifies, and advises, implying a read-only, stateless operation. However, it does not explicitly address permissions, side effects, or limitations beyond its simple computational nature.

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 clear, well-structured sentences without any fluff. Every sentence provides essential information: purpose, output classification/advice, and compatibility.

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?

No output schema is provided, so the description must convey return behavior. It mentions classification and advice, but the exact output format is missing. Given the simplicity of the tool, this is a minor gap; otherwise, it covers the main functionality well.

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?

Input schema has 100% description coverage for its 3 parameters, so the baseline is 3. The description adds context (e.g., pool length compatibility) but does not significantly enhance parameter understanding beyond the schema's existing descriptions.

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?

Description clearly states the tool calculates SWOLF index as an efficiency measure in swimming, classifies level, and provides improvement advice. Specific verb 'Calcula' with resource 'índice SWOLF', and it is distinct from the many financial sibling tools.

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?

No explicit when to use or when not to use. It mentions compatibility with 25m and 50m pools, but lacks guidance on alternatives or prerequisites. The context implies use for swimming efficiency, but does not exclude inappropriate uses.

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

calcular_tarifa_freelanceAInspect

Calcula la tarifa ideal (€/hora, €/día, €/semana) para un freelance o autónomo en España. Parte del ingreso neto deseado, suma los gastos deducibles, aplica IRPF, IVA y margen de beneficio, y ajusta por los días realmente facturables (descontando fines de semana, vacaciones, festivos y porcentaje de ocupación). Devuelve tarifas con y sin IVA y proyección anual.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoIVANoTipo de IVA que aplicas en tus facturas (%). Por defecto 21%. Algunos servicios exentos = 0.
tipoIRPFNoTipo de IRPF estimado en %. Por defecto 21% (retención autónomo estándar).
diasFestivosNoDías festivos al año. Por defecto 14.
diasEnfermedadNoDías de baja o enfermedad previstos al año. Por defecto 5.
diasVacacionesNoDías de vacaciones al año. Por defecto 22 (convenio estándar).
horasSemanalesNoHoras de trabajo por semana. Por defecto 40.
margenBeneficioNoMargen de beneficio adicional sobre costes en %. Por defecto 15%.
ingresoNetoMensualYesIngreso neto mensual deseado en euros (lo que quieres llevarte a casa)
porcentajeOcupacionNoPorcentaje de días laborables que realmente se facturan (el resto es captación, admin, formación). Por defecto 70%.
totalGastosMensualesNoTotal de gastos mensuales deducibles en euros (cuota autónomo, seguros, software, oficina, gestoría...). Si los conoces, úsalo directamente.
Behavior4/5

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

The description details the calculation steps (net income, expenses, IRPF, IVA, margin, occupancy) and specifies the outputs (rates with/without IVA and annual projection). Since no annotations are provided, the description carries the full burden and does well, though it could mention that it's a read-only computation.

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

Conciseness4/5

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

The description is a single paragraph that covers all necessary aspects without redundancy. It is packed with information but could be slightly more structured. Still, it 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?

For a calculator with 10 parameters and no output schema, the description provides a complete overview of inputs and outputs, and explains the calculation logic. It suffices for the tool's complexity.

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?

All 10 parameters have descriptions in the schema (100% coverage). The description adds context about the formula but does not significantly enhance individual parameter understanding beyond the schema descriptions. 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?

The description clearly states the verb 'Calcula' (calculates), the resource 'tarifa ideal para freelance o autónomo', and the scope 'en España'. It distinguishes from sibling tools by focusing on freelance pricing, unlike other tools covering specific financial calculations.

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 implies usage when setting freelance rates, but it does not explicitly specify when to use this tool versus alternatives or provide any exclusions. The context is clear, but no guidance on when not to use is given.

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

calcular_temperatura_masaAInspect

Calcula la temperatura exacta del agua de amasado para alcanzar la DDT (Desired Dough Temperature). Usa la fórmula T_agua = DDT×3 − T_ambiente − T_harina − T_fricción, con variante de 4 factores si hay preferment.

ParametersJSON Schema
NameRequiredDescriptionDefault
t_harina_cNoTemperatura de la harina en °C. Si no se indica, se asume igual a la temperatura ambiente.
t_ambiente_cYesTemperatura ambiente de la cocina en °C.
ddt_objetivo_cNoTemperatura final deseada de la masa en °C. Típico: 23-25°C para masa madre, 26-28°C para levadura comercial. Por defecto 24°C.
t_preferment_cNoTemperatura del preferment (poolish, levain, biga) si la receta lo usa. Activa la fórmula de 4 factores.
tipo_amasadoraNoTipo de amasado (cada uno genera distinta fricción). Por defecto manual.
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the formula and its variant but does not mention error handling, input validation, or output format, leaving behavioral gaps.

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?

The description is two sentences, front-loading the purpose and formula. Every word adds value; no redundancy.

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

Completeness3/5

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

No output schema exists, and the description omits what the tool returns (likely a single temperature value). Given 5 parameters and an enum, a brief note on output would improve completeness.

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 each parameter well-documented in the schema. The tool description adds context about the formula but does not significantly enhance parameter meaning beyond the schema.

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 clearly states the tool calculates water temperature for achieving desired dough temperature, using a specific formula. It distinctly differentiates from sibling tools like calcular_hidratacion_pan by focusing on temperature.

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?

The description explains when to use the tool (for dough temperature calculation) and mentions formula variations for preferment. However, it lacks explicit guidance on when not to use or alternatives, though sibling context makes it clear.

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

calcular_tir_vanAInspect

Calcula el VAN (Valor Actual Neto) y la TIR (Tasa Interna de Retorno) de una inversión. Útil para analizar si un proyecto es rentable: un VAN positivo indica que la inversión crea valor; la TIR es la rentabilidad real anualizada del proyecto. También calcula el período de recuperación (payback) descontado.

ParametersJSON Schema
NameRequiredDescriptionDefault
flujosCajaYesFlujos de caja anuales en euros, del año 1 en adelante. Pueden ser positivos (ingresos) o negativos (pérdidas). Ejemplo: [10000, 15000, 20000] para 3 años.
tasaDescuentoYesTasa de descuento anual en % (coste del capital o rentabilidad mínima exigida). Habitual: 8-12% para proyectos empresariales.
inversionInicialYesInversión inicial en euros (valor positivo, representa la salida de caja en el año 0)
Behavior4/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It describes the key outputs (VAN, TIR, payback) and their interpretation. It also implies no destructive side effects. Adding details on return format or constraints would improve, but it's adequate.

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?

The description is concise (3 sentences), front-loaded with the main purpose, and efficiently adds context and interpretation. No wasted words.

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

Completeness3/5

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

Given no output schema, the description explains the concepts but does not specify the return format (e.g., object with fields). For a financial calculator tool, the agent might need to know which values are returned. The description is partially complete.

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% with descriptions for all 3 parameters. The description does not add additional meaning beyond naming the computed values. Baseline score of 3 is appropriate as the schema already explains parameters well.

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 clearly states it calculates VAN (NPV) and TIR (IRR) of an investment, and also the discounted payback period. The verb 'calcula' and resource 'inversión' are specific. Among many sibling tools focused on financial calculations, this tool has a unique purpose.

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?

The description explains when to use it: to analyze project profitability, and provides context on interpreting results (positive NPV indicates value creation, IRR is annualized return). However, it does not explicitly state when not to use or mention alternatives, but the sibling tools are different enough.

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

calcular_transparencia_fiscal_internacionalAInspect

Calcula la imputación de rentas por Transparencia Fiscal Internacional (TFI — LIS art. 100) a los socios españoles con participación >= 25% en entidades no residentes que tributan a < 18,75% (= 75% del IS del 25%). Solo imputa rentas pasivas: arrendamientos, dividendos, servicios financieros intragrupo, seguros, royalties, derivados, comercio con vinculadas. Aplica deducciones por doble imposición internacional.

ParametersJSON Schema
NameRequiredDescriptionDefault
paisENRNoPaís de residencia de la ENR
nombreENRNoNombre de la entidad no residente (ENR)
ingresosTodesENRYesTotal ingresos de la ENR en el ejercicio (EUR equiv.)
rentasImputablesYesRentas pasivas imputables de la ENR (art. 100.2 LIS)
tipoNominalPaisENRYesTipo nominal del impuesto sobre beneficios en el país de la ENR (%)
enUEconMotivosValidosNo¿La ENR está en la UE/EEE con motivos económicos válidos?
porcentajeParticipacionYesPorcentaje de participación directa + indirecta en la ENR (%)
impuestoPagadoExtranjeroNoImpuesto efectivamente pagado por la ENR en el extranjero sobre las rentas imputadas (EUR)
tieneSubstanciaEconomicaNo¿La ENR tiene sustancia económica real (medios, empleados propios)?
Behavior4/5

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

The description explains the calculation logic, including imputation of passive rents and application of double taxation deduction. No annotations are provided, so the description carries the full burden. It covers the main behavioral aspects without contradictions.

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

Conciseness4/5

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

The description is a single paragraph with essential details. It is relatively concise given the complexity, though it could be more structured (e.g., bullet points for conditions). No excessive wording.

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?

Given the complexity of TFI and the absence of an output schema, the description adequately covers the rule, thresholds, income types, and deduction. It provides enough context for an agent to understand the tool's purpose and inputs.

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%, so baseline is 3. The description adds context about the overall calculation but does not significantly enhance parameter meaning beyond the schema, except by explaining the 'rentas imputables' types which match the enum.

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 clearly states the verb 'Calcula' and the specific resource 'imputación de rentas por Transparencia Fiscal Internacional', closely tied to a specific legal article (LIS art. 100). It distinguishes from sibling tools by its narrow focus on this specific tax rule.

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?

The description specifies the conditions for use: ≥25% participation in non-resident entities with a tax rate < 18.75%, and lists the types of passive rents. It does not explicitly mention when not to use or alternatives, but the conditions are clearly defined.

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

calcular_valor_presenteAInspect

Calcula el valor presente (valor actual) de: A) Un capital futuro único (¿cuánto vale hoy 100.000€ recibidos en 10 años?), B) Una renta periódica (anualidad ordinaria o anticipada), C) Una perpetuidad (renta infinita). También calcula el valor futuro dado un capital presente. Encadenable con calcular_tir_van, calcular_interes_compuesto, calcular_regla_72. Ideal para: "¿Cuánto vale hoy una renta de 500€/mes durante 20 años al 5%?"

ParametersJSON Schema
NameRequiredDescriptionDefault
modoYes"capital_futuro" = descuenta un capital único. "renta" = valor presente de pagos periódicos. "perpetuidad" = renta infinita.
importeYesPara "capital_futuro": importe del capital futuro. Para "renta" o "perpetuidad": importe del pago periódico. En euros.
periodosNoNúmero de períodos. Para "capital_futuro": años. Para "renta": número de pagos. Obligatorio excepto para "perpetuidad".
tasaAnualYesTasa de descuento o interés anual en porcentaje.
tipoRentaNoPara modo "renta": "ordinaria" = pagos al final del período. "anticipada" = pagos al inicio. Por defecto "ordinaria".
periodicidadNoFrecuencia de los pagos para "renta" o "perpetuidad". Por defecto "anual".
valorPresenteConocidoNoPara calcular el valor futuro: capital presente conocido en euros.
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It only describes the mathematical operations without mentioning any side effects, permissions, rate limits, or error conditions. The description assumes a pure computation with no additional behavioral context.

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

Conciseness4/5

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

The description is well-structured with bullet points (A, B, C) for different calculation modes and a relevant example. It is slightly longer than necessary but each sentence contributes to clarity. Front-loading with the main purpose is effective.

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

Completeness3/5

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

Given 7 parameters and no output schema, the description covers the main use cases but lacks details on return values, error handling, or edge cases (e.g., what happens if invalid modes are selected). It is adequate for basic usage but incomplete for advanced scenarios.

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% with parameter descriptions, but the description adds value by illustrating parameter relationships through examples (e.g., linking 'tasaAnual' to '5%') and clarifying optional/required constraints (e.g., 'periodos' required except for perpetuidad). This enhances understanding beyond the schema 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 clearly identifies the tool's function using specific verbs ('Calcula el valor presente') and enumerates three distinct modes (capital_futuro, renta, perpetuidad) with concrete examples. It also explicitly lists chainable sibling tools, aiding differentiation among many financial calculators.

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?

The description provides clear usage scenarios with example questions (e.g., '¿Cuánto vale hoy una renta de 500€/mes durante 20 años al 5%?') and mentions chainability with related tools. However, it does not explicitly state when NOT to use this tool or suggest alternatives.

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

calcular_vehiculo_empresa_fiscalAInspect

Calcula el tratamiento fiscal completo del vehículo de empresa: IS (deducción 50%/100%), IRPF retribución en especie (20% normal, 15% eléctrico), IVA (50%/100% deducible). Incluye renting, leasing y actividades especiales con deducción completa.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoISNoTipo IS de la empresa (%). Por defecto 25%.
tipoIVANoTipo de IVA soportado (%). Por defecto 21%.
usoVehiculoYesUso del vehículo: mixto (laboral+privado) o exclusivo_actividad (solo trabajo)
tipoVehiculoYesTipo de vehículo
costeAdquisicionYesCoste de adquisición o valor de mercado del vehículo (€)
actividadEspecialNoActividad especial que permite deducción IS e IVA al 100% (LIS art. 15.1.e)
modalidadAdquisicionYesModalidad de adquisición del vehículo
pctUsoPrivadoAcreditadoNoPorcentaje de uso privado real acreditado (%). Por defecto AEAT presume 100% privado si uso mixto.
cuotaMensualRentingLeasingNoCuota mensual de renting o leasing (€, sin IVA) — necesaria si modalidad es renting o leasing
vehiculoEficienteEnergeticamenteNo¿Es vehículo eficiente energéticamente? Aplica reducción del 30% en la retribución en especie IRPF.
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It mentions the specific deduction percentages (50%/100% for IS, 20% normal/15% electric for IRPF) and that it includes renting, leasing, and special activities. However, it does not disclose any assumptions, legal basis, or limitations of the calculation.

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?

The description is concise: three sentences covering the main tax types, percentages, and included modalities (renting, leasing, special activities). No unnecessary words, and key information is front-loaded.

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?

Given the complexity of the tool (10 parameters, no output schema), the description covers the main calculations but does not specify the output format or return values. It mentions the key inputs and their implications, which is adequate for a calculator tool with high schema coverage.

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?

All 10 parameters are fully described in the input schema (100% coverage). The description adds value by providing context for the percentages and highlighting that special activities allow full deduction, which goes beyond the schema's enum descriptions and helps understand parameter usage.

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 clearly states the tool calculates the complete fiscal treatment of company vehicles, covering IS, IRPF, and IVA deductions with specific percentages. It distinguishes itself from sibling tools like 'calcular_leasing' or 'calcular_iva' by being a comprehensive calculator, but could explicitly mention that it replaces the need for multiple individual tools.

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 explains what the tool does but provides no guidance on when to use it versus alternatives. Given the many sibling tools for specific tax calculations (e.g., 'calcular_irpf', 'calcular_leasing'), it would be helpful to state that this tool is for a complete analysis, not for isolated calculations.

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

calcular_venta_inmuebleAInspect

Calcula todos los costes e impuestos del VENDEDOR al vender un inmueble en España. Incluye: Plusvalía Municipal (IIVTNU) por ambos métodos (objetivo y real, el más favorable), IRPF sobre la ganancia patrimonial (tramos base del ahorro 19-30%), comisión inmobiliaria y gestorías. Calcula el neto real que recibe el vendedor y la rentabilidad neta de la inversión. Exenciones: mayores de 65 años con vivienda habitual, y reinversión en vivienda habitual. ⚠️ Esta tool calcula los costes del VENDEDOR. Para costes del COMPRADOR, usar calcular_compraventa_inmueble.

ParametersJSON Schema
NameRequiredDescriptionDefault
precioVentaYesPrecio de venta del inmueble en euros
precioCompraYesPrecio de compra original del inmueble en euros
aniosTenenciaYesAños de tenencia del inmueble (enteros). Se usa para calcular la plusvalía municipal.
gastosGestoriaNoGastos de gestoría, cancelación hipoteca y otros en euros. Por defecto 300€.
vendedorMayor65No¿El vendedor tiene más de 65 años? Si es vivienda habitual, la ganancia está exenta de IRPF. Por defecto false.
esViviendaHabitualNo¿Es la vivienda habitual del vendedor? Relevante para la exención de mayores de 65 años. Por defecto false.
tipoMunicipalIIVTNUNoTipo impositivo que aplica el ayuntamiento a la plusvalía municipal (0-30%). Por defecto 25% orientativo. Consultar con el ayuntamiento el tipo exacto.
valorCatastralSueloNoValor catastral del suelo en euros (aparece en el recibo del IBI, en la sección "Suelo"). Necesario para calcular la plusvalía municipal. Si no se proporciona, la plusvalía no se calculará.
comisionInmobiliariaNoComisión de la agencia inmobiliaria en %. Por defecto 3%.
gastosCompraOriginalNoGastos de compra en su día (ITP/IVA + notaría + registro + gestoría) en euros. Mejoran el valor de adquisición y reducen la ganancia patrimonial. Por defecto 0.
reinvierteTotalEnViviendaNo¿El vendedor va a reinvertir el importe en una nueva vivienda habitual? Exención total o parcial del IRPF (art. 38 LIRPF, plazo de 2 años). Por defecto false.
Behavior4/5

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

With no annotations, the description carries full burden. It discloses the scope (seller's costs, exemptions, defaults) but does not mention if it uses live data or how precision is handled. Still, it provides substantial behavioral context beyond a minimal description.

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?

Five sentences, front-loaded with purpose, then inclusions and usage warning. Uses emoji for visual emphasis and explicit direction to sibling. No unnecessary words.

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?

Covers purpose, inclusions, exemptions, and alternative tool. Missing output schema description, which is notable given no output schema is provided. However, the description still gives enough context for a complex tax calculation tool.

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 covers 100% of parameters, so the description doesn't need to repeat. However, it adds value by explaining the overall calculation context (e.g., why valorCatastralSuelo is needed for plusvalía). This enriches the agent's understanding beyond schema 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 clearly states it calculates seller's costs for a property sale in Spain, listing specific components (Plusvalía Municipal, IRPF, etc.). It distinguishes from the sibling 'calcular_compraventa_inmueble' by emphasizing it is for the seller only.

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 states when to use (for vendor costs) and directly points to the alternative tool for buyer costs: 'Para costes del COMPRADOR, usar calcular_compraventa_inmueble.' Provides clear context and exclusions.

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

calcular_zonas_cardiacasAInspect

Calcula las 5 zonas de frecuencia cardíaca personalizadas con la fórmula de Karvonen. Más precisa que el simple % FCmáx porque tiene en cuenta la FC en reposo. Devuelve los rangos de pulsaciones para cada zona y su beneficio de entrenamiento.

ParametersJSON Schema
NameRequiredDescriptionDefault
edadYesEdad en años
fc_maximaNoFCmáx medida en un test de esfuerzo en ppm. Opcional: si no se indica, se estima con 220−edad
fc_reposoYesFrecuencia cardíaca en reposo en ppm (medida por la mañana antes de levantarse)
Behavior4/5

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

Sin anotaciones, la descripción explica que el cálculo usa la fórmula de Karvonen y que devuelve rangos y beneficios. No hay contradicciones y se entiende el comportamiento básico. Podría detallar más sobre el tratamiento del parámetro opcional, pero es suficiente.

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?

Dos oraciones concisas que cubren el propósito, el método, la ventaja y el resultado. Sin redundancias ni información irrelevante.

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?

Para una herramienta de cálculo sin esquema de salida, la descripción especifica qué devuelve (rangos y beneficios). La cobertura de parámetros es completa y se indica el método, por lo que el agente tiene suficiente información para usar la herramienta.

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?

La cobertura del esquema es del 100%, y la descripción añade contexto al explicar que la fórmula utiliza la FC en reposo y que la FC máxima se estima si no se proporciona. Esto aporta valor más allá de las descripciones del esquema.

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?

La descripción indica claramente que calcula las 5 zonas de frecuencia cardíaca personalizadas usando la fórmula de Karvonen, distinguiéndose de otros métodos y herramientas del servidor al especificar el recurso (zonas cardíacas) y la acción (calcular).

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?

Se menciona que es más precisa que el simple % de FCmáx porque incluye la FC en reposo, lo que sugiere cuándo usarla (cuando se conoce la FC en reposo). No indica explícitamente cuándo no usarla ni ofrece alternativas, pero el contexto es claro.

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

cese_actividad_autonomoAInspect

Calcula la prestación por cese de actividad (paro de autónomos) según la LGSS arts. 327-339. Duración: 2 meses por año cotizado (mínimo 12 meses continuados), máximo 24 meses. Cuantía: 70% de la base reguladora (media últimas 12 bases). Verifica los requisitos de acceso: causa de cese, cotizaciones previas, alta en RETA, no haber cumplido los 67 años. Encadenable con: calcular_cuota_autonomo, calcular_baja_medica, calcular_irpf.

ParametersJSON Schema
NameRequiredDescriptionDefault
edadNoEdad del autónomo al solicitar la prestación. Por defecto 45.
causaCeseNoCausa del cese de actividad. Por defecto economica_tecnica.
mesesCotizadosYesMeses cotizados continuados al RETA inmediatamente antes del cese (para determinar duración de la prestación)
tieneEmpleadosNo¿Tiene trabajadores a cargo? El cese colectivo puede flexibilizar el acceso. Por defecto false.
baseCotizacionMediaYesBase de cotización mensual media de los últimos 12 meses (€) — base reguladora
Behavior4/5

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

No annotations provided, but description discloses calculation details: duration formula (2 months per year, min 12, max 24), amount (70% base), and verification of requirements. As a calculation tool, destructive behavior is irrelevant. Absence of return format details is a minor 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?

Four sentences, each with a clear role: purpose, duration/amount, requirements, chaining. No fluff, front-loaded with the main action.

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

Completeness3/5

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

Adequate for a calculation tool given no output schema, but fails to describe the output format (e.g., JSON structure) or error handling. For a tool with 5 parameters, slightly more detail on return values would improve completeness.

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 baseline 3. Description adds value by explaining that 'mesesCotizados' must be 'continuados' and determines duration, and that 'baseCotizacionMedia' is the 'base reguladora'. Parameter descriptions are enriched beyond schema.

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 'calcula la prestación por cese de actividad' clearly identifies the tool's function. Distinct from sibling tools like 'calcular_cuota_autonomo' by focusing on self-employed cessation benefit and referencing specific legal articles (LGSS arts. 327-339).

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?

Explicitly lists prerequisites (causa de cese, cotizaciones previas, alta en RETA, edad <67). Mentions chaining with three sibling tools, giving context for integration. However, lacks explicit 'when not to use' guidance.

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

comparar_alquiler_compraAInspect

Compara financieramente alquilar vs comprar una vivienda en España a lo largo del tiempo. Calcula el patrimonio acumulado en ambos escenarios teniendo en cuenta: hipoteca (sistema francés), gastos de compra (~10%), IBI, comunidad, seguro, mantenimiento, revalorización de la vivienda y la rentabilidad de invertir la entrada en el escenario alquiler. Determina qué opción genera más patrimonio y el punto de equilibrio.

ParametersJSON Schema
NameRequiredDescriptionDefault
ibiNoIBI anual en euros. Por defecto 400 €.
anosNoHorizonte temporal de comparación en años. Por defecto 15.
entradaYesAhorros aportados como entrada (€). Recomendado ≥ 20% del precio.
seguroAnualNoSeguro de hogar anual en euros. Por defecto 300 €.
tipoInteresYesTipo de interés de la hipoteca en %. Ejemplo: 3.5 para tipo fijo actual.
plazoHipotecaNoPlazo de la hipoteca en años. Por defecto 25.
precioViviendaYesPrecio de la vivienda en euros
alquilerMensualYesAlquiler mensual equivalente en euros
comunidadMensualNoCuota de comunidad mensual en euros. Por defecto 80 €.
mantenimientoPctNoGastos de mantenimiento anuales como % del valor de la vivienda. Por defecto 0.5%.
revalorizacionPctNoRevalorización anual esperada de la vivienda en %. Por defecto 3%.
incrementoAlquilerPctNoIncremento anual del alquiler en %. Por defecto 3%.
rentabilidadInversionPctNoRentabilidad anual de la inversión alternativa (donde invertiría la entrada el inquilino) en %. Por defecto 5%.
Behavior4/5

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

With no annotations provided, the description carries full burden. It discloses key behavioral traits: considers multiple costs, uses French amortization, determines wealth maximization and break-even point. It does not contradict annotations (none present). Could mention it is read-only and has no side effects.

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

Conciseness4/5

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

The description is a single paragraph that is front-loaded with purpose. It is moderately concise but includes necessary detail. Slight room for improvement by removing redundancies.

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

Completeness3/5

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

Given the tool has 13 parameters, no output schema, and no annotations, the description explains the calculation model but does not describe the output format or return values. This gap reduces completeness.

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 each parameter has a detailed description, so baseline is 3. The description adds overall context but does not provide additional meaning for individual parameters beyond what the schema already offers.

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 clearly states the tool compares renting vs buying a home financially in Spain, listing specific factors and outcomes. It uses a specific verb 'comparar' and resource 'alquiler_compra', distinguishing it from sibling calculation tools.

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 implies the tool is for financial comparison of rent vs buy decisions, but does not explicitly state when to use it versus alternatives like 'calcular_hipoteca' or 'calcular_rentabilidad_alquiler'. No exclusion criteria are mentioned.

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

comparar_autonomo_vs_slAInspect

Compara la carga fiscal total de operar como autónomo persona física frente a constituir una Sociedad Limitada (SL). Calcula para el autónomo: RETA por ingresos reales + IRPF. Calcula para la SL: IS (15%/23%/25%) + cotización autónomo societario (514,99€/mes) + IRPF sobre dividendos. Determina qué opción es más eficiente fiscalmente y a partir de qué nivel de beneficio conviene la SL. ⚠️ La SL tiene costes de constitución (~3.000-5.000€), obligaciones contables y de gestión adicionales.

ParametersJSON Schema
NameRequiredDescriptionDefault
tipoISNo"general" (25%, tipo estándar), "micropyme" (23%, si facturación < 1M€), "nueva_creacion" (15%, primeros 2 años con beneficio). Por defecto "general".
beneficioAnualYesBeneficio bruto anual de la actividad en euros (ingresos totales antes de gastos)
gastosDeduciblesNoGastos deducibles anuales en euros (suministros, material, vehículo, etc.). Por defecto 0.
repartirDividendosNo¿La SL va a repartir dividendos al socio? Si es false, el beneficio queda acumulado en la SL. Por defecto true.
Behavior4/5

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

With no annotations provided, the description bears full responsibility for disclosure. It transparently explains the calculations performed (RETA, IRPF, IS, etc.) and includes a warning about SL costs and obligations. It does not disclose whether the tool is read-only, but as a calculation tool this is acceptable.

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

Conciseness4/5

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

The description is concise, with two paragraphs covering functionality and a warning. It is front-loaded with the core purpose. Slight redundancy (e.g., repeating 'SL' multiple times) could be trimmed, but overall efficient.

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

Completeness3/5

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

Given the tool has 4 parameters and no output schema, the description provides key context but lacks details on return values or output structure. It also does not mention assumptions or limitations (beyond the warning). Sufficient for basic use but incomplete.

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% with well-described parameters. The main description adds context (e.g., calculation components) but does not significantly enhance parameter understanding beyond what the schema already provides. 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?

The description clearly states it compares tax burden between self-employed and SL, lists specific calculations for each option, and determines which is more efficient and at what profit level. This distinguishes it from any sibling tool, as no other tool performs this comparison.

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?

The description explains when to use the tool (to compare tax options) and includes a warning about additional costs and obligations of SL. However, it does not explicitly state when not to use it or mention alternative tools, though no direct alternative exists.

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

consultar_etiqueta_dgtAInspect

Calcula la etiqueta medioambiental DGT (CERO, ECO, C, B o Sin etiqueta) de un vehículo según su combustible y año de matriculación. También informa del acceso a las Zonas de Bajas Emisiones (ZBE) de Madrid, Barcelona, Valencia, Sevilla, Zaragoza, Valladolid y Bilbao. Encadenable con recomendar_vehiculo para completar el perfil de un vehículo en consideración.

ParametersJSON Schema
NameRequiredDescriptionDefault
combustibleYeselectrico = BEV | phev = híbrido enchufable | hibrido = híbrido convencional HEV | gnc_glp = gas natural/propano | gasolina | diesel
autonomiaPhevKmNoSolo para PHEV: autonomía eléctrica en km. ≥40km → etiqueta CERO, <40km → ECO. Por defecto: 0
anioMatriculacionYesAño de primera matriculación del vehículo (ej: 2018)
Behavior2/5

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

No annotations provided, so description carries full burden. Describes basic function (calculate label and ZBE info) but does not disclose behavioral traits like idempotency, side effects, or authentication requirements. Lacks specifics on invalid input handling beyond schema constraints.

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, front-loaded with key action, no extraneous information. Efficiently communicates purpose and extra details (ZBE cities, chainability).

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

Completeness3/5

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

No output schema, so description should explain return format. It mentions what is calculated (label and ZBE info) but lacks specifics on output structure (e.g., fields, data types). Adequate for a simple calculation but incomplete for agent to parse response confidently.

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 has 100% coverage with descriptions for all parameters. Description adds no new semantic detail beyond schema (e.g., PHEV autonomy logic already in 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?

Clearly states it calculates the DGT environmental label (CERO, ECO, C, B, or none) based on fuel and year, and reports ZBE access. Distinguishes from sibling tool recomendar_vehiculo by noting chainability.

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?

Describes when to use it (calculate DGT label, check ZBE access). Mentions chainability with recomendar_vehiculo, implying complementary use. Lacks explicit when-not-to-use statements.

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

convertir_edad_mascotaAInspect

Convierte la edad de un perro o gato a años humanos equivalentes y determina su etapa de vida con recomendaciones de cuidado. Para perros usa factores por tamaño (pequeño, mediano, grande, gigante). Para gatos: primer año = 15 años humanos, segundo = 9, resto × 4.

ParametersJSON Schema
NameRequiredDescriptionDefault
edadMascotaYesEdad de la mascota en años. Puede tener decimales (ej: 0.5 = 6 meses, 1.5 = 1 año y medio).
tamanoPerroNoTamaño del perro (solo si tipoMascota="perro"): "pequeno" <10kg, "mediano" 10-25kg, "grande" 25-45kg, "gigante" >45kg. Por defecto "mediano".
tipoMascotaYesTipo de mascota
Behavior4/5

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

Without annotations, the description carries full burden. It discloses formulas and size categories. However, it does not mention the default size for dogs when omitted, nor the output format (human age, life stage, recommendations). Still, it provides substantial behavioral insight.

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, front-loaded with purpose, then key details. No superfluous information. Every sentence serves a clear function.

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

Completeness3/5

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

No output schema is provided, and the description does not describe the return value (human age, life stage, recommendations). It also does not address edge cases or default behavior for missing size for dogs. Given moderate complexity, this is a notable gap.

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 description coverage is 100% with detailed explanations of each parameter, including enums, ranges, and defaults. The description adds context on conversion factors, which complements schema. Baseline is 3, and the extra context raises it to 4.

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 clearly states the tool converts pet age to human equivalent, determines life stage, and provides care recommendations. It distinguishes from sibling tools (mostly financial calculators) by focusing on pet age conversion.

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?

The description explains conversion factors for dogs (by size) and cats (specific formula). It does not explicitly state when to use or not, but the sibling tools are unrelated, making usage implicit. A note about when not to use (e.g., for other pets) could improve it.

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

convertir_unidadesAInspect

Convierte entre unidades de medida en 12 categorías: longitud (m, km, cm, mm, mi, yd, ft, in, nmi, au, ly), masa (kg, g, mg, t, lb, oz, st), temperatura (C, F, K, R), area (m2, km2, cm2, ha, acre, ft2), volumen (l, ml, m3, gal, qt, pt), tiempo (s, min, h, d, semana, mes, ano), velocidad (ms, kmh, mph, kn, mach), datos (b, B, KB, MB, GB, TB, Kb, Mb, Gb), presion (Pa, kPa, bar, atm, psi, mmHg), energia (J, kJ, cal, kcal, Wh, kWh, BTU, eV), fuerza (N, kN, lbf, kgf), potencia (W, kW, MW, hp, cv).

ParametersJSON Schema
NameRequiredDescriptionDefault
valorYesValor numérico a convertir
categoriaYesCategoría de la conversión
unidadOrigenYesUnidad de origen (ver listado en la descripción). Ejemplos: "km", "lb", "C", "ha", "kWh"
unidadDestinoYesUnidad destino. Ejemplos: "mi", "kg", "F", "acre", "BTU"
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It does not mention whether conversions are exact, handle precision, or what happens with unrecognized units or temperature scales. Behavioral traits like read-only or destructive are not addressed.

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

Conciseness4/5

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

The description is a single dense sentence that front-loads the purpose and lists all categories and units. While concise, it could benefit from structuring the unit list into categories to improve readability. Overall, every part earns its place.

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

Completeness2/5

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

No output schema exists, so the description should explain the return format (e.g., converted value, precision). It also lacks guidance on input validation (e.g., case sensitivity of units). Given the complexity (12 categories, many units), the description is incomplete.

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 description coverage is 100%, but the description adds value by listing all supported units per category, which is not present in the schema. The parameter descriptions in schema reference the tool description for unit lists, so the description complements schema effectively.

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 clearly states the tool converts between units of measure across 12 categories, listing all categories and units. It uses a specific verb 'convierte' and distinguishes from sibling tools which are all calculation-related (prefixed 'calcular_').

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 provides no explicit guidance on when to use this tool versus alternatives. However, the purpose is clear from the name and unit list, and sibling tools are all calculations rather than conversions, so usage context is implied but not stated.

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

deduccion_viviendaAInspect

Calcula dos beneficios fiscales relacionados con la vivienda en IRPF:

  1. Deducción por inversión en vivienda habitual (solo contratos pre-01/01/2013): 15% de las cantidades satisfechas, base máxima 9.040 €/año.

  2. Reducción por arrendamiento de vivienda habitual (arrendador): 60% del rendimiento neto (art. 23.2 LIRPF), solo si es vivienda habitual del inquilino. Encadenable con: calcular_hipoteca, calcular_irpf, calcular_devolucion_irpf.

ParametersJSON Schema
NameRequiredDescriptionDefault
modoYesModo de cálculo: deducción por compra pre-2013 o reducción por alquiler de vivienda habitual
seguroHogarNo[inversion_pre2013] Primas de seguro de hogar (€). Por defecto 0.
fechaAdquisicionNo[inversion_pre2013] Fecha de adquisición/firma del contrato (YYYY-MM-DD). Debe ser anterior al 01/01/2013.
seguroVidaHipotecaNo[inversion_pre2013] Primas de seguro de vida vinculado a la hipoteca (€). Por defecto 0.
declaracionConjuntaNo[inversion_pre2013] ¿Declaración conjunta con cónyuge? La base máx. de 9.040€ aplica individualmente. Por defecto false.
otrosGastosViviendaNo[inversion_pre2013] Otras cantidades satisfechas por la vivienda habitual (€). Por defecto 0.
rendimientoNetoAlquilerNo[alquiler_habitual] Rendimiento neto del alquiler (ingresos - gastos deducibles) (€). Puede ser negativo.
cantidadesPagadasHipotecaNo[inversion_pre2013] Cuotas de hipoteca pagadas en el año (capital + intereses) (€)
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It lacks details on error handling, default behaviors for invalid inputs (e.g., fechaAdquisicion after 2013), authorization requirements, or side effects. The calculation rules are given, but the tool's behavior beyond that is opaque.

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

Conciseness4/5

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

The description is concise, using bullet points in text to list the two benefits and their rules. It avoids redundancy and includes a useful note about chaining. A bit more structure (e.g., separate sections) could improve readability, but it is efficient.

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

Completeness2/5

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

Despite the tool's complexity (two modes, 8 parameters, no output schema), the description does not explain the return format, structure of results, or conditional behavior (e.g., what if mode is inversion_pre2013 but fechaAdquisicion is after 2013?). This leaves significant gaps for an agent to invoke 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%, providing detailed descriptions for each parameter. The description adds a high-level mapping of parameters to modes but does not significantly enhance understanding beyond the schema. For example, it reiterates that seguroHogar defaults to 0, which is already in the schema.

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 clearly states it calculates two specific tax benefits (deducción por inversión en vivienda habitual and reducción por arrendamiento) with precise percentages and limits. It distinguishes between pre-2013 and rental modes, making the tool's purpose explicit and differentiating from sibling tools like calcular_compraventa_inmueble or calcular_deduccion_vivienda_ccaa.

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?

The description specifies when to use each mode (inversion_pre2013 vs alquiler_habitual) and lists compatible tools (calcular_hipoteca, etc.) for chaining. However, it does not explicitly state when NOT to use this tool or how it differs from closely related siblings like calcular_reduccion_arrendamiento_irpf or calcular_exencion_reinversion_vivienda.

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

dividendo_empresarialAInspect

Compara las estrategias de remuneración en una SL española: solo dividendo, solo salario o combinación de ambos. Calcula el coste total (IS + IRPF + cuotas SS autónomo societario) para el socio-administrador y determina qué opción maximiza el neto tras impuestos. Usa los tipos del Impuesto sobre Sociedades 2025 (general 25%, PYME 23%) y los tramos IRPF 2025. Encadenable con: calcular_irpf, calcular_autonomo, calcular_irpf_devolucion.

ParametersJSON Schema
NameRequiredDescriptionDefault
hijosNoNúmero de hijos (para el mínimo familiar en IRPF). Por defecto 0.
tipoISNoRégimen IS: general (25%), pyme (23%), startup (15% primeros 2 años). Por defecto pyme.
salarioBrutoNoSalario bruto anual para el escenario combinado (€). Si se omite, se usa el 50% del beneficio.
tieneControlNo¿El socio tiene control efectivo de la sociedad? (Afecta a cotización SS autónomo societario). Por defecto true.
participacionNoParticipación del socio en el capital (%). Por defecto 100.
beneficioAntesISYesBeneficio de la empresa antes del Impuesto sobre Sociedades (€)
otrosRendimientosNoOtros rendimientos del trabajo anuales del socio, aparte de los de la SL (€). Por defecto 0.
Behavior3/5

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

With no annotations provided, the description carries full burden. It discloses the tax year (2025) and that it uses specific IS and IRPF rates. However, it does not mention assumptions, limitations (e.g., only for Spanish SL), or that it provides a recommendation. It adds value beyond schema but lacks full behavioral 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?

Three concise sentences cover purpose, calculation details, tax year, and enchainability. Every sentence adds value 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?

Despite no output schema, the description sufficiently explains the tool's purpose, inputs, and outputs (comparison result). All parameters are well-described in schema, and the description ties them together effectively.

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 description coverage is 100%, so baseline is 3. The description adds context by explaining that 'salarioBruto' defaults to 50% of benefit if omitted, and links parameters to the comparison scenarios, providing additional meaning beyond schema.

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 clearly states it compares remuneration strategies (dividend, salary, combination) for a Spanish SL, calculates total cost, and determines which maximizes net. It distinguishes itself from siblings like 'comparar_autonomo_vs_sl' by focusing on internal remuneration rather than entity type comparison.

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 explicitly states the three strategies compared and that it calculates total cost for the shareholder-manager. It also lists enchainable tools, but does not provide explicit when-to-use or when-not-to-use guidance relative to alternatives.

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

escalar_recetaAInspect

Escala una receta a más o menos raciones. Aplica factor no lineal para levadura, polvo de hornear y especias. Redondea cantidades de forma práctica según la unidad. La temperatura del horno no cambia; indica si el tiempo necesita ajuste.

ParametersJSON Schema
NameRequiredDescriptionDefault
ingredientesYesLista de ingredientes de la receta original.
raciones_nuevaYesNúmero de raciones/porciones que quieres obtener.
raciones_originalYesNúmero de raciones/porciones de la receta original.
Behavior5/5

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

No annotations provided, so description fully carries behavioral disclosure. It specifies non-linear scaling for yeast, baking powder, spices, practical rounding, unchanged oven temperature, and time adjustment.

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 concise sentences, front-loaded with main purpose, each sentence adds distinct and useful information without redundancy.

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?

Description covers key behaviors but could mention return format (e.g., scaled ingredient list) since no output schema exists. Still adequate for recipe scaling context.

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% with descriptions for all params. Description adds meaning beyond schema by explaining how ingredient categories affect scaling (non-linear for certain types) and rounding behavior.

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?

Description clearly states the tool scales a recipe to more or fewer servings, with specific verb 'Escala' and resource 'receta'. It distinguishes from siblings by being the only recipe-related tool among many calculations.

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?

Description implies usage for scaling recipes but does not explicitly state when to use vs alternatives. However, sibling tools are unrelated (financial, legal), making context clear.

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

pago_aplazado_aeatAInspect

Calcula el plan de pagos de una deuda tributaria en aplazamiento o fraccionamiento con la AEAT (art. 65 LGT). Aplica el interés de demora tributario del 7,25% anual (LPGE 2023 prorrogado a 2025). Determina si se requieren garantías según el importe y número de plazos. Genera la tabla de amortización mensual. Encadenable con: calcular_irpf, calcular_modelo_303, calcular_interes_demora.

ParametersJSON Schema
NameRequiredDescriptionDefault
modalidadNoModalidad de pago diferido. Por defecto aplazamiento.
numPlazosYesNúmero de plazos mensuales solicitados
fechaInicioNoFecha de inicio del aplazamiento (YYYY-MM-DD). Por defecto hoy.
importeDeudaYesImporte de la deuda tributaria principal (€)
tipoSolicitanteNoTipo de solicitante. Por defecto persona_fisica.
Behavior4/5

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

With no annotations, the description discloses key behaviors: interest rate, guarantee determination, and generation of monthly amortization table. It could mention error handling or edge cases but is relatively transparent.

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

Conciseness4/5

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

The description is concise, with 5 sentences that front-load the purpose. It could be slightly more structured but is efficient and clear.

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?

Given the lack of output schema, the description mentions the output (amortization table) and covers key aspects (guarantees, interest). It is fairly complete for a calculation tool, though minor details like assumptions or limitations are omitted.

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%, so schema descriptions already explain parameters. The description adds context about the overall calculation (interest rate, guarantees) but does not significantly enhance individual parameter understanding beyond the schema.

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 clearly states it calculates the payment plan for a tax debt deferral or installment with AEAT, citing the specific legal article and interest rate. It distinguishes itself from siblings by focusing on this specific calculation.

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?

The description provides context for when to use this tool (tax debt deferral/fractioning) and suggests chainable tools, but lacks explicit exclusions or when-not-to-use guidance.

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

permiso_parentalAInspect

Calcula la prestación económica por nacimiento, adopción o acogimiento (baja por maternidad/paternidad) de la Seguridad Social. Desde 2021, ambos progenitores tienen derecho a 16 semanas intransferibles. Cuantía: 100% de la base reguladora. Calcula semanas adicionales por parto múltiple, discapacidad del hijo u hospitalización, y la cuantía con disfrute a tiempo parcial. Encadenable con: calcular_sueldo_neto, calcular_baja_medica, calcular_irpf.

ParametersJSON Schema
NameRequiredDescriptionDefault
numHijosNoNúmero de hijos en caso de parto múltiple. Por defecto 1.
modoDisfruteNoModo de disfrute de las semanas voluntarias. Por defecto completo.
partoMultipleNo¿Parto, adopción o acogimiento múltiple? (+2 semanas por hijo adicional). Por defecto false.
discapacidadHijoNo¿Hijo con discapacidad ≥33%? (+2 semanas adicionales). Por defecto false.
situacionLaboralNoSituación laboral del beneficiario. Por defecto empleado.
diasHospitalizacionNoDías de hospitalización tras el parto (para semanas adicionales, máx. 13 semanas). Por defecto 0.
baseCotizacionMensualYesBase de cotización mensual del mes anterior al inicio del permiso (€)
Behavior4/5

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

No annotations are provided, so the description must fully disclose behavior. It explains the calculation rules, including base amount, weeks, and additional weeks for multiple births, disability, hospitalization, and part-time enjoyment. It does not mention destructive actions, authentication, or rate limits, but for a calculator tool, the behavior is well-described.

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

Conciseness4/5

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

The description is a single paragraph but well-structured, covering the main purpose, calculation rules, and chaining suggestions. It is concise and front-loaded with key information.

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

Completeness3/5

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

The tool has no output schema, but the description does not specify the exact output format or structure. While it explains the calculation details, an agent might need to know whether the result is a single number or an object with weeks and amount. The description is somewhat complete but lacks output specification.

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%, so baseline is 3. The description adds context about extra weeks and part-time enjoyment, which aligns with parameters like partoMultiple, discapacidadHijo, diasHospitalizacion, and modoDisfrute. It does not add significant new meaning beyond what the schema already provides.

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 clearly states the tool calculates the economic benefit for maternity/paternity leave, including specific details like 16 weeks, 100% base, and additional weeks for special circumstances. It distinguishes itself from sibling tools by focusing on this specific benefit.

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 mentions that the tool can be chained with other tools like calcular_sueldo_neto, but does not explicitly state when to use this tool versus alternatives or provide exclusion criteria. It gives some context but lacks explicit usage guidance.

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

recomendar_vehiculoAInspect

Recomienda el segmento (urbano, compacto, SUV, familiar) y la motorización (gasolina, diésel, híbrido, eléctrico) más adecuados según el perfil del usuario. Necesita al menos los km anuales. Opcionales: uso principal, pasajeros, presupuesto, zona y si hay ZBE. Devuelve segmento recomendado, motorización, razón principal, coste anual estimado y alertas contextuales.

ParametersJSON Schema
NameRequiredDescriptionDefault
zbeNotrue si la ciudad tiene Zona de Bajas Emisiones activa (Madrid, Barcelona, Valencia...). Por defecto: false
zonaNoZona principal de uso del vehículo. Por defecto: ciudad
cargaNoNecesidad de maletero: poca/normal/mucha. Por defecto: normal
kmAnualesYesKilómetros que conduce al año (ej: 15000)
pasajerosNoNúmero habitual de ocupantes incluyendo el conductor. Por defecto: 4
presupuestoNoPresupuesto disponible para la compra. Por defecto: 15k_25k
usoPrincipalNourbano = mayoría en ciudad | mixto = ciudad+carretera | carretera = mayoría autopista. Por defecto: mixto
Behavior3/5

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

The description discloses that the tool returns recommendations, reasons, cost estimates, and alerts, providing decent behavioral transparency. However, without annotations, more detail on data sources or limitations would improve clarity.

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

Conciseness4/5

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

The description is concise and front-loaded with the core purpose. It uses a clear list format with commas, though a more structured list could enhance readability. Still, it is efficient with no wasted words.

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

Completeness3/5

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

The description lists the return values (segment, motorization, reason, cost, alerts), which is helpful given no output schema. However, it lacks detail on output types, units, or edge cases, so it is adequate but not complete.

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?

The parameter descriptions in the schema are already comprehensive (100% coverage). The description adds value by summarizing required vs. optional parameters but does not introduce new meaning beyond the schema.

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 clearly states it recommends vehicle segment and motorization based on user profile. It is distinct from sibling tools, which are mostly calculation functions, making its purpose unambiguous.

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?

The description specifies the minimum required input (kmAnuales) and lists optional parameters, providing clear use guidance. However, it does not explicitly mention when not to use this tool or provide alternatives, though siblings are unrelated.

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

reequilibrio_carteraAInspect

Calcula cómo reequilibrar (rebalancear) una cartera de inversión cuando los pesos actuales de los activos han divergido de los pesos objetivo. Estrategia comprar_vender: compras y ventas para alcanzar los pesos exactos. Estrategia solo_comprar: solo aportar nuevo capital sin vender (evita fiscalidad de plusvalías). Calcula las plusvalías y el coste fiscal estimado de las ventas (tarifa del ahorro IRPF 2025). Encadenable con: calcular_fire, calcular_plusvalias_irpf, calcular_rendimiento_bono.

ParametersJSON Schema
NameRequiredDescriptionDefault
activosYesLista de activos de la cartera
estrategiaNoEstrategia de reequilibrio. Por defecto comprar_vender.
nuevoCapitalNoNuevo capital disponible para aportar (€). Relevante para estrategia solo_comprar. Por defecto 0.
umbralDesviacionNoUmbral de desviación (pp) para activar operación. Por defecto 5%.
Behavior4/5

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

In the absence of annotations, the description carries the full burden. It discloses that the tool calculates capital gains and estimated tax cost under the 2025 IRPF savings rate, and mentions chaining with other tools. It could be more explicit about the return format or side effects, but it is fairly transparent for a calculation tool.

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

Conciseness4/5

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

The description is reasonably concise, covering purpose, strategies, tax features, and chaining without unnecessary fluff. However, it could be more structured by separating sections more clearly; the current format is a single paragraph.

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?

Given the tool has 4 parameters and no output schema, the description adequately explains the main functionality, strategies, and even chaining with related tools. It lacks explicit details on the output format or error handling, but overall it is sufficient for an investment rebalancing calculator.

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?

With 100% schema coverage, the description adds value by explaining the strategies (comprar_vender vs solo_comprar), the role of costeMedio for capital gains, and the umbralDesviacion parameter for triggering operations. This goes beyond the schema's purely structural definitions.

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 clearly states it calculates how to rebalance an investment portfolio when current weights diverge from target weights, specifying two strategies and additional features like capital gains and tax estimation. This is a specific verb+resource that distinguishes it from sibling tools focused on other calculations.

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?

The description explains when to use the tool (weights divergence) and describes two strategies with different use cases (exact rebalancing vs. avoiding taxes). However, it does not explicitly state when not to use it or mention alternative tools, which would be helpful.

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

rendimiento_bonoAInspect

Calcula el rendimiento (TIR/YTM) o el precio de un bono de renta fija con cupones periódicos. Modo calcular_tir: dado el precio de mercado (valorEntrada), calcula la Tasa Interna de Retorno (yield to maturity). Modo calcular_precio: dado el rendimiento exigido en % (valorEntrada), calcula el precio limpio del bono. También calcula la duración de Macaulay y la duración modificada (sensibilidad al tipo de interés). Encadenable con: calcular_plusvalias_irpf, calcular_reequilibrio_cartera.

ParametersJSON Schema
NameRequiredDescriptionDefault
modoYescalcular_tir: valorEntrada = precio de mercado en €. calcular_precio: valorEntrada = TIR/yield en %.
valorEntradaYesPara calcular_tir: precio de mercado (€). Para calcular_precio: TIR/yield (%).
valorNominalNoValor nominal del bono (€). Por defecto 1.000 €.
tasaCuponAnualYesTasa de cupón anual (%). Ej: 3.5 para un cupón del 3,5%.
anosVencimientoYesAños hasta el vencimiento del bono.
frecuenciaCuponNoFrecuencia de pago de cupones. Por defecto anual.
Behavior3/5

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

No annotations are present, so the description carries full responsibility. It reveals that the tool calculates yields, prices, and durations, and describes mode-dependent behavior for valorEntrada. However, it omits any discussion of side effects, permissions, error handling, or output structure. The description is informative but not exhaustive.

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

Conciseness5/5

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

The description is compact: one sentence for overall purpose, two for modes, one for additional outputs, and one for chaining. Information is front-loaded and each sentence adds value. No redundant or verbose phrasing.

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

Completeness3/5

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

Given the tool's complexity (dual modes, multiple outputs, 6 parameters) and absence of an output schema, the description should clarify what exactly is returned. It mentions duration is calculated but does not specify if the output includes yield/price and durations together or separately. Error conditions and edge cases (e.g., zero coupon rate) are not addressed. The chaining note is helpful but the overall completeness is moderate.

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%, so parameters are already described. The main description adds context by explaining the two modes and how valorEntrada changes meaning, but does not add substantial per-parameter detail beyond the schema. The additional mention of duration outputs is behavioral, not semantic for parameters.

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 clearly states the tool calculates yield (TIR/YTM) or price of a fixed-income bond with periodic coupons, and explicitly defines two modes (calcular_tir and calcular_precio). It also mentions additional outputs (Macaulay duration, modified duration). While sibling tools exist, this is the only bond-specific yield/price calculator among many financial tools, so differentiation is clear.

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 provides usage context by naming two chaining companions (calcular_plusvalias_irpf, calcular_reequilibrio_cartera), but does not explicitly state when to prefer this tool over alternatives or offer any when-not conditions. The guidance is implicit rather than directive.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources