FalaZuki Finance BR
Server Details
Cálculos e regras financeiras do Brasil com fonte e vigência em cada resposta.
- Status
- Healthy
- Uptime
- 100.0% over 23 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 114 tools
Many tools are clearly distinct, but the set contains several near-identical clusters: calculate_dividend_income_goal and calculate_dividend_yield both answer 'how much capital is needed to reach a dividend income target', and calculate_real_salary, calculate_raise_vs_inflation, and calculate_salary_time_value overlap heavily on salary/inflation comparisons. Generic tools like compare_investments and compare_with_cdb also blur the boundary with the many specific yield calculators.
Most tools follow a clear verb_noun snake_case pattern with verbs like calculate_, get_, check_, compare_, and advise_. However, the object language is inconsistent (calculate_ganho_capital_imovel alongside calculate_car_affordability), and can_i_quit_job breaks the command-style pattern with a question.
At 114 tools, the server is extremely over-scoped for an MCP surface; an agent cannot reasonably hold all these options in context. The inclusion of a search_calculator tool to route among the others is a strong signal that the tool set itself needs partitioning.
The surface is very comprehensive for Brazilian personal finance: employment, taxes, investments, debt, real estate, vehicles, small business, insurance, and market-data queries are all covered. A few minor gaps exist, such as no dedicated generic boleto-fine calculator or consolidated investment comparison engine, but no core workflow feels badly stranded.
Available Tools
114 toolsadvise_investmentAInspect
Recomenda tipo de investimento com base no perfil, prazo, valor e objetivo. Retorna opções rankeadas com prós e contras.
| Name | Required | Description | Default |
|---|---|---|---|
| goal | No | Objetivo | growth |
| amount | Yes | Valor disponível para investir em R$ | |
| months | Yes | Prazo em meses | |
| profile | Yes | Perfil de risco | |
| needs_liquidity | No | Precisa de liquidez diária? |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It does disclose the core behavior: it recommends investment types and returns ranked options with pros and cons. It does not mention whether the tool is purely informational, whether recommendations are guaranteed or risk-averse, or any disclaimers about financial advice. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two compact sentences with no redundant wording. It front-loads the main purpose and input scope, then states the output format. Every phrase adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description's statement that it returns 'opções rankeadas com prós e contras' is the only return-value guidance. This gives a general idea but omits the ranking criteria, what kinds of investment types may appear, and any behavioral caveats. The parameter side is well-covered by the schema, but the output side is only partially specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema documents all five parameters. The description restates four of them (perfil, prazo, valor, objetivo) but adds no syntax or format details beyond the schema. One parameter, needs_liquidity, is not mentioned, but its schema entry with a default covers it. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Recomenda') and clearly identifies the resource ('tipo de investimento') and the inputs that drive it (perfil, prazo, valor, objetivo). It also states the output form ('opções rankeadas com prós e contras'). It does not explicitly name sibling tools for differentiation, though the profile-based recommendation framing distinguishes it from pure calculation/compare siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when a user has a profile, term, amount, and objective and wants investment recommendations. However, it provides no explicit guidance about when not to use it, no mention of alternatives like compare_investments or calculate_investment_return, and no prerequisites beyond the listed inputs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
advise_tax_regimeBInspect
Recomenda o melhor regime tributário — MEI, Simples Nacional, Lucro Presumido — com base no faturamento e atividade.
| Name | Required | Description | Default |
|---|---|---|---|
| activity | Yes | Tipo de atividade | |
| has_employees | No | Tem funcionários? | |
| employee_count | No | Quantos funcionários | |
| monthly_revenue | Yes | Faturamento mensal em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not mention that the recommendation is advisory, what factors besides revenue and activity are considered (e.g., employees), or any limitations. The optional has_employees and employee_count parameters receive no mention, leaving their role in the recommendation opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-formed sentence that front-loads the action and outcome, listing the regimes and the key inputs. There is no filler or redundant information, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives the core purpose and inputs but, with no output schema and no annotations, it omits what the response will look like (e.g., just the regime name or a detailed comparison). The role of optional parameters and the advisory nature of the recommendation are also unstated, leaving moderate gaps for an agent invoking this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, setting a baseline of 3. The description adds context by naming 'faturamento e atividade' as the basis, which maps to monthly_revenue and activity. However, it does not clarify how the optional employee-related parameters factor into the recommendation; the schema descriptions are minimal as well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Recomenda' and a clear resource 'melhor regime tributário', naming the exact tax regimes (MEI, Simples Nacional, Lucro Presumido) that are compared. It clearly distinguishes itself from sibling calculate_* tools by focusing on choosing the best regime rather than computing a single tax value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool versus alternatives like calculate_simples_nacional, calculate_mei_tax, or compare_clt_vs_pj. The description implies use for regime selection but provides no exclusions, prerequisites, or routing hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_acordo_dividaAInspect
Avalia uma proposta de acordo de dívida (Serasa Limpa Nome e afins): o desconto real do à vista e do parcelado sobre o valor cobrado, e o juro EMBUTIDO em escolher o parcelado em vez do à vista, calculado por TIR. É a régua pra decidir se vale juntar o dinheiro, parcelar ou buscar crédito mais barato. Parâmetros obrigatórios: original_debt, cash_offer, installments, installment_value. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| cash_offer | Yes | A oferta pra quitar à vista, em R$ | |
| installments | Yes | Número de parcelas do acordo parcelado | |
| original_debt | Yes | O valor COBRADO da dívida (o número da carta/plataforma) | |
| installment_value | Yes | Valor de cada parcela do acordo, em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does disclose the calculation behavior: it computes discounts and embedded interest using TIR. It clearly frames the tool as an evaluative calculation. It could say more about expected output format or assumptions, but it goes well beyond a bare 'calculates debt'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: the first explains what the tool does, the second gives decision utility, and the third lists required parameters. It is tightly packed with meaningful content and no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers what is computed, the method (TIR), and the decision context, which is enough for an agent to invoke the tool correctly. There is no output schema, so a few words on the exact shape of the result would make it fully complete, but the current coverage is strong for a numeric calculator.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each parameter's type, range, and meaning. The description adds only the instruction to use exactly these names, which is useful but not additional semantic depth. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Avalia'), a clear resource ('proposta de acordo de dívida'), and the exact outputs: real discount for cash and installment, and embedded interest via IRR. It also grounds the purpose with a realistic context (Serasa Limpa Nome), making it easy to distinguish from generic debt or loan calculators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear decision context: it is the tool to decide whether to save money, pay in installments, or seek cheaper credit. It does not explicitly name alternative tools or exclusions, so guidance on when not to use it is left implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_adicional_noturnoAInspect
Calcula o adicional noturno urbano (22h às 5h): os 20% sobre a hora diurna MAIS o efeito da hora noturna reduzida de 52min30s, que transforma cada hora de relógio em 1,14 hora paga. Parâmetros obrigatórios: salary, night_clock_hours. Opcionais: monthly_hours. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| salary | Yes | Salário mensal em R$ | |
| monthly_hours | No | Jornada mensal em horas (220 pra 44h semanais) | |
| night_clock_hours | Yes | Horas trabalhadas entre 22h e 5h no mês, NO RELÓGIO |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it delivers: it discloses the exact formula, the conversion factor, and the meaning of clock hours. It does not state the return format, but for a calculation tool the output (the additional amount in R$) is strongly implied by the formula and context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with all information front-loaded: the formula first, then parameter requirements. Every clause earns its place, and there is no redundant repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given three simple parameters, full schema coverage, and no output schema, the description is nearly complete: it states the calculation, parameters, optional values, and naming conventions. A small gap is that it does not explicitly say the result is the monthly additional value in R$, but this is easily inferred from the formula.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents salary, monthly_hours, and night_clock_hours. The description adds the 1.14 conversion context and reinforces required/optional status, but does not add substantial meaning per 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.
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 ('adicional noturno urbano'), and goes further by specifying the exact calculation components: 20% over daytime wage plus the reduced night-hour effect (52min30s → 1.14 paid hours). This is easily distinguishable from sibling calculators like calculate_overtime or calculate_hourly_wage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly establishes the use case (urban night shift additional, 22h-5h) and tells the agent which parameters are required versus optional, plus to use exact English names. It does not name alternatives or exclusion conditions, but the specialized scope makes when-to-use unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_annual_salaryAInspect
Calcula quanto um salário mensal rende no ano. Para CLT, soma o décimo terceiro e o terço constitucional de férias, que fazem o ano valer 13,33 salários e não 12. Serve para comparar proposta CLT com proposta PJ. Parâmetros obrigatórios: monthly_salary. Opcionais: months_worked, clt. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| clt | No | Verdadeiro para CLT (tem 13º e terço); falso para PJ | |
| months_worked | No | Meses trabalhados no ano | |
| monthly_salary | Yes | Salário mensal bruto, em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It discloses the main calculation behavior: CLT adds the 13th salary and vacation bonus, making the year 13.33 salaries. However, it does not explain how months_worked affects the calculation or what exactly the tool returns, which leaves some behavior to inference.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: it starts with the core calculation, then the CLT formula, then the use case and parameter guidance. Every sentence adds necessary information without padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculator with three parameters the description is mostly sufficient, but the handling of months_worked is ambiguous and there is no explicit statement about the output format or whether the result is gross. These gaps matter because the schema alone does not provide them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all parameters with 100% coverage. The description repeats the required/optional status and parameter names, but adds no new semantic meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource: it calculates how much a monthly salary yields in a year. It also explains the CLT-specific formula (13.33 salaries) and the comparison context, making it distinguishable from siblings like calculate_thirteenth_salary or calculate_vacation_pay.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear use case: comparing a CLT proposal with a PJ proposal. It does not explicitly mention alternatives or when not to use the tool, but the intended scenario is well stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_antecipacao_fgtsAInspect
Revela a taxa de juros EMBUTIDA numa oferta de antecipação do saque-aniversário do FGTS: o valor recebido hoje contra os saques anuais entregues ao banco, por TIR. É a conta pra comparar a antecipação com um crédito comum antes de assinar. Parâmetros obrigatórios: amount_received, years, yearly_parcel. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| years | Yes | Quantos aniversários futuros a oferta antecipa | |
| yearly_parcel | Yes | O valor do saque anual entregue ao banco, por ano, em R$ | |
| amount_received | Yes | O valor que o banco deposita HOJE, em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It explains the calculation model (amount received today against annual withdrawals, by IRR) and the decision context, going well beyond the tool name. It does not specify output format or caveats like assumptions of constant annual parcels, but as a pure calculator this 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler. The core purpose is front-loaded, followed by usage context and parameter guidance. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a calculator with three fully documented parameters and no output schema, the description covers the purpose, the financial scenario, and the required inputs. The main gap is not describing the output format in detail, but the term 'taxa de juros' and the comparison context make the expected result clear enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful value by explicitly listing the required parameters and instructing the agent to use exactly these names in English — a critical cross-lingual detail not present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific purpose: reveal the embedded interest rate in an FGTS birthday-withdrawal advance offer using IRR. It identifies the resource (antecipação do saque-aniversário do FGTS) and the calculation method (TIR), which distinguishes it from siblings like calculate_fgts, calculate_cet, and compare_loans.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: 'É a conta pra comparar a antecipação com um crédito comum antes de assinar.' This tells an agent when to invoke it, though it does not explicitly name alternatives or state 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.
calculate_average_priceAInspect
Calcula o novo preço médio de ações ou FIIs depois de uma compra: posição atual (quantidade + preço médio) mais a compra nova (quantidade + preço + custos). Pra várias compras, encadeie chamadas usando o resultado como posição seguinte. Venda não altera o preço médio. Parâmetros obrigatórios: buy_quantity, buy_price. Opcionais: current_quantity, current_average_price, fees. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| fees | No | Corretagem e emolumentos da compra em R$ (entram no médio) | |
| buy_price | Yes | Preço pago por unidade em R$ | |
| buy_quantity | Yes | Quantidade comprada agora | |
| current_quantity | No | Quantidade que já possui (0 se é a primeira compra) | |
| current_average_price | No | Preço médio atual em R$ (0 se é a primeira compra) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It explains the calculation inputs and the rule that sales don't affect the average, and that fees enter the average. However, it does not disclose the output format, rounding behavior, or edge cases such as inconsistent current_quantity/current_average_price values, so some behavioral uncertainty remains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well-structured: it starts with the purpose, then the calculation inputs, then usage notes, then parameter requirements. Every sentence earns its place and there is no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity and full schema coverage, the description covers the essential context: when to use it, how to chain multiple purchases, the sale caveat, and which parameters matter. The only notable gap is the absence of any description of the return value or format, especially since no output schema is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by grouping parameters into required vs optional and instructing the agent to use exact English names, but it does not add new meaning beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Calcula') and resource: the new average price of stocks or FIIs after a purchase. It clearly distinguishes itself from the many sibling financial calculators by specifying the exact scenario (post-purchase average price) and even notes that sales do not change the average price.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear when-to-use guidance: after a purchase, and for multiple purchases it instructs chaining calls. It also gives a when-not case ('Venda não altera o preço médio'). It does not explicitly name an alternative tool, but the context is specific enough that an agent can select it correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_aviso_previoAInspect
Calcula o aviso prévio proporcional: 30 dias + 3 por ano completo de casa (máximo 90), o valor indenizado na demissão sem justa causa e o que o empregado desconta se sair sem cumprir. Parâmetros obrigatórios: salary, full_years_worked. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| salary | Yes | Salário mensal em R$ | |
| full_years_worked | Yes | Anos COMPLETOS de casa (ano quebrado não conta) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It does disclose the calculation rule and three outcomes: the proportional notice days, the indemnified amount, and the employee discount. However, it does not describe return format, rounding behavior, or assumptions, and there is no output schema to fill that gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, with the formula stated first and no filler. The final instruction about exact parameter names is useful and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter calculator, the description is reasonably complete: it gives the formula, names both parameters, and enumerates the three outputs. It lacks return-shape details and explicit sibling differentiation, but it is sufficient for correct invocation in most cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds only a reminder of mandatory parameter names and the instruction to use them in English, plus a loose link to the formula. It adds little semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Calcula o aviso prévio proporcional' and even states the formula ('30 dias + 3 por ano completo de casa (máximo 90)'). It is clear, but it does not explicitly distinguish itself from overlapping siblings such as calculate_severance or check_severance, so it falls just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use it by naming the domain and parameters, but it gives no explicit when-to-use conditions, no exclusions, and no alternatives. Given the many sibling labor-related calculators, explicit routing guidance would have been valuable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_break_evenAInspect
Calcula o ponto de equilíbrio de um negócio: quantas unidades e quanto de faturamento por mês são necessários para cobrir o custo fixo. Devolve também a margem de contribuição, que é o que sobra de cada venda para pagar o fixo. Parâmetros obrigatórios: fixed_costs, unit_price, unit_variable_cost. Opcionais: sales_tax_percent. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| unit_price | Yes | Preço de venda de uma unidade, em R$ | |
| fixed_costs | Yes | Custos mensais que existem mesmo vendendo zero, em R$ | |
| sales_tax_percent | No | Impostos e taxas sobre a venda, em % do preço | |
| unit_variable_cost | Yes | Custo variável de uma unidade (matéria-prima, embalagem, comissão), em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states what the tool returns (units, revenue, contribution margin) and explains the concept of contribution margin. It does not mention side effects (likely none for a pure calculation) or edge cases, but it adequately covers the behavioral expectation that this is a read-only computation that produces specific numeric outputs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, with the purpose front-loaded, followed by output details and parameter list. Every sentence earns its place, and there is no redundant filler. It is well-structured for quick parsing by an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description adequately explains what the tool returns and what the output means. It defines the contribution margin and mentions both required and optional inputs. It does not detail edge cases or formula assumptions, but for a straightforward calculator with well-documented schema parameters, the description is sufficiently complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already has a semantic description. The tool description merely restates which parameters are required/optional and stresses using exact English names, which adds no new meaning beyond the schema. It does not deepen understanding of parameter relationships or constraints, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific purpose: calculating the break-even point in terms of units and monthly revenue, plus the contribution margin. It names the exact output metrics and distinguishes itself from the many sibling financial calculators by focusing on break-even analysis. The verb 'Calcula' plus the resource 'ponto de equilíbrio de um negócio' makes it unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates when to use this tool (when break-even analysis is needed) and explains what it computes. It does not explicitly name alternatives or state when not to use it, but the niche purpose is clear enough for an agent to select it appropriately among the many calculate_* tools. This meets the 'clear context, no exclusions' bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_budgetAInspect
Calcula orçamento pela regra 50/30/20 — necessidades, desejos e investimentos a partir da renda líquida. Parâmetros obrigatórios: net_income. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| net_income | Yes | Renda líquida mensal em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Sem anotações, a descrição assume o papel de informar o comportamento: define a regra 50/30/20, a entrada (renda líquida) e as categorias resultantes. Não detalha o formato exato do retorno, mas o comportamento central de cálculo fica claro.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Duas frases curtas e objetivas: a primeira informa o propósito e a regra, a segunda aponta o parâmetro obrigatório e o uso exato do nome. Não há redundância ou conteúdo irrelevante.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Para um cálculo simples com um único parâmetro bem documentado no schema, a descrição fornece a regra, os insumos e as categorias de saída. A ausência de detalhes sobre o formato do retorno é uma lacuna menor, mas não impede o agente de invocar corretamente.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
O schema já cobre 100% do único parâmetro, com descrição, tipo e restrição exclusiva de mínimo > 0. A descrição apenas repete a obrigatoriedade e o nome do parâmetro, sem acrescentar novo significado semântico além do schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A descrição usa verbo específico ('Calcula') e recurso claro ('orçamento pela regra 50/30/20'), detalhando as categorias e a base de cálculo. Isso diferencia a ferramenta de todos os irmãos de cálculo financeiro, que tratam de outras finalidades.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Há instrução direta de que net_income é obrigatório e que os nomes devem ser usados exatamente como em inglês. Porém, não há orientação explícita sobre quando escolher esta ferramenta em vez de alternativas como calculate_savings_return ou compare_investments; o contexto de uso é apenas implícito.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_car_affordabilityBInspect
Calcula que preço de carro cabe numa renda, considerando o custo TOTAL de ter o carro (prestação, IPVA, seguro, manutenção e combustível) dentro de um teto de percentual da renda. Devolve o preço do carro e a prestação que sobra. Parâmetros obrigatórios: monthly_income. Opcionais: monthly_km, fuel_price, km_per_liter, down_payment, months, monthly_rate, income_ratio. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| months | No | Prazo do financiamento, em meses | |
| fuel_price | No | Preço do litro do combustível, em R$ | |
| monthly_km | No | Quilômetros rodados por mês | |
| down_payment | No | Entrada disponível, em R$ | |
| income_ratio | No | Fração da renda que o carro inteiro pode consumir (0.2 = 20%) | |
| km_per_liter | No | Consumo do carro, em km por litro | |
| monthly_rate | No | Juros do financiamento ao mês, em % (ex: 1.8) | |
| monthly_income | Yes | Renda mensal líquida, em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the disclosure burden. It does disclose the key behavioral traits: the calculation includes all listed cost components, is bounded by an income ratio cap, and returns two values. It does not mention assumptions or default behaviors beyond what the schema shows, but for a calculator the core behavior is transparent; no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: purpose+output first, then parameter list. It is front-loaded and compact, though the explicit parameter list duplicates schema information. No filler or marketing language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter calculator with no output schema, the description explains the calculation inputs, cost scope, and output, but it lacks a comparison with the closely related sibling calculate_car_ownership_cost and does not specify the return format in detail (e.g., units, failure case). Overall it is adequate but not complete for disambiguation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema already covers all eight parameters with descriptions (100% coverage), so the baseline is 3. The description merely lists which parameters are required vs optional and insists on English naming, adding no semantic information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Calcula que preço de carro cabe numa renda') and clarifies it accounts for total ownership cost (prestação, IPVA, seguro, manutenção, combustível) and returns the affordable price and remaining installment. This distinguishes it from plain financing calculators and from the sibling calculate_car_ownership_cost, though it does not name that tool explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to prefer this tool over alternatives such as calculate_car_ownership_cost or calculate_financing. Usage is only implied by the stated purpose, and the only explicit instruction (use exactly these English parameter names) is about parameter usage, not tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_card_machine_feeAInspect
Calcula quanto sobra de uma venda na maquininha e qual o custo efetivo dela ao mês, juntando a taxa da adquirente com o prazo até o dinheiro cair. Compara com o custo de antecipar os recebíveis. Parâmetros obrigatórios: sale_amount, fee_percent. Opcionais: installments, days_to_receive, anticipation_rate_per_month. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| fee_percent | Yes | Taxa cobrada pela maquininha sobre a venda, em % (ex: 3.5) | |
| sale_amount | Yes | Valor da venda passada na maquininha, em R$ | |
| installments | No | Em quantas parcelas o cliente pagou (1 = à vista) | |
| days_to_receive | No | Dias até receber (na venda parcelada, o prazo da primeira parcela; as outras vêm de 30 em 30) | |
| anticipation_rate_per_month | No | Taxa de antecipação por mês adiantado, em % (opcional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It states it is a calculation ('Calcula'), which implies a read-only operation, but it does not explicitly disclose that it has no side effects, does not require external data, or describe the output format. It does add the parameter naming directive, which is helpful, but it lacks explicit behavioral transparency expected for a mutation-free tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with the primary purpose front-loaded, followed by parameter lists and a directive. It contains no fluff and every sentence contributes value. It could be slightly more compact by merging the parameter list into the schema, but it remains efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter calculation tool with no output schema, the description explains the calculation and the comparison with anticipation, which covers the core purpose. It does not detail the return value or edge cases (e.g., what happens with defaults), but the schema provides defaults for optional parameters. The description is adequate for an agent to call the tool correctly, though not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all five parameters with descriptions. The description lists required and optional parameter names but adds no extra semantic meaning beyond what the schema provides. It does instruct to use exact English names, which is a minor addition, but essentially the description does not compensate beyond the baseline for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb 'Calcula' (calculates) with a clear resource: the net amount from a card machine sale and its effective monthly cost, plus a comparison with anticipation cost. This is precise and distinct from sibling calculate_* tools, making selection unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: whenever a user wants to evaluate the true cost of a card machine transaction. It does not explicitly name alternatives or exclusions, but the purpose is so specific that an agent can infer the use case. A brief mention of alternatives 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.
calculate_carne_leaoAInspect
Calcula o carnê-leão do mês (DARF 0190): imposto sobre rendimento recebido de pessoa física ou do exterior sem retenção — aluguel direto do inquilino, honorários de autônomo, rendimentos do exterior — com livro caixa, dependentes, pensão paga e INSS. Aceita reference_date pra refazer um mês passado com a tabela da época. Parâmetros obrigatórios: monthly_income. Opcionais: book_expenses, dependents, alimony_paid, inss_paid, reference_date. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| inss_paid | No | INSS de contribuinte individual pago no mês (a GPS) | |
| dependents | No | Dependentes na declaração | |
| alimony_paid | No | Pensão alimentícia PAGA no mês por decisão judicial ou escritura pública | |
| book_expenses | No | Despesas do livro caixa no mês (aluguel do consultório, material, salários pagos) — só profissional autônomo | |
| monthly_income | Yes | Rendimento tributável recebido no mês, em R$ | |
| reference_date | No | Data de referência (aaaa-mm-dd) pra calcular com a tabela vigente NAQUELA data. Omitida, usa a de hoje. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that reference_date recomputes with the historical tax table ('refazer um mês passado com a tabela da época') and that deductions include book expenses, dependents, alimony and INSS. But it does not specify return format/units or mention how the progressive table applies to net taxable income, leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences in Portuguese: purpose+examples, historical behavior, and required/optional param names. No filler—each sentence earns its place, and the most distinctive information (DARF 0190, income types) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the calculation domain, the eligible income, the deduction items, the historical-table behavior, and the exact parameter names/requirements — a strong set for a 6-param calculator with no output schema. The only notable omission is an explicit statement of what the function returns (e.g., tax amount in R$), so it falls just short of a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each parameter has its own description, so the baseline is 3. The description adds a meta-instruction to use the exact English parameter names and marks monthly_income as required and the rest optional, which is helpful but largely restates the schema's required array and property names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Calcula o carnê-leão do mês (DARF 0190)' — a specific verb, tax form, and period — and enumerates the exact income types it applies to ('aluguel direto do inquilino, honorários de autônomo, rendimentos do exterior'). This level of specificity distinguishes it from generic DARF and RPA calculators among the siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear applicability context by listing the income sources and deductible items, so an agent can choose it for monthly carnê-leão obligations. However, it never names alternatives or states when not to use it (e.g., annual IR via simulate_income_tax), so it earns 4 rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_car_ownership_costBInspect
Calcula o custo mensal real de ter um carro — IPVA, seguro, combustível, manutenção, depreciação, estacionamento. Parâmetros obrigatórios: car_value. Opcionais: monthly_km, fuel_price, km_per_liter, parking, car_wash, rideshare_per_km, has_financing, monthly_financing. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| parking | No | Estacionamento por mês em R$. Zero se você não paga. | |
| car_wash | No | Lavagem por mês em R$ | |
| car_value | Yes | Valor FIPE do carro em R$ | |
| fuel_price | No | Preço do litro de combustível em R$ | |
| monthly_km | No | Km rodados por mês | |
| km_per_liter | No | Consumo em km/litro | |
| has_financing | No | Está financiado? | |
| rideshare_per_km | No | Preço médio do quilômetro no aplicativo em R$, para a comparação com não ter carro. | |
| monthly_financing | No | Parcela do financiamento em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It discloses the tool's scope and inputs, but does not state the output format (e.g., a single monthly total vs. a breakdown) nor the assumptions for IPVA, depreciation, maintenance, or insurance rates. These are meaningful gaps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first front-loads the core purpose and components, the second covers required/optional parameters and a naming caveat. It is efficient and free of fluff, though the parameter enumeration is partially redundant with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a 9-parameter calculator with no annotations and no output schema, the description adequately conveys what it computes and which inputs are required. However, it does not explain the output format or the underlying cost model assumptions, so an agent may still be unsure what a successful invocation returns or how inputs influence results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all 9 parameters with 100% coverage, so the description adds little beyond restating names and required/optional status. The instruction to use exactly these names in English is a useful minor guard, but no deeper semantics are provided beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a clear verb and object: 'Calcula o custo mensal real de ter um carro' (calculates the real monthly cost of owning a car), followed by a concrete list of cost components. It is specific and unambiguous, but it does not explicitly name sibling tools like calculate_car_affordability or compare_fuel to highlight differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended usage is implied through the purpose statement, and the parameter list gives some context. However, there is no explicit 'use this when' / 'use that instead' guidance, no mention of alternatives, and no exclusions, so an agent gets little help choosing among the many sibling calculator tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_cdi_yieldAInspect
Calcula quanto rende um valor no CDI de hoje (Banco Central) por um prazo em meses, com IR regressivo descontado e comparação com a poupança. Aceita percentual do CDI (ex: 102% de um CDB) ou o CDI cheio. Parâmetros obrigatórios: principal, months. Opcionais: cdi_percent. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| months | Yes | Prazo em meses (1-360) | |
| principal | Yes | Valor investido em R$ | |
| cdi_percent | No | Percentual do CDI que a aplicação paga (100 = CDI cheio) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and it does disclose notable behavior: results use 'IR regressivo descontado', compare with 'a poupança', and use today's 'Banco Central' CDI. It also clarifies that cdi_percent can represent partial or full CDI, but it does not describe exact 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three terse sentences: outcome first, options second, parameter usage third. Each sentence adds distinct guidance, and there is no filler or unnecessary restatement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter calculator, the description names required and optional parameters, gives an example, and flags behavioral details such as IR and savings comparison. The absence of an output schema makes the lack of explicit return-format detail a minor gap, but it would not prevent correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description adds only modest value beyond the schema: an example like '102% de um CDB', a note that cdi_percent is optional, and an instruction to use exact English parameter names. Most parameter meaning already lives in the input schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Calcula quanto rende um valor no CDI de hoje (Banco Central) por um prazo em meses'. It further distinguishes the tool by mentioning regressive IR and savings comparison, making it clearly distinct from generic savings/investment siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the calculation context and required parameters, but it does not explicitly say when to choose this tool over siblings like calculate_savings_return or compare_with_cdb. The intended use can be inferred from the CDI-specific wording, so 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.
calculate_cetAInspect
Calcula o CET (Custo Efetivo Total) de uma proposta de crédito a partir do que o tomador vê: valor que cai na conta, número de parcelas e valor da parcela. O juro embutido sai por TIR, então tarifas e seguros descontados do valor liberado entram na taxa. Chame duas vezes pra comparar propostas. Parâmetros obrigatórios: net_received, installments, installment_value. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| installments | Yes | Número de parcelas | |
| net_received | Yes | Valor que efetivamente CAI NA CONTA, em R$ (depois de tarifas embutidas) | |
| installment_value | Yes | Valor de cada parcela, em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It compensates well by explaining the calculation method (embedded interest derived via TIR) and the key modeling assumption that fees and insurance deducted from the released amount are incorporated into the rate. A minor gap is the lack of output format or units, but the core behavior 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: the first states the purpose and inputs, the second explains the TIR methodology and fee handling, and the third gives usage and naming guidance. It is front-loaded, compact, and free of filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Inputs are fully defined by the schema and the method is clearly explained, but there is no output schema and the description does not state what the tool returns (e.g., CET as a percentage, decimal, annual rate). For a calculation tool, that return-format gap leaves the description slightly incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents net_received, installments, and installment_value. The description adds a useful naming instruction ('Use exatamente estes nomes, em inglês') and restates the meaning of net_received, but does not meaningfully extend the parameter semantics beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: calculate the CET (Custo Efetivo Total) of a credit proposal from the borrower's perspective, using net amount received, number of installments, and installment value. This is a specific verb plus resource, and the mention of TIR and fee treatment distinguishes it from other calculate_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: it explains the borrower-facing inputs and even instructs the agent to call the tool twice to compare proposals. It does not explicitly name alternative tools or exclusion conditions, but the context is clear enough for correct selection among many financial calculators.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_civil_monetary_updateAInspect
Atualiza um valor pelo regime civil da Lei 14.905/2024, vigente desde 30/08/2024: correção pelo IPCA (CC, art. 389, p.u.) e juros pela taxa legal do art. 406 (SELIC deduzido o IPCA, juros SIMPLES, sobre o valor já atualizado, conforme Resolução CMN 5.171/2024). Devolve a memória de cálculo completa. O IPCA acumulado entra multiplicativo e a taxa legal ADITIVA (soma das taxas mensais da série 29543 do BCB). ATENÇÃO: regime civil geral; não presume aplicação a débitos trabalhistas, tributários ou contra a Fazenda Pública. Parâmetros obrigatórios: principal, accumulated_ipca_percent, accumulated_legal_rate_percent. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| principal | Yes | O valor original a atualizar, em R$ | |
| accumulated_ipca_percent | Yes | IPCA acumulado do período, em % (2.5 = 2,5%). Série 433 do BCB, composta multiplicativamente mês a mês | |
| accumulated_legal_rate_percent | Yes | Taxa legal acumulada do período, em % (1.94 = 1,94%). Série 29543 do BCB, SOMADA mês a mês (juros simples, art. 6º da Resolução CMN 5.171/2024) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explains the calculation mechanics in detail: IPCA is applied multiplicatively, the legal rate is additive, interest is simple and applied to the already-updated value, and it returns the complete calculation memory. This goes well beyond a generic 'update value' statement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence carries essential information: legal basis, calculation method, scope exclusions, return value, and parameter naming requirements. The front-loaded action and legal framing allow quick understanding, with details and warnings following in a logical sequence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the moderate complexity and absence of an output schema, the description covers the required parameters, calculation order, legal references, and exclusions, and it states the return value ('memória de cálculo completa'). It does not specify rounding or formatting details, but for this tool the information provided is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds value by explicitly listing the required parameters, insisting on exact English names, and reinforcing the multiplicative vs. additive roles of the two rate parameters. This helps an agent map the parameters to the Formula described.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the specific action ('Atualiza um valor') and the precise legal regime (Lei 14.905/2024, CC arts. 389 and 406), making it clear this is a civil monetary update calculator. It distinguishes itself from sibling calculators by specifying the civil regime and explicitly excluding labor, tax, and public treasury debts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use for civil regime updates under the named law and effective date. It also provides an explicit when-not ('não presume aplicação a débitos trabalhistas, tributários ou contra a Fazenda Pública'), though it does not name alternative tools for those cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_come_cotasAInspect
Calcula quanto o come-cotas (antecipação semestral de IR dos fundos abertos) custa contra um CDB de mesma taxa que só paga imposto no resgate. Prazo mínimo de 25 meses, onde as alíquotas finais coincidem e sobra só o efeito do timing. Parâmetros obrigatórios: principal, months. Opcionais: annual_rate, longo_prazo. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| months | Yes | Prazo em meses (mínimo 25) | |
| principal | Yes | Valor investido em R$ | |
| annual_rate | No | Taxa anual em %, igual no fundo e no CDB da comparação | |
| longo_prazo | No | Fundo de longo prazo (come-cotas de 15%) ou curto (20%) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It explains the conceptual behavior of the calculation (prepayment vs redemption timing) but does not disclose what the output represents, its units, or any assumptions beyond the same-rate CDB. This leaves important behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no fluff. It front-loads the calculation's purpose, then gives the key condition, then parameter usage. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description explains the underlying concept and constraints well, but with no output schema and no annotations, it should clarify what the result means (e.g., cost in R$, percentage, annualized). That missing information is significant for a specialized financial calculator.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, setting a baseline of 3. The description adds value by explicitly labeling required vs optional parameters and insisting on exact English parameter names, which prevents an agent from translating or renaming them. This is practical guidance beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Calcula' and the specific resource: the cost of come-cotas (semiannual IR prepayment on open funds) compared with a CDB of the same rate. It is specific enough to identify the tool's purpose, though it does not explicitly differentiate it from the sibling compare_with_cdb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context for when the calculation is valid, including the minimum 25-month term and the condition that only the timing effect remains. It distinguishes required vs optional parameters but does not explicitly state when to prefer this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_compound_interestAInspect
Calcula juros compostos com aportes mensais. Fórmula M = C × (1+i)^n com depósitos periódicos. Parâmetros obrigatórios: principal, monthly_rate, months. Opcionais: monthly_deposit, annual_deposit_growth. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| months | Yes | Prazo em meses | |
| principal | Yes | Valor inicial investido em R$ | |
| monthly_rate | Yes | Taxa de juros mensal em % (ex: 1 = 1% ao mês) | |
| monthly_deposit | No | Aporte mensal em R$ | |
| annual_deposit_growth | No | Aumento anual do aporte, em % (ex: 5.5 corrige pela inflação). Padrão zero: aporte fixo em valor nominal. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does reveal the formula M = C × (1+i)^n and the existence of periodic deposits, which is helpful. However, it does not specify how deposits are timed, how annual_deposit_growth is applied, what the output shape is, or other edge-case behaviors.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no filler: the main action comes first, then the formula, then a concise parameter list and naming rule. Every sentence earns its place and answers a practical question.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, yet the description never states what the tool returns (e.g., final amount, JSON object, projection). It also leaves deposit timing and annual growth behavior unexplained. For a financial calculator with 5 parameters, these gaps make the definition incomplete for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explicitly enumerating required vs optional parameters and instructing the agent to 'Use exatamente estes nomes, em inglês', guarding against translation errors. It still does not elaborate on the meaning of annual_deposit_growth beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Calcula juros compostos com aportes mensais', naming a specific verb, calculation type, and differentiator (monthly deposits). The formula and the listed parameters make clear it is compound interest with periodic contributions, which separates it from siblings like calculate_simple_interest and other calculators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the required and optional parameters, but it does not explicitly say when to prefer this tool over alternatives or when not to use it. Usage context is implied by the phrase 'juros compostos com aportes mensais' rather than stated directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_consorcioAInspect
Simula consórcio — parcela mensal, custo total com taxa de administração, e comparação com financiamento. Parâmetros obrigatórios: asset_value, months. Opcionais: admin_fee, insurance_fee, financing_annual_rate. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| months | Yes | Prazo em meses | |
| admin_fee | No | Taxa de administração total (%, padrão 18%) | |
| asset_value | Yes | Valor do bem (carta de crédito) em R$ | |
| insurance_fee | No | Taxa de seguro total (%, padrão 2%) | |
| financing_annual_rate | No | Taxa anual do financiamento concorrente, em % (padrão 24, ordem de grandeza do crédito para veículo a pessoa física). Era fixa em 10%, taxa que não existe no mercado com a Selic atual. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the disclosure burden. It explains what the tool computes but does not disclose assumptions, formulas, or what happens if optional parameters are omitted. This is adequate but leaves meaningful 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler: the first defines purpose and outputs, the second gives parameter names and usage guidance. Information is front-loaded and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters, no annotations, and no output schema, the description covers the main outputs and input expectations reasonably well. It does not detail return format or behavioral caveats, but the high schema coverage compensates partially.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by explicitly separating required from optional parameters and instructing the agent to use exact English parameter names, which helps avoid translation or naming mistakes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states the tool simulates consórcio and enumerates concrete outputs: monthly installment, total cost with admin fee, and comparison with financing. This is precise and distinguishes it from finance-only siblings like calculate_financing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through 'Simula consórcio' and lists required/optional parameters, but it does not explicitly say when to choose this over calculate_financing or compare_loans, nor does it provide exclusions. The routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_credit_card_interestAInspect
Calcula juros do crédito rotativo do cartão e compara com parcelamento da fatura. Mostra o custo real de pagar o mínimo. Parâmetros obrigatórios: bill_amount. Opcionais: minimum_payment_percent, revolving_rate, installment_rate, installment_months. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| bill_amount | Yes | Valor total da fatura em R$ | |
| revolving_rate | No | Taxa de juros rotativo mensal (%, padrão 14%) | |
| installment_rate | No | Taxa de juros do parcelamento mensal (%, padrão 8%) | |
| installment_months | No | Parcelas do parcelamento | |
| minimum_payment_percent | No | % do pagamento mínimo (padrão 15%) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries this burden. It discloses the calculation/comparison behavior and the output concept ('Mostra o custo real de pagar o mínimo'), and 'Calcula' implies a read-only operation. It does not describe input assumptions or edge cases, but nothing contradicts the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences cover function, output, and parameter requirements with no filler. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a calculator with no output schema and no annotations, the description gives essential call context: purpose, required/optional parameters, and the English-naming caution. It lacks an explicit output structure and edge-case guidance, so it is not a 5, but it is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with type, range, and default descriptions for all five parameters. The description adds a line telling the agent exactly which names are required vs optional and to use English parameter names, which is genuinely useful for this Portuguese-labeled tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Calcula'), a precise resource ('juros do crédito rotativo do cartão'), and a comparison target ('parcelamento da fatura'). This clearly distinguishes it from generic sibling calculators such as calculate_installment and compare_loans.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The first sentence establishes a clear scenario: comparing revolving credit interest against invoice installment. It does not explicitly name alternatives or exclusions, but the context is clear enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_custo_demissaoAInspect
Calcula quanto custa demitir um funcionário CLT nos três caminhos: sem justa causa (aviso indenizado cheio + multa de 40% do FGTS), acordo mútuo (metade do aviso + multa de 20%) e pedido de demissão (só as proporcionais). Estima a base do FGTS quando não informada. Parâmetros obrigatórios: salary, months_worked, months_this_year. Opcionais: fgts_deposits_base, has_overdue_vacation. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| salary | Yes | Salário mensal do funcionário, em R$ | |
| months_worked | Yes | Tempo de casa, em meses | |
| months_this_year | Yes | Meses trabalhados no ano corrente (avos do 13º) | |
| fgts_deposits_base | No | Total de depósitos de FGTS do contrato (base da multa). Omitido, estimamos 8% × salário × meses | |
| has_overdue_vacation | No | Há período de férias vencido e não gozado |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses a key behavior beyond a simple read: 'Estima a base do FGTS quando não informada' (estimates the FGTS base when not supplied). It also transparently explains the calculation logic for each path, including which components are included. No contradictions exist since there are no annotations. It could have mentioned output format, but the estimation behavior is the main non-obvious trait and is clearly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: three sentences plus a parameter list. The main purpose and scenario breakdown are front-loaded, followed by parameter guidance. The list of required/optional parameters partially repeats the schema, but the explicit naming instruction earns its place for agent usability. Slight redundancy keeps it from a 5, but it is efficient and well-ordered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a calculator tool with 5 parameters and no output schema, the description is largely sufficient. It covers the three scenarios, the estimation behavior, and required/optional parameters. Combined with 100% schema coverage, an agent can invoke it correctly. Missing details like output format or whether all three results are returned at once are minor given the phrase 'nos três caminhos' implies all paths are calculated. It is complete enough for its complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameter meanings. The description adds value by reiterating which parameters are required vs optional and clarifying that fgts_deposits_base is the base for the fine, but this largely duplicates schema descriptions like 'Omitido, estimamos 8% × salário × meses'. The instruction to use exact English names is helpful but not semantic enrichment beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Calcula') and resource ('quanto custa demitir um funcionário CLT') and enumerates the three distinct dismissal paths (sem justa causa, acordo mútuo, pedido de demissão). This clearly distinguishes it from sibling tools like calculate_severance or calculate_fgts by specifying exact scenarios and calculation components (40% FGTS fine, 20% fine, proportional amounts).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly defines when to use this tool: for any CLT dismissal cost calculation covering the three named paths. It provides clear context about scope (CLT employees, three termination types) but does not explicitly mention alternative tools or when not to use it. The scenario breakdown gives enough context for selecting it, though it stops short of naming sibling exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_darfAInspect
Calcula o DARF mensal de renda variável da pessoa física: ações swing trade (15%, isenção de vendas até R$ 20 mil/mês), day-trade (20%, IRRF compensável) e FIIs (20%), com compensação de prejuízo por modalidade. Opcionais: swing_result, swing_sales, swing_loss_carryforward, daytrade_result, daytrade_loss_carryforward, fii_result, fii_loss_carryforward, irrf_withheld. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| fii_result | No | Resultado do mês com FIIs em R$ (negativo = prejuízo) | |
| swing_sales | No | Total de VENDAS de ações à vista no mês em R$ (régua da isenção de 20 mil) | |
| swing_result | No | Resultado do mês com ações swing trade em R$ (negativo = prejuízo) | |
| irrf_withheld | No | IRRF retido na fonte no mês (dedo-duro), compensável, em R$ | |
| daytrade_result | No | Resultado do mês com day-trade em R$ (negativo = prejuízo) | |
| fii_loss_carryforward | No | Prejuízo acumulado de FIIs em R$ | |
| swing_loss_carryforward | No | Prejuízo acumulado de swing trade de meses anteriores em R$ | |
| daytrade_loss_carryforward | No | Prejuízo acumulado de day-trade em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does substantial work: it discloses tax rates, the sales exemption threshold, IRRF offset, and loss compensation by modality. It does not mention output format or edge cases, but the key computational behavior 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. The core calculation is front-loaded, and the compact parameter enumeration plus the explicit 'use exactly these names' instruction earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description sufficiently covers the calculation domain, tax rules, and all 8 optional input names for a tool with no output schema. The main gap is that it does not describe what the return value looks like, but the tool's purpose makes the output largely self-evident.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the schema already documents each parameter's meaning. The description adds value by listing all parameter names and insisting they be used exactly in English, but it does not add deeper semantic details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Calcula') and a precise resource: the monthly DARF of variable income for individuals. It further disambiguates by enumerating the exact modalities (swing trade, day-trade, FIIs) and their respective rates, making it clearly distinct from generic sibling calculators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on when to use the tool: for monthly variable-income DARF calculation with specific rules such as the R$ 20k exemption and IRRF compensation. However, it does not explicitly state when not to use it or point to an alternative, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_debt_payoffBInspect
Calcula plano de quitação de dívidas pelo método avalanche (maior juros primeiro) ou bola de neve (menor saldo primeiro). Compara os dois. Parâmetros obrigatórios: debts. Opcionais: extra_payment. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| debts | Yes | Lista de dívidas | |
| extra_payment | No | Valor extra mensal além dos mínimos em R$ |
TDQS
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 says the tool 'calcula' and 'compara', but it does not describe the return format, whether it assumes a certain payment schedule, any limitations, or side effects. For a calculator with no output schema, this is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the core functionality, followed by parameter instructions. It contains no fluff, but the sentence 'Parâmetros obrigatórios: debts. Opcionais: extra_payment.' largely duplicates the schema's required list. The added instruction to use exact English names earns some value, but the redundancy prevents a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has two parameters and a complete schema, but there is no output schema and the description does not explain what the comparison result looks like. An agent would not know whether the tool returns monthly payment plans, total interest savings, payoff timelines, or a simple recommendation. This missing return-value context is a critical gap for a calculator tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds a useful instruction to use exact English parameter names and identifies which parameter is required vs optional, but it does not add semantic meaning beyond what the schema already provides. The core meanings of 'debts' and 'extra_payment' are already fully documented in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: it calculates a debt payoff plan using two distinct methods (avalanche and snowball) and compares them. It also names the required and optional parameters, leaving no ambiguity about what the tool does. It stands apart from the many sibling calculators by explicitly identifying the comparison behavior.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool — when the user wants to compare avalanche vs snowball debt payoff strategies. However, it does not explicitly state when not to use it or which sibling tools (e.g., compare_loans) might be more appropriate for other debt comparisons. The guidance is limited to parameter usage, not situational selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_dias_uteisAInspect
Conta dias úteis entre duas datas ou projeta quando termina um prazo de N dias úteis, descontando fins de semana e TODOS os feriados nacionais e bancários (Carnaval e Corpus Christi param boleto). Convenção de prazo: o dia inicial não conta, o final conta. Funciona pra qualquer ano. Parâmetros obrigatórios: start_date. Opcionais: end_date, add_days. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| add_days | No | Quantidade de dias úteis, pra PROJETAR em que data o prazo termina | |
| end_date | No | Data final (aaaa-mm-dd), pra CONTAR os dias úteis do intervalo | |
| start_date | Yes | Data inicial (aaaa-mm-dd); ela própria não entra na conta |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and covers key traits: it discounts weekends and all national/banking holidays, applies the 'start excludes, end includes' convention, and works for any year. It does not describe the exact return shape or behavior when conflicting parameters are provided, but the core behavior 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the core purpose, and every sentence contributes either behavioral detail or parameter routing. No filler or repeated schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
All invocation-critical details are present: modes of operation, holiday handling, day-count convention, and parameter requirements. The only gap is that the description does not explicitly state the response format (count vs date), though the tool's name and wording make it strongly inferable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents each parameter, but the description adds value by marking start_date as mandatory, grouping end_date vs add_days by use case, and instructing the agent to use the exact English parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names two precise operations: counting business days between dates and projecting a deadline of N business days. It clearly identifies the domain (weekends plus all national and banking holidays) and distinguishes itself from generic date/calculation siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states which parameters are mandatory or optional and associates end_date with counting and add_days with projecting, so an agent knows how to select the right mode. It does not name alternatives or give exclusion criteria, which prevents a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_discountAInspect
Calcula desconto: o preço final a partir de um percentual, ou o percentual a partir de um preço final. Parâmetros obrigatórios: original_price. Opcionais: discount_percent, final_price. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| final_price | No | Preço já com desconto em R$, para descobrir o percentual. Informe este ou o `discount_percent`. | |
| original_price | Yes | Preço original em R$ | |
| discount_percent | No | Percentual de desconto. Informe este ou o `final_price`. |
TDQS
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 only restates the calculation modes and parameter presence; it does not describe the return shape, behavior when both or neither optional parameter is supplied, rounding, or error handling. With no output schema, these are meaningful gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded with the core function, and contains no filler. The parameter summary and 'use exactly these names' reminder are slightly redundant with the schema, but they are concise and serve as useful guardrails.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple three-parameter calculator, the essential invocation context is present. However, without an output schema, the description omits the return format and edge-case behavior such as supplying both optional parameters or neither, leaving some uncertainty for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each parameter and the exclusivity between final_price and discount_percent. The description adds only a redundant required/optional summary and the instruction to use exact English names, which does not meaningfully improve on the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Calcula desconto' and immediately clarifies the two supported directions: final price from a percentage, or percentage from a final price. This makes the tool's specific function unmistakable and distinguishes it from the many sibling calculate_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states that original_price is required and discount_percent/final_price are optional, and it frames the two main usage scenarios. It does not name alternative tools or explicit exclusion conditions, but the intended use context is clear enough for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_dividend_income_goalAInspect
Calcula o patrimônio necessário pra viver de dividendos: renda mensal desejada dividida pelo dividend yield da carteira, a renda que o patrimônio atual já gera, e em quanto tempo o aporte mensal chega lá. Parâmetros obrigatórios: monthly_income. Opcionais: dividend_yield, current_portfolio, monthly_contribution, annual_return. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| annual_return | No | Rentabilidade total anual na acumulação em % (padrão 10) | |
| dividend_yield | No | Dividend yield anual da carteira em % (padrão 8) | |
| monthly_income | Yes | Renda mensal desejada em R$ | |
| current_portfolio | No | Patrimônio já investido em R$ | |
| monthly_contribution | No | Aporte mensal em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently explains the calculation logic (income divided by yield, current portfolio income, and accumulation time), which is the core behavior. However, it does not mention output format, limitations, or edge cases like zero dividend yield, so it's not fully exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, purposeful sentence that states the primary function first, then lists required and optional parameters. It is concise and well-ordered, though the opening sentence is a bit long and could be divided for even better readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema and five parameters, the description explains the core formula but does not specify the return format or how results are presented. It also doesn't address potential division by zero if dividend_yield is zero, although the schema's minimum of 0.5 provides some implicit protection. Overall, it covers the essential logic but lacks some completeness for edge cases and output structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all five parameters with 100% coverage, so the description adds limited extra meaning. It does note that monthly_income is required and instructs the use of English parameter names, which is helpful, but it doesn't enrich understanding of each parameter beyond the schema's own descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: calculating the wealth needed to live off dividends, and breaks down the calculation (monthly income divided by dividend yield, current income, and time to goal). This specific verb-resource pairing distinguishes it from siblings like calculate_dividend_yield, which focuses on yield rather than the goal amount.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies required and optional parameters but does not explicitly compare with alternatives such as calculate_financial_independence or calculate_retirement. The purpose implies when to use it, but there's no when-not guidance or named sibling alternatives, so it remains at the 'implied usage' level.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_dividend_yieldAInspect
Calcula rendimento de dividendos — quanto precisa investir pra receber X por mês em dividendos de ações ou FIIs. Parâmetros obrigatórios: target_monthly_income. Opcionais: annual_yield, current_investment, monthly_contribution. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| annual_yield | No | Dividend yield anual esperado (%, padrão 8%) | |
| current_investment | No | Quanto já tem investido em R$ | |
| monthly_contribution | No | Aporte mensal em R$ | |
| target_monthly_income | Yes | Renda mensal desejada em dividendos (R$) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It explains that the tool computes required investment for a target monthly dividend income, which is useful. However, it does not disclose calculation assumptions, output format, or limitations such as whether the annual yield is applied directly without monthly compounding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the core purpose appears in the first sentence, followed by required/optional parameters and a naming instruction. Every sentence contributes necessary information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculator tool, the description combined with the fully-covered schema is mostly complete for invocation. The main gap is the absence of any statement about what the result represents or how it is returned, since there is no output schema to fill that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% parameter descriptions and defaults, so the description adds little semantic value beyond restating required vs optional parameters. The note to use exact English names is a minor practical addition but does not deepen understanding of any parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the function: 'quanto precisa investir pra receber X por mês em dividendos de ações ou FIIs' — a specific goal of computing required investment for a target monthly dividend income. It is clear but does not explicitly differentiate itself from near-sibling tools such as calculate_dividend_income_goal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool through the stated scenario, and it lists required vs optional parameters, including the instruction to use exact English parameter names. However, it offers no explicit guidance on when to choose this tool over alternatives like calculate_dividend_income_goal or calculate_investment_return.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_emergency_fundBInspect
Calcula o valor ideal da reserva de emergência e quanto tempo leva para montar, baseado nos gastos mensais e perfil. Parâmetros obrigatórios: monthly_expenses. Opcionais: profile, current_savings, monthly_saving, monthly_return. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| profile | No | Perfil profissional | clt |
| monthly_return | No | Rendimento mensal de onde o dinheiro fica, em % (ex: 1 = 1% ao mês). Padrão zero, que é o prazo sem contar rendimento. | |
| monthly_saving | No | Quanto consegue guardar por mês em R$ | |
| current_savings | No | Quanto já tem guardado em R$ | |
| monthly_expenses | Yes | Gastos mensais fixos em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It clarifies that this is a calculation tool based on expenses and profile and notes the required versus optional parameters, but it does not disclose underlying assumptions (e.g., how profile maps to target months, whether monthly_return compounds) or what the return payload contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the tool's purpose, followed by parameter requirements. The explicit reminder about using English parameter names is useful and earns its place, though listing all optional parameters partly duplicates the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives the core purpose and identifies required/optional inputs, which is reasonably complete for a simple calculator with no output schema. However, it omits important details such as the units for the 'time' output and the profile-based multiplier logic, so an agent could not fully anticipate the computed result without invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents each parameter. The description adds value by naming the required and optional parameters and by telling the agent to use exact English names, but it does not add deeper semantic meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Calcula'), a resource ('reserva de emergência'), and the computed outputs (ideal value and time to build). It distinguishes the tool from financial-independence or investment-return calculators by its explicit emergency-fund focus, though it does not name sibling alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool—when an emergency fund value or funding timeline is needed—by specifying inputs like monthly expenses and profile. However, it gives no explicit guidance about when not to use it or which sibling tool might be more appropriate for related scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_employee_costBInspect
Calcula o custo total de um funcionário CLT para a empresa — encargos, FGTS, 13º, férias, provisões. Parâmetros obrigatórios: salary. Opcionais: vale_transporte, vale_refeicao, plano_saude, rat_rate, regime. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| regime | No | Regime tributário da empresa. O optante do Simples é dispensado de CPP, RAT e terceiros (LC 123/2006, art. 13, §3º), que já estão dentro do DAS; o anexo IV recolhe CPP e RAT à parte. O FGTS é devido em qualquer regime. | normal |
| salary | Yes | Salário bruto mensal em R$ | |
| rat_rate | No | Alíquota RAT já ajustada pelo FAP (%). Varia de 1 a 3 conforme o CNAE, dobrando ou reduzindo pela metade com o FAP. Padrão 3, o pior caso. | |
| plano_saude | No | Plano de saúde mensal em R$ | |
| vale_refeicao | No | Vale refeição mensal em R$ | |
| vale_transporte | No | Vale transporte mensal em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the disclosure burden. It does state the included cost components and the parameter names, but it does not disclose whether the output is monthly or annual, whether employee-side deductions (INSS, IRRF) are excluded, or how defaults affect the result. This is adequate but sparse for a financial 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: the first sentence states the purpose and cost components, and the second covers required/optional parameters plus a usage caution. It is front-loaded and contains no filler, although listing parameter names that already appear in the input schema is slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a complex financial calculation, the description should state whether the returned cost is monthly or annual and what aggregate the agent should present to the user. It also does not clarify what happens when optional parameters are omitted, leaving a critical interpretation gap for such an involved calculation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all six parameters with types, defaults, ranges, and regime-specific rules. The description only repeats the parameter names and adds a syntactic caution to use exact names, adding no semantic 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Calcula'), a clear resource ('custo total de um funcionário CLT para a empresa'), and enumerates the cost components (encargos, FGTS, 13º, férias, provisões). This makes it easy to distinguish from sibling calculators like calculate_net_salary or calculate_hourly_wage, which target the employee side rather than the employer-side total cost.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance about when to choose this tool over sibling calculators such as calculate_net_salary, calculate_annual_salary, or compare_clt_vs_pj. The phrase 'para a empresa' implies employer-side cost, but the description never states a decision rule, alternative, or exclusion, so an agent must infer the appropriate usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_energy_consumptionAInspect
Calcula o consumo de energia de uma lista de aparelhos em kWh e o custo mensal e anual, a partir da potência em watts e das horas de uso por dia. Parâmetros obrigatórios: appliances, price_per_kwh. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| appliances | Yes | Aparelhos a somar | |
| price_per_kwh | Yes | Preço do kWh em R$, com impostos e bandeira. Varia por distribuidora; olhe na conta de luz. |
TDQS
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 states the calculation inputs and outputs, but does not disclose any rounding behavior, units handling beyond kWh, order of operations, edge cases (e.g., zero watts), or whether the calculation assumes a standard month length. There is no mention of what happens with invalid inputs or how results are returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences. The first sentence front-loads the purpose and scope, and the second provides essential invocation details. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculation tool with two top-level parameters and no output schema, the description covers the inputs and outputs adequately. It specifies the required parameters and their units, which is sufficient for an agent to invoke it correctly. Minor gaps like explicit formula assumptions (e.g., monthly = 30 days) are not critical given the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: the input schema fully describes both parameters, including required fields within the appliances array and valid ranges for watts and hours_per_day. The description merely repeats the parameter names without adding semantic meaning beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise verb ('calcula'), a specific resource ('consumo de energia de uma lista de aparelhos'), and the calculated outputs (kWh, monthly and annual cost). It clearly differentiates from the many sibling calculate_* tools by naming the exact input domain (watts and hours per day).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly names the two required parameters (appliances, price_per_kwh) and instructs the agent to use exactly these English names, which is helpful for correct invocation. However, it does not provide when-to-use vs. alternative tools or exclusion conditions, though the specificity of the purpose makes alternatives unlikely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_equivalent_rateAInspect
Converte uma taxa de juros de um período para outro por equivalência composta (ex: 1,5% ao mês equivale a 19,56% ao ano, e não a 18%). Mostra também o que a multiplicação simples daria, para expor o erro. Parâmetros obrigatórios: rate, from, to. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Período desejado | |
| from | Yes | Período da taxa informada | |
| rate | Yes | A taxa conhecida, em % (ex: 1.5 para 1,5%) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It states that the calculation uses compound equivalence, also outputs the simple-multiplication result to expose the error, and requires exact English parameter names. It does not detail the response format or rounding behavior, but the core behavior of this pure calculator 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact at three sentences, front-loads the main action and example, then adds the comparison-output behavior and parameter-name reminder. The required-parameter list is slightly redundant with the schema, but the exact-name warning earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema supplies enums and the rate unit, and the description adds the formula, a worked example, and the fact that the response also exposes the simple-multiplication comparison. Since there is no output schema, a more explicit return-shape statement would help, but the definition is sufficient for a simple calculator invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents rate units and from/to enums. The description reinforces that rate, from, and to are mandatory and instructs the agent to use exactly those English names, an invocation cue rather than additional semantic meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Converte uma taxa de juros de um período para outro', and specifies the method as compound equivalence with a concrete example (1.5% a.m. → 19.56% a.a.). This clearly distinguishes the tool from the many sibling calculators by defining its exact conversion scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the intended use clear: convert interest rates between periods by compound equivalence, and it contrasts with simple multiplication by showing what 'multiplicação simples' would produce. It does not explicitly name sibling alternatives or exclusion conditions, but the contextual guidance is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_fator_rAInspect
Calcula o Fator R do Simples Nacional: folha/receita dos últimos 12 meses, o anexo resultante (III ou V), a alíquota efetiva nos dois cenários e quanto custa por mês ficar no anexo errado. Parâmetros obrigatórios: revenue_12m, payroll_12m. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| payroll_12m | Yes | Folha de salários dos últimos 12 meses em R$, incluindo pró-labore e encargos (INSS patronal e FGTS) | |
| revenue_12m | Yes | Receita bruta dos últimos 12 meses (RBT12) em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It makes the read-only, computational nature clear ('Calcula') and discloses exactly what results the tool produces, including the annex and cost scenarios. It omits assumptions or error behavior, but for a pure calculation tool this 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two purposeful sentences: the first captures the core computation and outputs, the second states the required parameters and naming constraint. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter calculator with no output schema, the description provides enough context about inputs and the main returned insights (annex, effective rates, monthly cost). It could add precise output formatting or assumptions, but an agent can reasonably select and invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already defines both parameters with units and meanings. The description reinforces that both are required and insists on exact English names, but adds little semantic information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Calcula o Fator R do Simples Nacional') and enumerates distinct outputs: resulting annex (III or V), effective rates in both scenarios, and monthly cost of being in the wrong annex. This clearly differentiates it from sibling calculators like calculate_simples_nacional even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case through the subject matter (Fator R) and explicitly lists required parameter names, but it does not state when to choose this tool over siblings or provide exclusion criteria. The guidance is inferable, not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_fgtsAInspect
Calcula saldo do FGTS, rendimento, saque-aniversário e multa rescisória de 40%. Atualizado 2026. Parâmetros obrigatórios: salary, months_worked. Opcionais: include_anniversary_withdrawal. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| salary | Yes | Salário bruto mensal em R$ | |
| months_worked | Yes | Meses trabalhados | |
| include_anniversary_withdrawal | No | Calcular saque-aniversário? |
TDQS
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 currency ('Atualizado 2026') and enumerates computed components, which is useful. Still, it does not mention assumptions (e.g., 8% contribution rate), limitations, or whether results are estimates, leaving the behavior only partly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, with no filler. Each sentence earns its place: what is calculated, the 2026 update, required/optional parameters, and the naming caution.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter calculator with no output schema, the description lists the expected outputs and parameter requirements, which is decent. But it omits relevant boundary conditions, assumptions about FGTS rules, and any pointer to related tools, leaving some context gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already fully documents salary, months_worked, and include_anniversary_withdrawal. The description reinforces required/optional status and naming conventions but adds little semantic meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Calcula') with a clear resource (FGTS) and enumerates the exact outputs: saldo, rendimento, saque-aniversário, and multa rescisória de 40%. This level of specificity distinguishes it from other calculate_* siblings, even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states which parameters are required versus optional and insists on exact English names, which helps invocation. However, it does not guide the agent on when to choose this tool over closely related siblings like calculate_antecipacao_fgts or calculate_custo_demissao; selection 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.
calculate_financial_independenceAInspect
Calcula quanto você precisa acumular para viver de renda (independência financeira) usando a regra dos 4% ou taxa personalizada. Parâmetros obrigatórios: monthly_expenses. Opcionais: current_savings, monthly_investment, annual_return, withdrawal_rate. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| annual_return | No | Retorno real anual esperado (% acima da inflação, padrão 8%) | |
| current_savings | No | Patrimônio já acumulado em R$ | |
| withdrawal_rate | No | Taxa de retirada anual segura (%, padrão 4%) | |
| monthly_expenses | Yes | Gastos mensais desejados em R$ | |
| monthly_investment | No | Quanto investe por mês em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses the core method (4% rule or custom withdrawal rate), which is meaningful, but it does not explain how current_savings and monthly_investment affect the result, what the output represents, or any assumptions such as inflation or real returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: two sentences that front-load the purpose, then list the required and optional parameters. Every sentence contributes operational value and there is no redundant wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a calculator with 5 parameters and no output schema, the description is adequate for selecting the tool and knowing the main inputs. However, it does not state the return format, whether the result is a single target amount, or how optional inputs like current_savings and monthly_investment alter the calculation, which leaves some ambiguity for an agent with no output schema to rely on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well documented in the schema. The description adds value beyond the schema by clearly grouping required versus optional parameters and warning the agent to use the exact English field names, which is useful given the Portuguese-language description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it calculates the amount you need to accumulate to live off investment income, using the 4% rule or a custom withdrawal rate. It is clear and distinct in intent, but it does not name or distinguish itself from closely related siblings such as calculate_retirement, calculate_first_million, or can_i_quit_job.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when the user asks about financial independence based on expenses and a withdrawal rate. It also gives operational guidance by listing required and optional parameters and stressing the exact English parameter names. However, it provides no explicit when-not-to-use guidance or alternatives among the many sibling financial calculators.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_financingAInspect
Calcula financiamento imobiliário SAC ou Price. Parcelas, juros totais e valor total pago. Parâmetros obrigatórios: property_value, annual_rate, months. Opcionais: down_payment, system. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| months | Yes | Prazo em meses | |
| system | No | Sistema de amortização. Price tem parcela fixa e é o padrão do mercado; SAC começa mais cara e cai todo mês | price |
| annual_rate | Yes | Taxa de juros anual (ex: 10 = 10% ao ano) | |
| down_payment | No | Valor da entrada em R$. Sem entrada, é zero | |
| property_value | Yes | Valor do imóvel em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It discloses the three key outputs and the two supported systems, but it does not clarify behavioral details such as whether the down payment reduces the financed principal, the exact return shape, or what costs are excluded (e.g., taxes/fees).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short, purposeful sentences. It front-loads the function, then lists required/optional parameters, and ends with a naming reminder. Every sentence earns its place with no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description appropriately names the outputs an agent can expect. Given the rich parameter schema, the only notable omissions are how down_payment interacts with property_value in the calculation and the exact structure of the returned result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters already have meaningful descriptions. The tool description only restates which parameters are required/optional and emphasizes using exact English names, which adds no semantic value beyond the schema's existing definitions and examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Calcula financiamento imobiliário SAC ou Price' and then lists concrete outputs (parcelas, juros totais, valor total pago). This clearly separates it from sibling calculators like calculate_installment or compare_loans by restricting scope to real-estate financing with two explicit amortization systems.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the purpose statement, but there is no explicit guidance on when to choose this tool over related siblings such as compare_loans or calculate_installment. The description does provide useful parameter-level guidance (required vs optional, exact names), but it does not state exclusions or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_first_millionAInspect
Calcula em quanto tempo um aporte mensal chega a R$ 1 milhão (ou outra meta), quanto veio de juros, e o aporte necessário pra fechar em 10, 20 ou 30 anos. Taxa real escolhida pelo usuário. Parâmetros obrigatórios: monthly_contribution. Opcionais: initial_amount, annual_return, target_amount. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| annual_return | No | Rentabilidade anual em % (8 = padrão conservador de renda fixa líquida) | |
| target_amount | No | A meta em R$ (padrão: 1 milhão) | |
| initial_amount | No | Quanto já tem investido em R$ | |
| monthly_contribution | Yes | Aporte mensal em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does disclose the calculation behavior, the real-rate assumption, and the parameter categories, but it does not describe the output structure or edge-case behavior (e.g., zero contribution, zero return, or how the 10/20/30-year results are returned together).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with no filler. The main purpose is front-loaded, followed by the parameter contract. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has moderate complexity (4 params, no output schema) and many siblings. The description covers the scenario, calculations, required/optional parameters, and naming convention, which is enough to invoke it correctly. However, it leaves the exact output shape unspecified, which would be helpful given the multi-part calculation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, giving a solid schema baseline of 3. The description adds value by explicitly grouping required vs optional parameters and instructing to use the exact English parameter names, which is useful for an agent that might otherwise localize or reorder the arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Calcula') and a clear resource: how long a monthly contribution takes to reach R$ 1 million, how much came from interest, and the required contribution for 10/20/30 years. This clearly differentiates the tool from investment siblings like calculate_compound_interest or calculate_retirement by its unique goal-based horizon output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: use this when the user has a monthly contribution and wants to know time-to-goal, interest share, or needed contribution for fixed horizons. It does not explicitly name alternatives or say when not to use it, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_ganho_capital_imovelAInspect
Calcula o imposto sobre o ganho de capital na venda de imóvel (DARF 4600): alíquotas progressivas de 15% a 22,5%, isenção do único imóvel até R$ 440 mil, isenção por compra de outro residencial em 180 dias, redução da Lei 7.713 pra imóvel antigo e os fatores FR1/FR2 da Lei 11.196 que reduzem o imposto de todo mundo. Parâmetros obrigatórios: sale_price, acquisition_cost, acquisition_year, sale_year. Opcionais: acquisition_month, sale_month, brokerage_fee, only_property, reinvested_in_residential. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| sale_year | Yes | Ano da venda | |
| sale_month | No | Mês da venda (1-12) | |
| sale_price | Yes | Valor da venda em R$ | |
| brokerage_fee | No | Corretagem paga pelo vendedor (deduz do valor da venda) | |
| only_property | No | É o único imóvel do vendedor, sem outra venda de imóvel nos últimos 5 anos | |
| acquisition_cost | Yes | Custo de aquisição declarado: escritura + benfeitorias comprovadas + ITBI e custas da compra, SEM correção monetária | |
| acquisition_year | Yes | Ano da compra do imóvel | |
| acquisition_month | No | Mês da compra (1-12) | |
| reinvested_in_residential | No | Valor da venda que será usado pra COMPRAR outro imóvel residencial no Brasil em até 180 dias (isenção proporcional, uma vez a cada 5 anos) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Sem anotações, a descrição carrega o peso da transparência e faz isso bem: revela as regras de cálculo (alíquotas progressivas 15% a 22,5%, isenção do único imóvel até R$ 440 mil, isenção por reinvestimento em 180 dias, redução da Lei 7.713 e fatores FR1/FR2). Isso informa o agente sobre o comportamento substancial da ferramenta, ainda que não descreva o formato exato da resposta.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A descrição é longa, mas concentra informações úteis em duas frases: a primeira define o propósito e as regras de cálculo, a segunda orienta sobre parâmetros. Embora repita parcialmente a existência dos parâmetros já presentes no schema, a instrução final sobre nomes exatos agrega valor.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Para uma ferramenta complexa com 9 parâmetros e sem output schema, a descrição cobre os principais elementos de negócio, isenções e parâmetros obrigatórios/opcionais. Faltam apenas detalhes como tratamento de entradas inválidas ou formato do retorno, mas o núcleo para chamar e entender o comportamento está presente.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
A cobertura do schema é 100%, então o baseline é 3. A descrição lista os parâmetros obrigatórios e opcionais e instrui 'Use exatamente estes nomes, em inglês', o que ajuda na chamada, mas não adiciona significado semântico além do que já está documentado nas descrições do schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A descrição começa com verbo específico e recurso preciso: 'Calcula o imposto sobre o ganho de capital na venda de imóvel (DARF 4600)'. Os detalhes de alíquotas, isenções e fatores FR1/FR2 deixam claro que este não é um calculador genérico de DARF ou de imposto de renda, distinguindo-o dos muitos irmãos calculate_*.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
O contexto de uso fica implícito pelos detalhes do imposto sobre ganho de capital imobiliário e pela enumeração de parâmetros obrigatórios e opcionais. Porém, a descrição não diz explicitamente quando usar esta ferramenta em vez de alternativas próximas, como calculate_darf ou calculate_imposto_*.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_gross_from_netAInspect
Calcula quanto de salário BRUTO é preciso para receber um líquido combinado, descontando INSS e IRRF. É o inverso do calculate_net_salary: útil para negociar proposta ('quero R$ 5.000 na mão') e para o empregador saber quanto registrar na carteira. Parâmetros obrigatórios: net_salary. Opcionais: dependents, reference_date. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| dependents | No | Número de dependentes para dedução do IRRF | |
| net_salary | Yes | O salário líquido desejado, em R$ | |
| reference_date | No | Data de referência (aaaa-mm-dd) pra usar a tabela vigente NAQUELA data. Omitida, usa a de hoje. |
TDQS
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 clearly discloses the core behavior: reverse calculation from net to gross while discounting INSS and IRRF. Minor gaps remain around rounding, cap limits, and handling of infeasible inputs, but the main computational behavior 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded: first the core purpose, then the sibling distinction and use cases, then the required/optional parameters. Every sentence adds value and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculator with a complete parameter schema, the description covers purpose, usage, sibling distinction, and parameter names. The main gap is that there is no explicit statement about the return/output format, and edge cases such as impossible net targets are not mentioned, but the tool is still easy to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description usefully restates required vs optional parameters and insists on exact English names, but it adds no semantic meaning beyond what the schema already provides for types, defaults, bounds, or date format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Calcula') and names the resource: gross salary needed to achieve a target net salary after INSS and IRRF. It also explicitly says 'É o inverso do calculate_net_salary', which clearly differentiates it from the most closely related sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description names the alternative tool directly and gives concrete scenarios: negotiating a proposal ('quero R$ 5.000 na mão') and telling an employer how much to register in the work card. This gives an agent clear when-to-use guidance without ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_hourly_wageAInspect
Calcula o valor da hora de trabalho pelo divisor da CLT (jornada de 44h semanais equivale a 220 horas mensais) e também o valor real por hora, descontando o tempo de trajeto e os gastos que só existem porque a pessoa trabalha. Parâmetros obrigatórios: monthly_salary. Opcionais: weekly_hours, weekly_commute_hours, work_related_costs. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| weekly_hours | No | Jornada contratada por semana, em horas | |
| monthly_salary | Yes | Salário mensal em R$ (use o líquido para o número mais honesto) | |
| work_related_costs | No | Gastos mensais que só existem por causa do trabalho (transporte, almoço fora, roupa, creche), em R$ | |
| weekly_commute_hours | No | Horas por semana no trajeto, ida e volta |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the calculation methodology (44h weekly = 220h monthly CLT divisor) and the behavioral adjustment logic (discounting commute time and expenses that exist only because of work). It doesn't mention rounding or exact output structure, but for a pure 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, purposeful sentences. The core calculation and its variants are front-loaded, followed by parameter guidance. There is no filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is low-complexity: 4 scalar parameters, no nested objects, no output schema. The description names all parameters, requiredness, and the two outputs (legal hourly value and real hourly value). It does not explicitly state output units or rounding, but these are reasonably implied by the salary and hours context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description names the required and optional parameters and reinforces the exact English names, but it adds no deeper semantics beyond what the schema already provides for each field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it calculates the hourly wage using the CLT divisor and also computes a 'real' hourly value by discounting commute time and work-related costs. This clearly distinguishes it from the many calculate_* siblings by naming the exact calculation method and the adjusted output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly lists required and optional parameters and instructs the agent to use exact English names, which is clear operational guidance. It does not name alternative sibling tools or exclusion scenarios, but the intended use-case—hourly wage with commuting/cost adjustments—is clear enough from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_import_taxAInspect
Calcula o imposto de compra internacional (Shein, AliExpress, Amazon): 20% até US$ 50 no Remessa Conforme, 60% com desconto de US$ 20 acima, ICMS de 17% por dentro, convertido pelo dólar do dia do Banco Central. Parâmetros obrigatórios: product_usd. Opcionais: freight_usd, remessa_conforme. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| freight_usd | No | Frete e seguro em US$ (entram na base do imposto) | |
| product_usd | Yes | Valor do produto em US$ (o limite do regime é US$ 3.000) | |
| remessa_conforme | No | Comprado em plataforma do Remessa Conforme (Shein, AliExpress, Amazon: quase todas são) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden and mostly meets it: it discloses the tax rates (20% up to US$50, 60% with US$20 discount above), the 17% ICMS 'por dentro', and the Central Bank exchange rate conversion. It does not state the output format, but the calculation behavior is clearly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-organized: purpose and rates are front-loaded, then required and optional parameters. Each sentence carries useful information, though the rule details could be more structured for easier parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tax calculation rules are fully explained, but there is no output schema and the description does not state what the tool returns (e.g., tax amount in BRL). Edge cases like values over US$3,000 or invalid inputs are also unaddressed, leaving minor gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description restates which parameters are required vs optional and advises using exact English names, but it adds no new semantic meaning beyond what the schema already documents for each field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Calcula o imposto de compra internacional') and gives concrete examples (Shein, AliExpress, Amazon). It distinguishes itself from sibling calculators by focusing on import tax rules, so an agent can tell it apart from other calculate_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context for when to use the tool: international purchases under Remessa Conforme, with the relevant tax brackets. It does not name alternatives or explicitly state when-not-to-use, but the domain is sufficiently constrained to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_imposto_apostasAInspect
Calcula o imposto sobre prêmios de apostas esportivas e bets (Lei 14.790): 15% sobre os ganhos LÍQUIDOS do ano (prêmios menos apostas) no que passar da isenção da primeira faixa da tabela anual do IRPF. Parâmetros obrigatórios: annual_prizes, annual_stakes. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| annual_prizes | Yes | Total de prêmios recebidos no ano, em R$ | |
| annual_stakes | Yes | Total apostado no ano, em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It goes beyond a tautology by disclosing the calculation basis (15% on net annual gains above the IRPF exemption) and the legal foundation. It stops short of describing the return contract, but the core behavior is well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with the key formula front-loaded and parameter instructions after; no filler or redundant explanation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a deterministic calculator with two scalar inputs, the description plus schema is sufficient to select and invoke correctly. The only mild omission is the explicit output shape or zero-loss behavior, but no output schema exists and the computed value is strongly implied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both parameters already have full Portuguese schema descriptions with units (R$), so the description adds limited semantic value. It reinforces that the names must be used exactly and that they are mandatory, but this largely duplicates the schema's required array.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Calcula'), names the resource ('imposto sobre prêmios de apostas esportivas e bets'), and even states the rate and legal basis (Lei 14.790). This clearly distinguishes it from the many other calculate_* tax siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly identifies the intended context — annual betting/gambling prize taxation — and explicitly designates the two required parameters. It does not name alternatives or exclusions, so it falls short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_imposto_criptoAInspect
Calcula o imposto sobre ganhos com cripto: isenção quando as vendas do mês ficam em até R$ 35 mil (custódia no Brasil), alíquotas progressivas do ganho de capital acima disso (DARF 4600), e o regime da Lei 14.754 pra exchange no exterior (15% no ajuste anual, sem isenção). Parâmetros obrigatórios: monthly_sales, profit. Opcionais: held_abroad. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| profit | Yes | Ganho apurado nas vendas do mês (prejuízo entra negativo) | |
| held_abroad | No | Cripto custodiada em exchange no EXTERIOR (regime anual da Lei 14.754) | |
| monthly_sales | Yes | Total VENDIDO em cripto no mês, em R$ (todas as exchanges, P2P e trocas cripto-cripto somadas) — não o lucro |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility, and it discloses substantive behavior: R$ 35k exemption for Brazil custody, progressive rates above it, DARF 4600, and the Lei 14.754 15% annual-adjustment regime with no exemption for foreign-held crypto.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the primary verb and object, then compacts the key rules into a colon-delimited list and three short parameter sentences. No filler or repeated schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tax calculator with no annotations and no output schema, the description supplies the regimes, threshold, and parameter mapping needed to invoke it. The only notable gap is that it never states the return contract explicitly (e.g., computed DARF amount or tax value), so the agent must infer the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all three parameters at 100%, so the baseline is 3; the description adds a useful guard by naming required and optional parameters and insisting on exact English names ('Use exatamente estes nomes, em inglês'). It does not add new semantic detail beyond the schema, hence not a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact operation ('Calcula o imposto sobre ganhos com cripto') and scopes it with three tax regimes, so an agent can distinguish it from generic tools like calculate_darf or calculate_imposto_apostas without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening clause gives clear selection context: use for crypto capital-gains tax, with monthly-sales threshold and foreign-exchange special regime. It does not explicitly name sibling alternatives or state when not to use it, so it misses the top score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_imposto_dividendosAInspect
Calcula o imposto sobre dividendos a partir de 2026 (Lei 15.270): a retenção de 10% na fonte quando uma empresa paga mais de R$ 50 mil no mês, e a régua da tributação mínima anual (IRPFM) pra renda acima de R$ 600 mil/ano. Parâmetros obrigatórios: monthly_dividends. Opcionais: annual_income. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| annual_income | No | Renda tributável TOTAL do ano (salários, dividendos, tudo), pra régua da tributação mínima. Opcional. | |
| monthly_dividends | Yes | Dividendos recebidos no mês de UMA empresa, em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it does disclose the two distinct behaviors: 10% withholding over R$ 50k/month and the annual minimum taxation rule for income over R$ 600k/year. It does not describe the output format or what happens when annual_income is omitted, but the core calculation behavior 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the first sentence identifies the purpose and law, the second covers the two calculation rules, and the final sentence clarifies parameters. Every sentence earns its place and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers the legal basis, thresholds, required vs optional parameters, and parameter names—enough to invoke the tool correctly. The main missing piece is the return semantics, such as whether the result is a single tax amount, a breakdown, or zero when thresholds are not met.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already explains both parameters well. The description adds the explicit instruction to use the exact English parameter names, which is helpful, but it does not meaningfully deepen the conceptual meaning of monthly_dividends or annual_income beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a specific verb and resource: 'Calcula o imposto sobre dividendos a partir de 2026 (Lei 15.270)'. It goes beyond a generic label by naming the legal rule and both calculation thresholds, which clearly distinguishes it from dividend-yield, IRPF, and other tax siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: for dividend tax under Lei 15.270, covering the R$ 50k monthly withholding trigger and the R$ 600k annual minimum-tax rule. It does not explicitly mention alternatives or state when not to use it, but the legal and threshold context is strong 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.
calculate_inflation_adjustmentBInspect
Corrige um valor pela inflação (IPCA). Mostra quanto um valor do passado equivale hoje, ou quanto o poder de compra diminuiu. Parâmetros obrigatórios: original_value, years. Opcionais: annual_inflation, direction. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| years | Yes | Número de anos | |
| direction | No | Direção do cálculo | past_to_present |
| original_value | Yes | Valor original em R$ | |
| annual_inflation | No | Inflação anual média (%, padrão 5.5% — IPCA 2026) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Sem annotations, a descrição assume o peso de explicar o comportamento e o faz parcialmente: afirma que corrige pela inflação e mostra equivalência/poder de compra. No entanto, não detalha como direction altera o cálculo, se o retorno é um valor ou ambos, nem o comportamento do default de inflação.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Duas frases curtas, com o propósito principal na primeira linha e instruções de parâmetros na segunda. Não há ruído ou repetição desnecessária; a estrutura é eficiente e de leitura imediata.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Para uma calculadora simples, a descrição é suficiente para um agente entender o objetivo, mas a ausência de output schema e de detalhes sobre o que exatamente é retornado (apenas o valor corrigido, a diferença, ou ambos) deixa lacunas. A interação entre direction, annual_inflation e o resultado também não é explicitada.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Como o schema já cobre 100% dos parâmetros com descrições, o baseline é 3. A descrição reforça os nomes exatos e obrigatoriedade, mas não acrescenta significado semântico relevante além do que o input schema já informa.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A descrição usa verbo específico ('Corrige um valor pela inflação'), recurso claro (valor monetário) e índice definido (IPCA), deixando evidente a finalidade. Porém, não diferencia este tool de irmãos próximos como calculate_ipca_plus ou calculate_raise_vs_inflation, o que impede nota máxima.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Não há orientação sobre quando usar este tool em vez de alternativas semelhantes, nem menção a exclusões ou pré-requisitos de contexto. A única instrução de uso se limita a repetir parâmetros obrigatórios/opcionais, que já estão no schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_inss_autonomoAInspect
Calcula o INSS mensal do autônomo/contribuinte individual: plano normal (20% da base escolhida, aposenta por tempo), simplificado (11% do mínimo, só por idade) e facultativo baixa renda (5%). Com o código da GPS. Opcionais: plan, contribution_base. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| plan | No | normal (20%, benefícios completos), simplificado (11% do mínimo) ou baixa_renda (5%, exige CadÚnico) | normal |
| contribution_base | No | Base de contribuição desejada em R$ (só no plano normal; clampada entre o mínimo e o teto) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It discloses rates (20%, 11%, 5%), the retirement implications per plan, and that the output includes the GPS code. It does not cover every edge case, but for a calculation tool this is solid coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the core purpose and rates come first, followed by output detail and parameter guidance. Every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description covers the essential calculation logic, plan options, output hint (GPS code), and parameter requirements. Combined with the rich parameter schema, the agent has enough information to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by identifying both parameters as optional and by stressing the exact English names to use, which prevents locale-related invocation mistakes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Calcula o INSS mensal do autônomo/contribuinte individual' and enumerates the three plan types with their rates and retirement implications. This clearly distinguishes it from related siblings like get_inss_table or calculate_mei_tax.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear invocation context by naming the optional parameters and instructing the agent to 'Use exatamente estes nomes, em inglês.' It does not explicitly name alternatives or exclusions, but the specificity of the tool's purpose makes the appropriate use case evident.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_installmentAInspect
Calcula parcelas de financiamento/empréstimo pelo sistema Price (parcelas fixas). Parâmetros obrigatórios: total, installments, monthly_rate. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| total | Yes | Valor total em R$ | |
| installments | Yes | Número de parcelas | |
| monthly_rate | Yes | Taxa de juros mensal em % (ex: 2 = 2% ao mês) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It discloses the calculation model (Price system, fixed installments) but does not mention return format, rounding behavior, or edge cases. This is a minimum-viable disclosure for a pure calculator and contains no contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences carry all the essential information: what the tool calculates, the calculation method, and the required parameter names. Every sentence earns its place, and the core function is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema, the description could have been more explicit about return format or rounding. However, the fixed-installment Price definition plus the fully documented parameters is sufficient for an agent to invoke the tool correctly in a typical financing calculation scenario.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents the three parameters. The description adds value by explicitly listing the required parameter names and instructing the agent to use exactly these English names, which prevents naming and localization mistakes.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Calcula' and identifies the exact resource: financiamento/empréstimo installments via the Price system with fixed parcels. This clearly distinguishes it from siblings like calculate_financing and calculate_compound_interest, which cover other financing or interest calculations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly establishes the intended context: loan/financing calculations under the Price system with fixed installments, and states that all three parameters are mandatory. It does not explicitly name alternative tools or provide when-not-to-use conditions, but the intended usage is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_investment_returnBInspect
Simula rendimento de renda fixa no Brasil — CDB, LCI, LCA, Tesouro Selic, Poupança. Calcula IR regressivo e compara com poupança. Parâmetros obrigatórios: principal, annual_rate, months, type. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Tipo de investimento | |
| months | Yes | Prazo em meses | |
| principal | Yes | Valor investido em R$ | |
| annual_rate | Yes | Taxa anual (ex: 14.15 = 14.15% a.a.) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose core behavior: it simulates fixed income returns, calculates regressive income tax, and compares against poupança. However, it omits assumptions, output format, limitations, and the fact that LCA is not actually supported by the schema enum.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loaded with the tool's purpose, and contains no filler. The instruction to use exact English parameter names earns its place, though the unsupported LCA mention slightly reduces accuracy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema or annotations, so the agent needs more context about return values, assumptions, and how the result is presented. The description also fails to route the agent away from overlapping sibling tools and leaves a misleading LCA claim unresolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters well. The description reinforces that the four parameters are mandatory and should be used with exact English names, which is mildly useful, but it adds no deeper semantics and does not resolve the LCA/enum mismatch.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Simula rendimento de renda fixa no Brasil'), enumerates the investment types, and adds behavior details like IR regressivo and comparison with poupança. However, it does not explicitly differentiate this tool from overlapping siblings such as calculate_lci_lca, calculate_tesouro_selic, or compare_investments, and it mentions LCA even though the schema enum does not include it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like calculate_lci_lca, calculate_tesouro_selic, compare_with_cdb, or compare_investments. The only instruction given is about using exact parameter names, which is parameter guidance rather than tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_iof_resgateAInspect
Calcula quanto o IOF come de um resgate feito antes de 30 dias (caixinha, CDB, Tesouro): a tabela regressiva do Decreto 6.306 no dia exato, o IR de 22,5% sobre o restante, e quanto a mais fica esperando até o dia 30. Parâmetros obrigatórios: principal, days. Opcionais: cdi_percent. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| days | Yes | Dias corridos desde a aplicação (1-30) | |
| principal | Yes | Valor aplicado em R$ | |
| cdi_percent | No | Percentual do CDI que a aplicação paga (100 = CDI cheio) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the disclosure burden. It does disclose the meaningful behavior: it applies the regressive IOF table, deducts 22.5% IR on the remainder, and even compares against waiting until day 30. That is substantial behavioral information for a calculator with 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense, front-loaded sentence states the purpose and calculation scope, followed by a compact parameter note. Every clause earns its place and the critical 'before 30 days' condition appears at the beginning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple deterministic calculation with no output schema, the description gives the legal basis, the assets covered, and the parameters. It is complete enough for an agent to select the tool, though it does not specify the shape of the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all three parameters at 100% coverage (principal, days, cdi_percent). The description restates which are required/optional and insists on exact English parameter names, which is useful but adds no semantic depth beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific action and resource: 'Calcula quanto o IOF come de um resgate feito antes de 30 dias' and lists the exact pieces of the calculation (Decreto 6.306 regressive table, 22.5% IR, waiting comparison). It is clearly not a tautology, but it never names or contrasts a sibling tool, so it stops one step short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear trigger context: redemptions before 30 days for caixinha, CDB, and Tesouro. That tells an agent when to reach for it. It does not explicitly list exclusions or name alternatives, so it earns context but not the upper bound.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_ipca_plusAInspect
Simula renda fixa IPCA+ (CDB ou Tesouro IPCA+): taxa real contratada, inflação projetada, IR sobre o ganho nominal inteiro e a taxa real líquida que sobra do '+X%'. Expõe quanto da proteção contra inflação o imposto leva. Parâmetros obrigatórios: principal, real_rate, months. Opcionais: inflation. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| months | Yes | Meses até o vencimento (1-360) | |
| inflation | No | Inflação projetada em % a.a. pro período (padrão 4,5) | |
| principal | Yes | Valor investido em R$ | |
| real_rate | Yes | Taxa real contratada em % a.a. (o '+6,5' do IPCA+6,5%) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does well by disclosing the key behavioral assumptions: IR is applied to the entire nominal gain, and the output exposes the net real rate after tax. It reveals the tax impact on inflation protection, which is a non-obvious behavioral trait. It doesn't discuss edge cases or exact output structure, but for a calculator this level is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three focused sentences: first states the function and components, second conveys the key output insight, third gives parameter guidance. Every sentence earns its place, no fluff, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a calculator with no output schema, the description covers the inputs, the calculation logic, and the main output concept. It could be more explicit about the exact return format (e.g., whether it returns a breakdown or a single number), but the stated output ('quanto da proteção contra inflação o imposto leva') gives sufficient functional understanding. Given the 100% schema coverage and moderate complexity, this is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by explicitly grouping required (principal, real_rate, months) vs optional (inflation) parameters and instructing the agent to 'use exactly these names, in English'. This practical guidance helps prevent parameter-name translation errors and reinforces semantics already present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Simula' and identifies the exact resource: 'renda fixa IPCA+ (CDB ou Tesouro IPCA+)'. It enumerates the key computed outputs (taxa real contratada, inflação projetada, IR sobre o ganho nominal inteiro, taxa real líquida) and the unique insight (how much tax erodes inflation protection). This clearly distinguishes it from sibling tools like calculate_tesouro_prefixado or calculate_investment_return.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives strong context by specifying the domain (IPCA+ fixed income, both CDB and Tesouro) and the calculation scenario. However, it does not explicitly name alternative tools or state when not to use it. The usage is implied rather than contrasted with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_late_dasAInspect
Calcula DAS ou tributo federal em atraso: multa de mora de 0,33% ao dia (limitada a 20%) e juros pela Selic acumulada REAL da série oficial entre o vencimento e o pagamento, mais 1% do mês do pagamento.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | Valor original do tributo em R$ | |
| due_date | Yes | Data de vencimento em YYYY-MM-DD | |
| payment_date | No | Data do pagamento em YYYY-MM-DD (padrão: hoje) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and it does disclose the exact calculation methodology: 0.33% daily fine (cap 20%), Selic accumulated rate, and 1% of payment month. This is transparent about how it computes the result, though it does not describe output format or edge-case handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence, front-loaded with the primary purpose before the calculation details. It is efficient with no wasted words, though being one long sentence could benefit from slight structural splitting for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity and absence of an output schema, the description adequately explains the calculation method but does not mention what the tool returns (e.g., value breakdown or total). For a calculator, this is often sufficient, but a 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The description does not add additional parameter-specific meaning beyond the overall calculation context, meeting the baseline for complete schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool calculates late DAS or federal tax, specifying the exact fine and interest rates. It is specific verb+resource, and the detailed calculation formula distinguishes it from other tax calculators like calculate_darf or calculate_mei_tax.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for late federal tax calculations but does not explicitly state when to use it versus alternatives, nor does it mention any exclusions or prerequisites. Context is inferred from the calculation details rather than explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_lci_lcaAInspect
Simula LCI ou LCA (isentas de IR) com o CDI de hoje do Banco Central e calcula o CDB equivalente: qual percentual do CDI um CDB precisaria pagar pra empatar com a letra no mesmo prazo. Parâmetros obrigatórios: principal, cdi_percent, months. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| months | Yes | Prazo em meses (1-360) | |
| principal | Yes | Valor investido em R$ | |
| cdi_percent | Yes | Percentual do CDI que a LCI/LCA paga (ex: 90) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and does add useful behavioral context: it says the tool uses 'o CDI de hoje do Banco Central', treats LCI/LCA as IR-exempt, and computes an equivalent CDB rate. It does not state assumptions, return format, or limitations, so coverage 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff; the main function and output are front-loaded and the parameter naming reminder is a single clause. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter calculator with full schema coverage, the description supplies the missing context: the BC/CDI data source, the tax exemption premise, and the equivalence question being answered. The lack of an explicit output format is a minor gap for this simple numeric calculation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides 100% coverage with descriptions for principal, cdi_percent, and months, so the description needs little extra. The note 'Use exatamente estes nomes, em inglês' adds a naming/language instruction but no new semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Simula LCI ou LCA (isentas de IR)' and defines the tool's output: 'calcula o CDB equivalente' and 'qual percentual do CDI um CDB precisaria pagar pra empatar'. This is specific about action, resource, and result, though it doesn't explicitly name sibling tools or contrast with them, so it loses the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description makes the intended scenario clear — LCI/LCA simulation with today's BC CDI and CDB equivalence — so an agent can infer when it applies. However, it offers no explicit when-to-use versus alternatives such as compare_with_cdb or calculate_cdi_yield, nor any exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_life_insurance_needAInspect
Calcula quanto de seguro de vida uma família precisa pelo método DIME: dívidas + renda pelos anos de dependência + saldo do financiamento da casa + educação dos filhos, menos o patrimônio já investido. Parâmetros obrigatórios: monthly_income. Opcionais: debts, years_of_support, mortgage_balance, education_cost, existing_assets. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| debts | No | Dívidas a quitar em R$ (cartão, empréstimos, carro) | |
| education_cost | No | Custo restante de educação dos filhos em R$ | |
| monthly_income | Yes | Renda mensal a repor pra família em R$ | |
| existing_assets | No | Patrimônio líquido investido que a família já tem em R$ | |
| mortgage_balance | No | Saldo devedor do financiamento imobiliário em R$ | |
| years_of_support | No | Anos de reposição da renda (até os filhos se sustentarem) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of explaining behavior. It discloses the calculation formula and the subtraction of existing assets, which is useful. However, it does not state the output format, units of the result, rounding behavior, or what happens when required values are missing or invalid.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the first sentence explains the method and formula, and the second lists required/optional parameters. It is efficient, though the parameter list slightly overlaps with schema information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a calculation tool with a formula fully explained and all parameters documented in the schema, the description is complete enough to invoke correctly. The main gap is the lack of explicit output/return-value context, which is not fatal because the formula defines what will be computed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents each parameter's meaning. The description only repeats the parameter names and required/optional status, adding little semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it calculates life insurance need via the DIME method. It names the exact formula components (dívidas, renda, saldo do financiamento, educação, menos patrimônio), which clearly distinguishes it from the many calculate_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly identifies which parameters are mandatory (monthly_income) and which are optional, and instructs the agent to use exact English parameter names. It does not explicitly name alternative tools or exclusions, but the DIME-specific domain and parameter requirements make when-to-use reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_markupBInspect
Calcula preço de venda com markup — inclui custos fixos, variáveis e margem de lucro desejada. Parâmetros obrigatórios: unit_cost, desired_margin. Opcionais: fixed_costs_percent, variable_costs_percent. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| unit_cost | Yes | Custo unitário do produto/serviço em R$ | |
| desired_margin | Yes | Margem de lucro desejada (%) | |
| fixed_costs_percent | No | Custos fixos sobre o preço de venda (%) | |
| variable_costs_percent | No | Custos variáveis/impostos sobre o preço (%) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden of behavioral disclosure. It usefully says that fixed costs, variable costs, and desired margin are included in the sale-price calculation, but it does not disclose the markup formula, output format, units, or edge-case assumptions, leaving some ambiguity about the exact behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the core purpose front-loaded and every sentence earning its place: purpose, parameter requirements, and naming instruction. There is no filler, repetition, or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity calculator with fully documented parameters, the required/optional split and naming rule are enough for an agent to invoke it correctly. Still, because there is no output schema and no return-value description, the result format is not fully explicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents every parameter and the baseline is 3. The description adds only a re-statement of which parameters are required/optional and an instruction to use exact English names, which is marginally helpful but not substantive new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear verb and resource — 'Calcula preço de venda com markup' — and enumerates the cost and margin components involved, so an agent understands what the tool computes. It does not explicitly contrast it with sibling calculators, but the markup/price focus is distinct enough among the listed tool names.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states required versus optional parameters and the exact English parameter names, which helps invocation. However, it provides no guidance about when to choose this tool over alternatives such as calculate_break_even or calculate_gross_from_net, and no when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_mei_taxBInspect
Calcula o valor do DAS MEI mensal e verifica se está dentro do limite de faturamento. Parâmetros obrigatórios: monthly_revenue. Opcionais: activity. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| activity | No | Comércio ou indústria recolhe R$ 1,00 de ICMS; serviços, R$ 5,00 de ISS; quem faz os dois (`mixed`) recolhe os dois. | services |
| monthly_revenue | Yes | Faturamento mensal em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does disclose the two main behaviors: computing the monthly DAS value and checking whether revenue is within the limit. However, it does not describe the output format, the specific annual limit used, or how activity choices affect the tax breakdown beyond what the schema already states.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose. The second and third sentences clearly organize required vs optional parameters and reinforce exact naming. It is slightly redundant with the schema, but no sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should clarify what the tool returns, such as the DAS amount and a boolean indicating whether the revenue limit is respected. It also omits the annual revenue limit value and how it is derived. These are meaningful gaps for an agent deciding how to use the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides 100% parameter documentation, including the activity enum's tax implications and monthly_revenue's meaning. The description only restates which parameters are required/optional and instructs the agent to use exact English names, adding no substantive semantic information beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the operation: it calculates the monthly DAS MEI amount and checks the revenue limit. It is specific enough to separate this tool from generic tax calculators, though it never explicitly names or contrasts sibling tools such as calculate_late_das or calculate_simples_nacional.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives parameter-level instructions (required/optional) but no guidance about when to choose this tool over alternatives. It does not state prerequisites, exclusions, or situations in which another calculator would be more appropriate, so the agent is left to infer the context from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_multa_aluguelAInspect
Calcula a multa de rescisão antecipada do contrato de aluguel: a multa contratual (praxe de 3 aluguéis) proporcional aos meses que faltam cumprir, como manda o art. 4º da Lei do Inquilinato. Parâmetros obrigatórios: rent, months_fulfilled. Opcionais: contract_months, penalty_rents. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| rent | Yes | Aluguel mensal em R$ | |
| penalty_rents | No | Multa cheia do contrato, em número de aluguéis (praxe: 3) | |
| contract_months | No | Prazo total do contrato em meses (30 é o padrão) | |
| months_fulfilled | Yes | Meses já cumpridos até a saída |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden of explaining behavior. It does so by disclosing the formula: the contractual penalty (default of 3 rents) prorated by the remaining months. It does not mention output format, rounding, or edge cases like months_fulfilled exceeding contract_months, but the core behavioral model 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences carry the full picture: what is calculated, the legal rule, the required/optional parameters, and exact naming instructions. There is no filler or restatement of schema fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple four-parameter calculator with fully documented schema fields, the description provides enough to invoke it correctly: formula, defaults, and required parameters. It does not describe the return value or boundary behavior, but those gaps are minor given the schema coverage and simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each parameter's meaning and defaults. The description reinforces required/optional status and instructs the agent to use the exact English names, which is useful but adds little semantic value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with the specific verb 'Calcula' and a precise resource: the early-termination penalty of a rental contract. It explains the exact legal basis and proportional-calculation logic, which clearly sets it apart from sibling calculators such as calculate_rent_adjustment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context — early termination of a rental contract under art. 4º of the Lei do Inquilinato — and explicitly labels required vs optional parameters. It does not name alternative tools or state when not to use it, but the domain-specific context is strong 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.
calculate_net_salaryAInspect
Calcula o salário líquido CLT no Brasil com descontos de INSS e IRRF. Usa a tabela vigente de hoje, ou a de uma competência passada via reference_date (ex: refazer a folha de novembro de 2025 com a tabela daquela época). Parâmetros obrigatórios: gross_salary. Opcionais: dependents, reference_date. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| dependents | No | Número de dependentes para dedução IRRF | |
| gross_salary | Yes | Salário bruto mensal em R$ | |
| reference_date | No | Data de referência (aaaa-mm-dd) pra calcular com a tabela vigente NAQUELA data. Omitida, usa a de hoje. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful behavior: it uses today's INSS/IRRF tables or a past table via reference_date, and it clarifies required vs optional inputs. It doesn't mention return format or rounding, but the core calculation behavior 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact, front-loaded sentences with no filler. The main function is stated first, followed by the historical nuance and the parameter usage note, all of which earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculator with fully documented schema parameters, the description covers the core behavior, the historical-table feature, and parameter naming guidance. With no output schema, it could have described the return structure, but the net salary outcome is strongly implied by the tool name and description, so this is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value by stating the required/optional classification, instructing the agent to use exact English parameter names, and giving a concrete reference_date example ('refazer a folha de novembro de 2025'). This exceeds what the schema alone provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Calcula') and resource ('salário líquido CLT no Brasil') and identifies the key deductions (INSS and IRRF), making the tool's core function unambiguous. It does not explicitly name or contrast sibling tools such as calculate_gross_from_net, so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool: computing net CLT salary, including a historical use case via reference_date. It lacks explicit exclusions or alternatives, but the purpose is specific enough that an agent can correctly select this tool over salary-related siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_net_worth_benchmarkAInspect
Compara o patrimônio investido com a régua de referência por idade (múltiplos da renda anual: 1x aos 30, 3x aos 40, 6x aos 50, 10x aos 67), mostra o gap e o aporte que alcança o próximo marco. Parâmetros obrigatórios: age, monthly_income, net_worth. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| age | Yes | Idade em anos | |
| net_worth | Yes | Patrimônio investido atual em R$ (sem imóvel de moradia) | |
| monthly_income | Yes | Renda mensal em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Sem anotações, a descrição carrega o ônus de revelar o comportamento. Ela informa que a ferramenta mostra o gap e o aporte para o próximo marco, o que é útil. Não declara premissas (ex.: anualização da renda mensal) nem limites, mas o escopo essencial está presente.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Duas frases sem conteúdo desperdiçado. A função principal vem primeiro, a regra é resumida em poucos parênteses e os parâmetros são listados no final. Nada é repetido desnecessariamente.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Não há output schema, então a descrição precisa explicar o retorno, o que faz ao mencionar gap e aporte. Contudo, 'aporte' é ambíguo (mensal? anual? total?). Com os três parâmetros totalmente documentados no schema, a lacuna é pequena.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
O schema já descreve 100% dos parâmetros com clareza. A descrição acrescenta apenas a obrigatoriedade e a instrução de usar nomes exatos em inglês, o que é útil, mas não adiciona significado semântico além do schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A descrição usa verbo específico ('Compara'), recurso claro (patrimônio investido vs. régua de referência por idade) e detalha a regra com múltiplos específicos. Isso a distingue imediatamente de ferramentas irmãs como calculate_first_million ou calculate_financial_independence.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
O contexto de uso é claro: comparar patrimônio com referência etária. Porém, não há menção explícita a alternativas ou exclusões, mesmo havendo muitas calculadoras irmãs similares na lista. A função autoexplicativa compensa parcialmente essa lacuna.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_opportunity_costAInspect
Calcula quanto um gasto recorrente viraria se fosse investido. Ex: café de R$10/dia → quanto dá em 10 anos investido. Parâmetros obrigatórios: daily_expense. Opcionais: annual_return, years. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| years | No | Período em anos | |
| annual_return | No | Retorno anual do investimento (%, padrão 10%) | |
| daily_expense | Yes | Gasto diário em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the disclosure burden. It transparently signals that the tool is a pure calculation ('Calcula') and hints at the output through the example, but it does not reveal the calculation assumptions, the return format, or whether the result includes the contributions. This is acceptable for a simple calculator 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by a helpful example and minimal parameter guidance. Each sentence earns its place, with no filler or redundant marketing language.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is sufficient for invoking the tool: it states the purpose, gives an example, and identifies required vs optional parameters. However, with no output schema and no annotations, it does not specify the exact return value, units, or compounding assumptions, leaving an agent without a complete picture of the expected response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds only modest value beyond the schema: it repeats required/optional status, warns to use exact English parameter names, and illustrates daily_expense with the coffee example. It does not provide new semantic detail about parameter formats or relationships.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Calcula') and a clear resource: converting a recurring expense into the amount it would become if invested. The concrete example (R$10/day coffee → 10-year invested total) makes the tool's purpose unmistakable and distinguishes it from generic sibling calculators like calculate_compound_interest.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly defines when to use the tool: whenever a recurring expense should be projected as if invested. It reinforces usage with an example and lists required/optional parameters. However, it does not explicitly say when not to use it or how it differs from similar investment/opportunity-cost siblings, stopping short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_optimal_prolaboreAInspect
Calcula o pró-labore ótimo pra empresa de serviços sujeita ao Fator R: compara ficar no salário mínimo (Anexo V) com pagar o pró-labore que fecha os 28% (Anexo III), somando DAS, INSS do sócio e IRPF. Parâmetros obrigatórios: revenue_12m. Opcionais: other_payroll_12m, dependents. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| dependents | No | Dependentes do sócio no IRPF | |
| revenue_12m | Yes | Receita bruta dos últimos 12 meses (RBT12) em R$ | |
| other_payroll_12m | No | Folha de 12 meses SEM o pró-labore do sócio (salários de funcionários e encargos), em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It communicates the analysis nature of the tool (comparing two regimes and summing DAS, INSS, IRPF), which is useful. However, it does not disclose the return format, whether results favor one scenario, or any limits/edge cases — moderate coverage for a calculator with no annotation safety signals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with the core purpose front-loaded before the parameter guidance. The parameter list slightly overlaps with what the schema already encodes (required/optional), but the text is otherwise tight and free of filler, keeping the definition compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a fairly complex tax tool, the description captures the essential calculation logic (comparison of Anexo V minimum-wage vs. Anexo III 28% pró-labore, summing DAS, INSS, IRPF). There is no output schema, and the description does not describe the result format, but the 100% parameter schema coverage and the clear narrative make the tool adequately specified for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters with full descriptions, placing the baseline at 3. The description adds marginal value by flagging required vs. optional params (already in the schema's 'required' array) and by advising to 'use exactly these names, in English' — a modestly helpful hint given the Portuguese narrative. It does not compensate beyond the schema needs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb plus resource ('Calcula o pró-labore ótimo') and scopes it precisely to a service company subject to the Fator R regime. It states the exact comparison being made (minimum-wage Anexo V vs. Anexo III at the 28% threshold) and the components summed (DAS, INSS do sócio, IRPF), which clearly differentiates it from siblings like calculate_fator_r (which computes only the ratio) and calculate_simples_nacional.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description names the applicable scenario — 'empresa de serviços sujeita ao Fator R' — which gives a clear context for when to use the tool. It does not, however, explicitly name a sibling alternative or state when NOT to use it, which would be useful given the closely related calculate_fator_r and calculate_simples_nacional tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_overtimeAInspect
Calcula valor de horas extras CLT — 50% (dias úteis), 100% (domingos/feriados) e o reflexo no DSR. Parâmetros obrigatórios: salary. Opcionais: monthly_hours, extra_hours_50, extra_hours_100, working_days, rest_days. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| salary | Yes | Salário bruto mensal em R$ | |
| rest_days | No | Domingos e feriados do mês, para o reflexo no DSR | |
| working_days | No | Dias úteis do mês, para o reflexo no DSR | |
| monthly_hours | No | Jornada mensal (padrão 220h) | |
| extra_hours_50 | No | Horas extras a 50% | |
| extra_hours_100 | No | Horas extras a 100% |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It usefully discloses the core logic: 50% for weekdays, 100% for Sundays/holidays, and DSR reflection. However, it does not specify the output format, rounding behavior, or the exact DSR computation, which would make it 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: it states the calculation, the two overtime classes, the DSR reflection, and the parameter list in just three sentences. No filler or redundant content is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is serviceable for a simple call: it identifies the domain and required inputs. Still, there is no output schema and the DSR calculation logic is only named, not explained, leaving an agent without a fully defined expected result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents every parameter. The description adds only the required/optional grouping and the warning to use exact English parameter names, which is helpful but does not go beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete calculation ('Calcula valor de horas extras CLT') and explicitly breaks out the two rates (50% weekdays, 100% Sundays/holidays) and the DSR impact. This makes it easy to distinguish from other salary/labor calculators 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no exclusions, and no comparison with alternatives such as calculate_adicional_noturno or calculate_hourly_wage. The scope must be inferred from the CLT/overtime wording rather than being stated directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_payroll_loanAInspect
Calcula empréstimo consignado: quanto o banco libera dentro da margem, a parcela, e se um valor pedido cabe na margem e no prazo da categoria. Parâmetros obrigatórios: available_income, months, monthly_rate. Opcionais: category, requested_amount. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| months | Yes | Prazo em meses | |
| category | No | CLT tem margem de 35% e prazo de até 96 meses; aposentado ou pensionista do INSS tem 40% e até 108 meses desde a MP 1.355/2026. | clt |
| monthly_rate | Yes | Taxa de juros mensal em decimal, ex: 0.018 = 1,8% ao mês | |
| available_income | Yes | Remuneração disponível em R$, o que sobra depois dos descontos obrigatórios. A margem incide sobre isto, não sobre o bruto. | |
| requested_amount | No | Valor que se quer pegar, em R$. Deixe em zero para só descobrir o teto que a margem permite. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It explains the calculation logic around margin, category term, and fit checking, and adds a strict instruction to use exact English parameter names. However, it does not explicitly state whether this is a pure read-only simulation or how invalid or out-of-margin inputs are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no wasted words. It front-loads the core purpose and outputs, then clearly groups required and optional parameters, and ends with a critical naming instruction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter calculator with no output schema, the description covers the calculation domain, required versus optional inputs, and the three conceptual outputs. It does not provide an explicit output structure or edge-case behavior, but the rich input schema and prose are sufficient for an agent to invoke the tool and interpret typical results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter already has semantics in the schema, including rate format and category-specific margins. The description adds only required/optional grouping and the 'use exact English names' hint, which is helpful but minor. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the specific verb 'Calcula' and the resource 'empréstimo consignado', then lists three concrete outputs: amount released within the margin, installment, and whether a requested amount fits margin and category term. This clearly conveys the tool's role and distinguishes it from generic loan/financing calculators, though it never names a sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use case is implied by the domain 'empréstimo consignado' and the parameter requirements, but the description does not explicitly state when to use this tool versus alternatives, nor does it provide exclusions. It does separate required and optional parameters, which offers some invocation guidance but no alternative-routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_percentil_rendaAInspect
Estima em que percentil da distribuição de renda brasileira um domicílio está, a partir da renda mensal total da casa e do número de moradores. Usa a tabela oficial de classes de percentual do rendimento domiciliar per capita da PNAD Contínua/IBGE (Rendimento de todas as fontes 2024), com interpolação entre as médias das classes. Parâmetros obrigatórios: household_income. Opcionais: household_size. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| household_size | No | Quantas pessoas moram no domicílio, contando crianças | |
| household_income | Yes | Renda mensal total do domicílio, somando todas as fontes de todos os moradores, em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of explaining behavior. It discloses the methodology (official PNAD Contínua 2024 table, interpolation between class averages), which tells the agent the result is an estimate based on a specific source. It does not state the output shape or edge-case behavior, but the core calculation and its limitations are transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with a clear order: what the tool does, what data/method it uses, and how to pass the parameters. The core purpose is front-loaded and every sentence contributes information. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter calculator with no output schema, the description explains the inputs, the source data, and the estimation method well enough for an agent to call it. It could specify the output format (e.g., numeric percentile 0–100 or decimal), but the phrase 'em que percentil... está' makes the intended return reasonably clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters already have clear descriptions with units and bounds. The description mostly repeats the required/optional status and parameter names, though it usefully insists on the exact English parameter names. This meets the baseline but adds little beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: it estimates a Brazilian household's income percentile. It clearly names the two inputs and the underlying PNAD/IBGE table, so an agent can tell it apart from the many sibling calculators. It does not explicitly contrast against a sibling, so it falls just short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied by the first sentence: call this when you need to know a household's percentile in the Brazilian income distribution. There is no explicit when-to-use/when-not-to-use guidance or mention of alternatives among the sibling calculators, so the guidance is adequate but not strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_pj_invoiceAInspect
Calcula quanto um PJ do Simples precisa emitir de nota pra sobrar um líquido desejado por mês, descontando DAS (Anexo III com Fator R ou Anexo V com pró-labore mínimo), INSS e IRPF do pró-labore e contabilidade. Parâmetros obrigatórios: desired_net. Opcionais: strategy, accounting_fee. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| strategy | No | Pró-labore: 'fator_r' (28% da nota, Anexo III) ou 'minimum' (salário mínimo, Anexo V) | fator_r |
| desired_net | Yes | Quanto quer que sobre por mês, em R$ | |
| accounting_fee | No | Honorário mensal da contabilidade em R$ (padrão 250) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations to rely on, the description discloses the key behavioral scope: it deducts DAS under Annex III/Factor R or Annex V/minimum pro-labore, plus INSS, IRPF, and accounting fees. It does not specify the exact output shape or rate-table assumptions, but the input-to-result relationship is clear enough for an agent to invoke it correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: three sentences with no filler, leading with the calculation purpose and then covering parameters and naming. It is slightly dense as a single long first sentence, but every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tax gross-up calculation with three well-documented parameters and no output schema, the description covers the goal, tax components, parameter requirements, and the alternative strategy choices. An explicit statement of the return value format would improve it, but the tool's output is strongly implied by the phrasing 'quanto precisa emitir de nota'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The description adds a convenient summary of required vs. optional parameters and instructs the agent to use exact English names, but it does not add meaningful semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: it calculates the invoice amount a PJ under Simples Nacional must issue to reach a desired monthly net, explicitly identifying DAS, INSS, IRPF, and accounting fees. It clearly targets a distinct calculation among many sibling calculators, though it does not explicitly name or differentiate the closest siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scenario is implied clearly by the purpose: use this for PJ Simples gross-up calculations. It also states required and optional parameters, but it does not explicitly say when to prefer this over related tools like calculate_gross_from_net, calculate_fator_r, or calculate_optimal_prolabore, nor does it give exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_raise_vs_inflationAInspect
Compara um aumento salarial com a inflação do período, no LÍQUIDO: calcula o salário líquido antigo com as tabelas de INSS e IRRF da competência antiga, o atual com as de hoje, corrige pela inflação acumulada e devolve o ganho ou perda REAL de poder de compra em % e em R$/mês, além do bruto que apenas empataria (útil para saber quanto falta pedir). Parâmetros obrigatórios: previous_gross, previous_date, current_gross, accumulated_inflation_percent. Opcionais: dependents. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| dependents | No | Número de dependentes para dedução do IRRF, nas duas pontas | |
| current_gross | Yes | O salário bruto mensal ATUAL, em R$ | |
| previous_date | Yes | A competência do salário antigo (aaaa-mm-dd). Decide as tabelas históricas; cobertura desde 2007-01-01. | |
| previous_gross | Yes | O salário bruto mensal ANTES do aumento, em R$ | |
| accumulated_inflation_percent | Yes | IPCA acumulado entre as duas competências, em % (20 = 20%). Obtenha em /v1/rates/history ou na calculadora de inflação. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It is transparent about the calculation approach: recomputing old and current net salaries from INSS/IRRF tables, applying accumulated inflation, and returning real gain/loss plus break-even gross. It does not mention failure modes or data-coverage caveats, but none are suggested by the calculator's read-only nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences carry a lot of specific information without padding: the first front-loads the core purpose and output, the second gives an actionable parameter checklist. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 5-parameter financial calculator with no output schema, the description explains the key return values (real % and R$/month gain/loss, break-even gross) and the inputs. It could be more explicit about the output object shape and coverage/error behavior, but schema already documents formats and IPCA source.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description adds only the required/optional distinction and the instruction to keep English parameter names, which does not introduce semantic detail beyond the schema. No new meaning about formats, units, or derivation is added.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies a specific verb+resource pair (compares a salary raise against period inflation) and adds precise scope: net value, INSS/IRRF tables, real purchasing-power gain/loss in % and R$/month, plus break-even gross. It doesn't explicitly differentiate from siblings such as calculate_required_raise or calculate_real_salary, though the 'no LÍQUIDO' and table-based methodology strongly imply a unique calculation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys a clear use case ('útil para saber quanto falta pedir') and states required vs optional parameters and exact English names. It does not, however, name sibling tools or state when not to use it, so it falls short of explicit alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_real_salaryAInspect
Calcula o salário real descontando a inflação. Mostra se o reajuste acompanhou o IPCA ou se houve perda de poder de compra. Parâmetros obrigatórios: previous_salary, current_salary, inflation_period. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| current_salary | Yes | Salário atual em R$ | |
| previous_salary | Yes | Salário anterior em R$ | |
| inflation_period | Yes | Inflação acumulada no período (%, ex: 5.5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full behavioral burden. It explains the core calculation and comparison to IPCA, but it does not disclose the exact formula, output structure, or how edge cases like negative inflation are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and well organized, leading with the core purpose, then the expected outcome, then the required parameter names. No sentence is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose and required inputs, but since there is no output schema, it does not clarify the return format or the direction of the inflation adjustment. For a simple calculator this is acceptable, but additional detail about the result would make it more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes all three parameters at 100% coverage, so a baseline of 3 applies. The description adds value by explicitly warning to use the exact English parameter names, which helps an agent avoid localization errors when invoking the tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it calculates real salary by discounting inflation and indicates whether the adjustment kept pace with IPCA or lost purchasing power. This is clear, but it does not explicitly distinguish the tool from closely related siblings such as calculate_raise_vs_inflation or calculate_inflation_adjustment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use case is implied through the outcome description: checking whether a salary adjustment kept up with IPCA. However, there is no explicit guidance about when to choose this tool over sibling alternatives 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.
calculate_rent_adjustmentAInspect
Calcula o reajuste anual do aluguel pelo acumulado real de 12 meses do IGP-M ou do IPCA (Banco Central), mostra o novo valor pelos dois índices e a diferença entre eles no ano. Parâmetros obrigatórios: current_rent. Opcionais: contract_index. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| current_rent | Yes | Aluguel mensal atual em R$ | |
| contract_index | No | Índice do contrato (IGP-M é o tradicional; IPCA vem crescendo nos contratos novos) | igpm |
TDQS
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 calculation method (real accumulated 12 months), the output (new rent by both indices and the difference), and the source (Central Bank). It does not mention any side effects, but as a calculation tool it is implicitly read-only. This is transparent enough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose and output, followed by parameter requirements. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose, the calculation basis, and the output format. For a simple two-parameter calculator with no output schema, this is sufficient. It could mention the default index or edge cases, but those are already in the schema. Slight gap: it doesn't explicitly state the index default, but the schema does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides descriptions for both parameters (current_rent as monthly rent in R$, contract_index as the index with default igpm). The description just reiterates required/optional status and naming, adding no semantic value beyond the schema. With 100% schema coverage, baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it calculates annual rent adjustment using the 12-month accumulated IGP-M or IPCA (Central Bank), shows the new value for both indices and the difference. This is specific and distinguishes from sibling tools like calculate_multas_aluguel (rent fine) and calculate_rent_affordability.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternative rent-related calculators. It only states required/optional parameters, which is about invocation, not usage context. No explicit when/when-not 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.
calculate_rent_affordabilityAInspect
Calcula quanto de aluguel cabe numa renda, pela regra de mercado brasileira (renda de pelo menos 3x o aluguel, ou seja, aluguel de no máximo um terço da renda) e também pelo orçamento real, descontando condomínio, IPTU e contas do mesmo teto. Parâmetros obrigatórios: monthly_income. Opcionais: condo_fee, property_tax_monthly, utilities. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| condo_fee | No | Condomínio mensal, em R$ | |
| utilities | No | Luz, água, gás e internet somados, por mês, em R$ | |
| monthly_income | Yes | Renda mensal líquida da casa, em R$ | |
| property_tax_monthly | No | IPTU mensal (o anual dividido por 12), em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden and does well by exposing the exact formula logic: minimum rent-to-income ratio and deduction of condo/IPTU/utilities from the real budget. It does not disclose the return shape or behavior on insufficient income, but the core calculator behavior 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences front-load the purpose and calculation rules, then list parameters and naming requirements. Every sentence earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description fully explains inputs and the calculation approach, but there is no output schema and no mention of the return format. Because two calculation modes are described, it is ambiguous whether the tool returns a single value or a breakdown, which an agent needs to know to use the result correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents every parameter; the description adds only the explicit required/optional split and the instruction to use exact English names. This is useful but adds limited semantic meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a concrete verb+resource ('Calcula quanto de aluguel cabe numa renda') and pins down the exact rules used (3x income rule and real budget after condo/IPTU/utilities). This separates it from rent_adjustment and rent_vs_buy siblings even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear context for when the calculation applies (Brazilian market rule and real household budget), but it never states when to prefer this tool over alternatives or mentions sibling calculators. Usage is implied by the scenario rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_rent_vs_buyAInspect
Compara alugar vs comprar imóvel considerando custo de oportunidade, valorização e custos totais. Parâmetros obrigatórios: property_value, down_payment, monthly_rent. Opcionais: financing_rate, financing_months, itbi_percent, registry_percent, rent_adjustment, property_appreciation, investment_return. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| down_payment | Yes | Entrada disponível em R$ | |
| itbi_percent | No | ITBI em % do valor do imóvel. Varia de 2% a 3% por município. | |
| monthly_rent | Yes | Aluguel mensal equivalente em R$ | |
| financing_rate | No | Taxa de juros anual do financiamento (%) | |
| property_value | Yes | Valor do imóvel em R$ | |
| rent_adjustment | No | Reajuste anual do aluguel em %. | |
| financing_months | No | Prazo do financiamento em meses | |
| registry_percent | No | Escritura e registro em % do valor do imóvel. | |
| investment_return | No | Retorno anual se investir a entrada (%) | |
| property_appreciation | No | Valorização anual do imóvel (%) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It explains that the tool considers opportunity cost, appreciation, and total costs, and warns to use exact parameter names. However, it does not describe the output format, assumptions, or that it is a read-only calculation, leaving part of the behavioral profile undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact paragraph with the purpose front-loaded, followed by required and optional parameter lists, ending with a clear instruction on naming. There is no filler or redundant elaboration; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 10 parameters and no output schema, so the description should compensate by explaining the comparison result or return format. It covers inputs and methodology but does not describe what the output contains, which an agent would need to interpret results. The use of Portuguese, while likely intentional, may also limit accessibility.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 10 parameters are already documented with units, defaults, and constraints. The description lists parameter names and required/optional status, which largely duplicates the schema. The note to use exactly these names adds operational guidance but not deeper parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: comparing renting vs buying a property, and explicitly lists the factors considered (opportunity cost, appreciation, total costs). This distinguishes it from sibling tools like calculate_rent_affordability or calculate_financing, which address narrower aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context by listing required and optional parameters and instructing to 'use exactly these names', which guides correct invocation. It does not explicitly name alternatives or exclusion conditions, but the comparison-focused wording makes the intended use obvious alongside the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_required_raiseAInspect
Calcula quanto pedir de aumento para levar um valor a mais LÍQUIDO por mês: o aumento entra na faixa marginal, onde INSS, IRRF e a retirada do redutor da Lei 15.270 mordem juntos, então R$ 500 na mão podem exigir mais de R$ 1.000 de bruto. Devolve o pedido em R$ e em %, o antes e depois, e o custo de cada R$ 1 líquido na faixa. Parâmetros obrigatórios: current_gross, desired_net_increase. Opcionais: dependents. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| dependents | No | Número de dependentes para dedução do IRRF | |
| current_gross | Yes | O salário bruto mensal atual, em R$ | |
| desired_net_increase | Yes | Quanto a mais a pessoa quer receber LÍQUIDO por mês, em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It discloses the marginal-bracket behavior, the combined effect of INSS, IRRF and Lei 15.270, gives an illustrative cost example, and enumerates the output fields. This is strong behavioral disclosure 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences cover purpose, tax context, outputs, and parameters without filler. The key behavioral insight is front-loaded and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete enough for correct invocation: it explains what the tool does, why taxes matter, which parameters are needed, and what is returned. It leaves some ambiguity about the exact response shape and what the percentage is relative to, but this is minor given the strength of the rest.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does add a required/optional grouping and the warning to use exact English names, but it does not add significant semantic meaning beyond the already-complete schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States exactly what the tool computes: the raise amount needed to achieve a target net monthly increase, with the marginal-tax mechanism made explicit. The reference to INSS, IRRF, and Lei 15.270 distinguishes it from generic salary or gross-to-net sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear usage context: use it when you need the gross raise that yields a desired net increase. It also lists required/optional parameters and instructs the agent to use exact English parameter names. It does not explicitly name alternatives or say 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.
calculate_retirementAInspect
Projeta quando e com quanto a pessoa se aposenta pela regra permanente da EC 103/2019: idade mínima, tempo mínimo, percentual da média e o piso de um salário mínimo. Parâmetros obrigatórios: gender, current_age, contribution_years, average_salary. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| gender | Yes | Define idade e tempo mínimos: 65 anos e 20 de contribuição para homem, 62 e 15 para mulher. | |
| current_age | Yes | Idade hoje, em anos | |
| average_salary | Yes | Salário usado como proxy da média das contribuições, em R$. O cálculo real usa a média de todo o histórico desde julho de 1994. | |
| contribution_years | Yes | Tempo já contribuído, em anos |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the burden of behavioral disclosure. It explains what the tool computes and which rule it applies, which covers the main behavioral expectations. However, it does not disclose any limitations, assumptions beyond the rule, or the nature of the return values (e.g., that it is a projection, not an official calculation). 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no waste: the first establishes purpose and scope, the second lists required parameters, the third enforces naming. The most important information is front-loaded, and every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is no output schema and no annotations, the description does most of the work and does it well: it states the rule, the inputs, and what will be projected. The main omission is a description of the output format or return values, but the phrase 'quando e com quanto' implies the expected result. This is close to complete for a calculator-style tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds meaningful value by explicitly warning to use the exact parameter names in English, which prevents translation/localization errors in an otherwise Portuguese-language description. It also lists the required parameters, reinforcing the schema's required field array.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Projeta') with a clear resource (retirement under the permanent EC 103/2019 rule), and enumerates what the projection covers: minimum age, minimum contribution time, percentage of average salary, and the minimum wage floor. It clearly distinguishes itself from the sibling 'calculate_transicao_aposentadoria' by explicitly naming the permanent rule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly identifies the intended use case: projecting retirement under the permanent EC 103/2019 rule. It does not explicitly state when NOT to use the tool or name alternative calculators, but the rule-specific context is enough for an agent to select it appropriately. The instruction to use exact English parameter names is also a useful usage cue.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_rpaAInspect
Calcula as retenções do RPA (Recibo de Pagamento a Autônomo): INSS de 11% limitado ao teto do mês, IRRF pela tabela progressiva vigente, ISS do município, o líquido do prestador e o custo total da empresa com a patronal de 20%. Aceita reference_date pra refazer um recibo antigo com as tabelas da época. Parâmetros obrigatórios: gross_value. Opcionais: dependents, iss_rate, other_monthly_base, reference_date. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| iss_rate | No | Alíquota de ISS do município do serviço, em % (0 quando o autônomo tem inscrição municipal com ISS fixo) | |
| dependents | No | Dependentes do prestador, pra dedução do IRRF | |
| gross_value | Yes | Valor bruto do serviço no recibo, em R$ | |
| reference_date | No | Data de referência (aaaa-mm-dd) pra usar as tabelas vigentes NAQUELA data. Omitida, usa as de hoje. | |
| other_monthly_base | No | Base de contribuição que o prestador JÁ usou no mês em outras fontes (CLT, outros RPAs): reduz o teto restante do INSS |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full behavioral burden. It discloses key calculation rules: INSS of 11% limited to the monthly ceiling, IRRF via the progressive table, ISS per municipality, a 20% employer contribution, and the effect of other_monthly_base on the INSS ceiling. It also explains that reference_date switches to the tables of that date. It does not cover return-value shape or rounding behavior, but the disclosed rules are substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loads the core calculation components in the first sentence, followed by the historical reference feature and parameter listing. Each sentence earns its place, though the required/optional list slightly overlaps with the schema. Overall it is efficient and well-ordered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given five parameters, a tax calculation, and no output schema, the description explains the calculation logic, parameter purposes, and historical behavior sufficiently for correct invocation. It does not describe the response format, which would be useful, but that absence is mitigated by the tool being a calculator and the rich parameter descriptions in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already explains every parameter. The description adds value by explicitly listing required versus optional parameters and instructing the agent to use exact English names, which is useful because the description is in Portuguese. It does not add materially new semantics beyond the schema for the parameter effects.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the specific verb 'Calcula' and the resource 'retenções do RPA', then enumerates exactly what is computed: INSS, IRRF, ISS, net amount, and total company cost. This scope clearly differentiates it from siblings like calculate_inss_autonomo and check_irrf_deduction by covering the whole RPA calculation rather than a single component.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context by naming the full RPA calculation as the tool's domain, so an agent can infer this is the right choice when a complete RPA receipt is needed. It also highlights a specific use case (reprocessing old receipts via reference_date). However, it does not explicitly contrast with alternatives or state when not to use it, such as when only the INSS portion is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_rule_of_threeAInspect
Resolve regra de três simples, direta ou inversa. Direta: se A está para B, C está para quanto. Inversa: quando um valor sobe e o outro desce na mesma proporção (mais gente, menos tempo). Parâmetros obrigatórios: a, b, c. Opcionais: inverse. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | Primeiro valor (A) | |
| b | Yes | Segundo valor (B), que corresponde a A | |
| c | Yes | Terceiro valor (C), o que você tem | |
| inverse | No | Verdadeiro quando as grandezas são inversamente proporcionais |
TDQS
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 the core calculation behavior for both direct and inverse cases, but does not disclose return values, rounding behavior, or edge cases such as division by zero. This is adequate for a simple calculator but not richly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the main purpose appears first, followed by concise direct/inverse explanations and parameter guidance. Every sentence contributes useful information with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple four-parameter calculator with a fully documented schema, the description is nearly complete. It covers required and optional parameters, the distinction between direct and inverse, and even warns about parameter naming. The only notable gap is the lack of explicit return-value information, since there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all parameters with 100% coverage. The description adds value by explicitly naming a, b, and c as required, inverse as optional, and by explaining the proportional relationships between them. This goes beyond the schema's standalone value labels.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb and resource: 'Resolve regra de três simples, direta ou inversa.' It clearly explains both direct and inverse proportionality, which distinguishes it from the many other calculate_* siblings and leaves no doubt about what the tool computes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context by explaining when direct applies ('se A está para B, C está para quanto') and when inverse applies ('quando um valor sobe e o outro desce na mesma proporção'). It does not explicitly name alternative tools or exclusion conditions, but the context is sufficient for an agent to recognize the appropriate scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_salary_time_valueAInspect
Calcula quanto um salário de outra época vale hoje, em DUAS respostas: o bruto corrigido pelo IPCA (a resposta de conversor comum) e o bruto necessário hoje para ter o mesmo poder de compra LÍQUIDO, usando as tabelas de INSS e IRRF vigentes na competência original e as de hoje. A diferença entre as duas mostra quanto a defasagem das tabelas comeu do salário. Parâmetros obrigatórios: gross_salary, reference_date, accumulated_inflation_percent. Opcionais: dependents. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| dependents | No | Número de dependentes para dedução do IRRF, nas duas pontas | |
| gross_salary | Yes | O salário bruto mensal na competência de origem, em R$ | |
| reference_date | Yes | A competência de origem (aaaa-mm-dd). Decide as tabelas históricas de INSS e IRRF; a cobertura começa em 2006-08-01. | |
| accumulated_inflation_percent | Yes | IPCA acumulado da competência até hoje, em % (74.9 = 74,9%). Obtenha em /v1/rates/history ou na calculadora de inflação. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Sem anotações, a descrição assume o papel de disclosure. Ela explica o comportamento de retornar duas respostas, o uso das tabelas históricas e atuais, e que a diferença indica o impacto da defasagem. Contudo, não descreve o formato exato da saída (ex.: estrutura JSON) nem reforça limitações como a cobertura a partir de 2006-08-01, que está apenas no schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A descrição é estruturada de forma eficiente: começa com o propósito e as duas saídas, depois explica a diferença entre elas e termina listando os parâmetros. É um pouco densa devido à complexidade, mas cada frase contribui para o entendimento, sem desperdício.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Para uma ferramenta sem schema de saída, a descrição fornece contexto suficiente sobre o cálculo e a lógica envolvida, incluindo a comparação entre bruto e líquido. Faltam detalhes sobre o formato de resposta e possíveis erros, mas o nível é adequado para um agente decidir como convocar e processar o resultado.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
O schema cobre 100% dos parâmetros com descrições detalhadas, então a baseline é 3. A descrição lista os obrigatórios e opcionais e instrui a usar os nomes exatos, o que agrega um pouco de clareza operacional. Porém, não acrescenta significado semântico além do que já está no schema, como a forma de obter o percentual de inflação.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A descrição declara claramente que a ferramenta calcula o valor atual de um salário passado em duas respostas distintas: o bruto corrigido pelo IPCA e o bruto necessário para manter o mesmo poder de compra líquido, considerando as tabelas de INSS/IRRF de ambas as épocas. Isso a diferencia de ferramentas similares como calculate_inflation_adjustment ou calculate_real_salary, pois destaca a comparação do impacto da defasagem das tabelas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
O contexto de uso é claro: para comparar o valor bruto corrigido e o necessário para manter o mesmo poder de compra líquido. No entanto, não há menção explícita a quando não usar essa ferramenta em favor de alternativas como calculate_real_salary ou calculate_raise_vs_inflation, deixando a decisão de seleção ambígua.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_savings_returnAInspect
Simula o rendimento da poupança com aportes mensais, aplicando a regra da Lei 12.703/2012: 0,5% ao mês mais TR com a Selic acima de 8,5% ao ano, 70% da Selic mais TR abaixo disso. Parâmetros obrigatórios: initial_amount, months, selic_annual. Opcionais: monthly_deposit. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| months | Yes | Prazo em meses | |
| selic_annual | Yes | Selic meta anual em %, ex: 14.25 | |
| initial_amount | Yes | Valor inicial em R$ | |
| monthly_deposit | No | Aporte mensal em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the behavioral burden. It does disclose the conditional formula (0.5% + TR when Selic > 8.5%, else 70% of Selic + TR), which is meaningful. However, it does not clarify how TR is sourced or applied, nor what happens at the exact 8.5% boundary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences convey purpose, legal rule, and parameter guidance without fluff. The first sentence is long but packs the essential calculation rule; the second sentence is slightly redundant with the schema's required array but earns its place by emphasizing exact parameter names.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Inputs and the core rule are well covered, but there is no output schema and the description does not state what the simulation returns (final balance, monthly breakdown, total yield). It also omits edge-case behavior for selic_annual exactly 8.5%, which matters for a conditional rule.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; the description adds value by explicitly listing required versus optional parameters and insisting on the exact English names. This is especially useful because the parameter descriptions are in Portuguese and the agent might otherwise localize the names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Simula o rendimento da poupança') with a clear resource and scope: savings account yield with monthly contributions. It also anchors to a specific legal rule (Lei 12.703/2012), distinguishing it from generic investment calculators among siblings like calculate_investment_return.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly sets the context for use: savings yield simulation with monthly deposits and Selic-based legal remuneration. It does not explicitly name alternatives or say when not to use it, but the scenario is specific enough that an agent can route to it correctly among many calculate_* siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_severanceAInspect
Calcula rescisão trabalhista CLT — demissão sem justa causa, pedido de demissão ou acordo. Inclui saldo de salário, férias, 13º, aviso prévio e multa FGTS, com INSS e IRRF sobre as verbas tributáveis. Aceita competência histórica (reference_date), avos do 13º e das férias como impressos no TRCT, e aviso trabalhado. Parâmetros obrigatórios: salary, months_worked, type. Opcionais: days_worked_in_month, fgts_balance, dependents, reference_date, thirteenth_twelfths, vacation_twelfths, notice_worked. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Tipo de rescisão | |
| salary | Yes | Salário bruto mensal em R$ | |
| dependents | No | Dependentes para dedução do IRRF | |
| fgts_balance | No | Saldo do FGTS acumulado em R$ | |
| months_worked | Yes | Meses trabalhados na empresa. Define os dias de aviso prévio; para 13º e férias proporcionais os avos são limitados a 12. | |
| notice_worked | No | Aviso prévio trabalhado: não há aviso indenizado a receber no TRCT | |
| reference_date | No | Competência da rescisão, aaaa-mm-dd. Sem ela, as tabelas vigentes hoje | |
| vacation_twelfths | No | Avos das férias proporcionais como impressos no TRCT (meses no período aquisitivo). Sem ele, derivado dos meses de casa com teto 12 | |
| thirteenth_twelfths | No | Avos do 13º proporcional como impressos no TRCT (meses no ano civil). Sem ele, derivado dos meses de casa com teto 12 | |
| days_worked_in_month | No | Dias trabalhados no mês da rescisão |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it does a strong job: it discloses the included components (saldo de salário, férias, 13º, aviso prévio, multa FGTS), tax treatment (INSS/IRRF), historical reference_date behavior, TRCT-based twelfths, and notice_worked handling. It does not describe the output shape or rounding behavior, so it is not fully complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with the tool's purpose, then the calculation scope, then advanced input behavior, then required/optional parameters. Every sentence earns its place, and there is no filler or repeated prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter financial calculator with no output schema, the description is largely complete: it explains what is calculated, which parameters matter in special cases, and which names to use. The only notable gap is that it never describes the return format, which matters more here because there is no output schema to fall back on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description does not need to redefine parameters. It adds a useful naming warning ('Use exatamente estes nomes, em inglês') and restates required/optional parameters, but it provides little semantic value beyond what the input schema already gives.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Calcula rescisão trabalhista CLT' and clearly scopes the tool to three termination types: demissão sem justa causa, pedido de demissão, and acordo. It lists the main calculation components, which distinguishes it from narrower sibling tools, but it never explicitly names an alternative such as calculate_custo_demissao or calculate_aviso_previo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the concrete scenarios in which the tool applies: no-cause termination, resignation, and mutual agreement. It also gives useful contextual conditions like notice_worked and historical reference_date, but it does not state when not to use it or point to a more appropriate sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_simple_interestAInspect
Calcula juros simples: M = C + (C × i × t). Os juros incidem sempre sobre o principal, nunca sobre juros já acumulados, o que quase nenhum contrato de crédito faz na prática. Parâmetros obrigatórios: principal, rate, months. Opcionais: rate_type. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| rate | Yes | Taxa de juros em %, ex: 2 para 2% | |
| months | Yes | Prazo em meses | |
| principal | Yes | Capital inicial em R$ | |
| rate_type | No | Se a taxa informada é ao mês ou ao ano. No regime simples a taxa anual vira mensal por divisão direta por 12, sem capitalizar. | monthly |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It clearly explains the core behavior: interest is always computed on principal, never on accumulated interest, and notes that this differs from real credit contracts. This goes beyond the schema and helps the agent understand the calculation semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with the formula front-loaded, followed by the key behavioral warning and parameter guidance. Every sentence contributes meaningful information with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a calculation tool without an output schema, the formula and behavioral notes are sufficient for an agent to understand what the tool does and what it returns. The only minor gap is not explicitly stating the default for rate_type, though that information is present in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters effectively. The description adds only a restatement of which parameters are required versus optional and emphasizes using exact English names, which is useful but does not substantially deepen parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Calcula juros simples') and provides the exact formula. It also distinguishes the tool from compound-interest siblings by explicitly saying interest applies only to principal and never to accumulated interest.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists required and optional parameters and instructs to use exact English names, which helps invocation. However, it does not explicitly say when to choose this tool over calculate_compound_interest or other finance calculators; it only implies the distinction by describing simple-interest behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_simples_nacionalAInspect
Calcula imposto do Simples Nacional por faixa de faturamento e anexo. Alíquota efetiva e valor mensal. Parâmetros obrigatórios: monthly_revenue. Opcionais: annex. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| annex | No | Anexo do Simples (I=comércio, III=serviços) | III |
| monthly_revenue | Yes | Faturamento mensal em R$ |
TDQS
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 mentions the outputs (effective rate and monthly value) and the computation basis, but does not disclose potential side effects (likely none), rounding behavior, or tax bracket assumptions. For a pure calculation tool, this is acceptable but not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and then parameter guidance. It avoids filler and each sentence adds useful information. It is efficiently structured for quick agent scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter calculator with full schema coverage and no output schema, the description covers the purpose, the parameters, and the output nature. It clarifies what the result provides (effective rate and monthly amount) without needing an output schema. It is sufficient for correct invocation, though it lacks explicit return format details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides complete descriptions for both parameters, including the enum for annex and the positive revenue requirement. The description repeats the mandatory/optional status and adds a naming hint, but does not add deeper semantic meaning beyond the schema. With 100% schema coverage, the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('calcula imposto') and the resource ('Simples Nacional'), specifying the basis ('por faixa de faturamento e anexo') and the outputs ('Alíquota efetiva e valor mensal'). It is specific enough to distinguish Simples Nacional from sibling tax calculators, though it doesn't explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides direct guidance on required and optional parameters and instructs the agent to use exact English parameter names, which helps avoid invocation errors. However, it does not mention when to prefer this tool over similar ones like calculate_mei_tax or calculate_late_das, nor any exclusions or prerequisites beyond the parameter requirements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_tesouro_prefixadoAInspect
Simula o Tesouro Prefixado até o vencimento: taxa contratada composta, IR regressivo, custódia da B3 de 0,20% ao ano (sem faixa isenta, que é só do Selic) e a taxa líquida anual efetiva. Parâmetros obrigatórios: principal, annual_rate, months. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| months | Yes | Meses até o vencimento (1-360) | |
| principal | Yes | Valor investido em R$ | |
| annual_rate | Yes | Taxa anual contratada em % (ex: 13.5) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses the key calculation assumptions: compounding of the contracted rate, regressive IR, B3 custody fee of 0.20% per year, and exclusion of the Selic-only exemption. It does not specify the exact return shape, rounding, or edge cases, but the main behavioral traits are explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-organized: it front-loads the scope and modeled factors, then gives the required parameters and a naming instruction. Every sentence earns its place, and the Selic exclusion is useful differentiation rather than padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter simulation with no output schema, the description is mostly complete: it defines all required inputs by name and states what is modeled. The main gap is that it does not describe the shape of the result beyond 'taxa líquida anual efetiva', so an agent cannot know whether gross final value, IR amount, or custody fee are also returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already has a semantic description. The description only restates the required parameter names and instructs the agent to use exactly those English names, which adds no meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Simula o Tesouro Prefixado até o vencimento', a specific verb+resource statement that clearly identifies the tool's purpose. It then enumerates the modeled components (compounded contracted rate, regressive IR, 0.20% p.a. B3 custody, net effective annual rate) and explicitly distinguishes it from Selic by noting 'sem faixa isenta, que é só do Selic'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context and an implicit when-not by stating that the exempt band belongs only to the Selic title, which helps an agent avoid using this tool for the wrong Tesouro type. It does not explicitly name the alternative tool such as calculate_tesouro_selic, but the context is sufficient for basic routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_tesouro_selicAInspect
Simula o Tesouro Selic com a Selic de hoje (Banco Central): rendimento composto, IR regressivo e a taxa de custódia da B3 de 0,20% ao ano, com a isenção sobre os primeiros R$ 10 mil. Parâmetros obrigatórios: principal, months. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| months | Yes | Prazo em meses (1-360) | |
| principal | Yes | Valor investido em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does this well by revealing key modeling assumptions: current Selic from Banco Central, compound returns, regressive income tax, B3 fee of 0.20% p.a., and the R$10k exemption. It does not describe output format or limitations, but the core behavior of the simulation 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one dense but well-organized sentence that front-loads the purpose and then packs the key modeling details. The parameter-name instruction is clear and useful, though the sentence is slightly long and could be split for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter calculator with no output schema, the description supplies the important assumptions an agent needs to invoke it correctly. It omits any description of the return value, but that is not critical when no output schema exists and the tool's purpose is straightforward.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents both parameters with descriptions and constraints. The description reinforces that principal and months are mandatory and insists on exact English names, but it adds no new semantic meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb ('Simula') and a precise resource ('Tesouro Selic'), then names the exact calculation components: current Selic rate, compound yield, regressive IR, B3 custody fee, and the R$10k exemption. This clearly distinguishes it from siblings like calculate_tesouro_prefixado and calculate_cdi_yield.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is implied: it should be used when the user wants a Tesouro Selic simulation under current Selic conditions. However, it does not explicitly state when to prefer this tool over the many sibling calculators, nor does it mention exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_thirteenth_salaryAInspect
Calcula o décimo terceiro salário — 1ª parcela, 2ª parcela com descontos de INSS e IRRF. Parâmetros obrigatórios: salary, months_worked. Opcionais: dependents. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| salary | Yes | Salário bruto mensal em R$ | |
| dependents | No | Dependentes para IRRF | |
| months_worked | Yes | Meses trabalhados no ano (1-12) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does disclose that both installments are calculated and that INSS/IRRF discounts are applied, which is useful. However, it omits key behavioral context such as which tax/year rates are used, rounding rules, and whether separate gross/deduction amounts are returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each earning its place: purpose, parameter requirements, and naming instruction. The most important information is front-loaded, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a moderate-complexity calculation with no output schema, the description clarifies inputs and the broad result (two installments with discounts), but it does not specify the return shape, tax-table assumptions, or handling of edge cases. An agent can invoke it correctly but may be uncertain about the exact output format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters. The description labels salary and months_worked as required and dependents as optional, which duplicates the schema; the only additional value is the instruction to use exact English parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Calcula') and a precise resource ('décimo terceiro salário'), and further specifies the scope as 1ª and 2ª parcelas with INSS/IRRF discounts. This makes it clearly distinguishable from sibling salary tools like calculate_net_salary or calculate_annual_salary, even without naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is implied by the tool's purpose and the required-parameter list, but the description never states when to prefer this tool over closely related salary calculators. No explicit alternatives, exclusions, or conditions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_transicao_aposentadoriaAInspect
Simula as regras de transição da aposentadoria (EC 103/2019): pontos, idade progressiva, pedágios de 50% e 100% e a regra permanente. Diz em qual regra a pessoa se encaixa, quanto tempo falta em cada uma e o valor estimado do benefício, assumindo contribuição contínua. Parâmetros obrigatórios: sex, age, contribution_years. Opcionais: average_salary. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| age | Yes | Idade atual, em anos (aceita decimal: 58.5) | |
| sex | Yes | Sexo, como considerado pelas regras do INSS | |
| average_salary | No | Média de TODOS os salários de contribuição desde 07/1994, corrigidos (o Meu INSS mostra). Omitida, o resultado sai só em datas e percentuais. | |
| contribution_years | Yes | Tempo de contribuição até hoje, em anos |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden and does so reasonably: it says the calculation assumes continuous contributions, labels the benefit 'estimated', and frames the tool as a simulation rather than a real-world action. It could be more explicit about output units or lack of side effects, but the key behavioral assumptions are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no filler. The first sentence states the function and scope, the second describes outputs and the continuous-contribution assumption, and the third gives parameter-level usage guidance. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex calculation tool with no output schema, the description covers the main output types (rule fit, remaining time, estimated benefit), the key assumption (continuous contribution), and the required parameters. It does not specify output units or the behavior when average_salary is omitted, though that latter detail exists in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds a valuable instruction beyond the schema: 'Use exatamente estes nomes, em inglês', which tells the agent not to translate property names. It also reinforces required vs optional parameters, though the schema already defines those.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Simula') and a precise resource ('as regras de transição da aposentadoria (EC 103/2019)'), then enumerates the exact rule types covered. It clearly distinguishes itself from the generic sibling calculate_retirement by narrowing to transition rules and named sub-rules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: when someone needs to simulate EC 103/2019 transition rules and know which rule applies plus remaining time. It does not explicitly name alternatives or exclusions, but the scope is stated plainly enough to route an agent correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_unemployment_insuranceAInspect
Calcula valor e parcelas do seguro-desemprego 2026 com base no salário e tempo trabalhado. Parâmetros obrigatórios: average_salary, months_worked. Opcionais: times_requested. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| months_worked | Yes | Meses trabalhados nos últimos 36 meses | |
| average_salary | Yes | Média dos últimos 3 salários em R$ | |
| times_requested | No | Quantas vezes já solicitou (1ª, 2ª ou 3ª vez) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It discloses the expected output ('valor e parcelas') and the computation basis ('salário e tempo trabalhado'), but does not state whether the calculation is official/estimated or any caveats about the 2026 values. No contradiction with annotations exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with its purpose. It uses four short sentences with no filler, though it does repeat parameter information that is already present in the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward calculator with no annotations and no output schema, it adequately states what the tool computes and which parameters are required/optional. It does not describe the return format in detail, but the mention of 'valor e parcelas' covers the essential outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all three parameters with 100% coverage. The description adds only the required/optional distinction and emphasizes using exact English parameter names, which is useful but minimal beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Calcula valor e parcelas do seguro-desemprego 2026', clearly identifying the tool's output and scope. It also names the key inputs, which helps distinguish it from the many sibling calculators.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The first sentence implies the use case: when the user needs 2026 unemployment insurance value and installments based on salary and time worked. However, it does not explicitly mention alternatives, exclusions, or when not to use this tool versus a sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_vacation_payAInspect
Calcula férias CLT — valor das férias + 1/3 constitucional + abono pecuniário, com desconto de INSS e de IRRF. Parâmetros obrigatórios: salary. Opcionais: days, sell_days, dependents. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Dias de férias (máx 30) | |
| salary | Yes | Salário bruto mensal em R$ | |
| sell_days | No | Dias vendidos (máx 10) | |
| dependents | No | Número de dependentes para dedução do IRRF |
TDQS
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 is calculated (vacation + constitutional third + cash bonus, with INSS and IRRF deductions) but does not reveal the return format (single value vs. breakdown), whether the result is net or gross, or any other behavioral details. For a pure calculation tool, this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose and then parameter guidance. No wasted words; it is concise and structured effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description should clarify what the tool returns. It implies the result includes deductions but does not explicitly state whether it returns a net value, a breakdown, or additional details. The description is adequate for a simple calculation but leaves the return contract unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for all parameters, so the baseline is 3. The description repeats which parameters are required/optional, adding little beyond the schema. It does include a note to use exact parameter names in English, a minor usage hint, but no additional semantic meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it calculates CLT vacation pay, enumerating the components (base vacation, constitutional third, pecuniary bonus) and the deductions (INSS and IRRF). It also lists required and optional parameters. This is specific and distinct from sibling tools like calculate_severance or calculate_aviso_previo.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states required and optional parameters, which guides invocation. However, it does not explicitly mention when to use this tool versus alternatives or any exclusions. The purpose is clear enough that an agent would likely select it correctly, but there is no 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.
calculate_weekdayAInspect
Diz em que dia da semana uma data caiu ou vai cair, e a quantos dias ela está de hoje. Aceita qualquer data, passada ou futura. Parâmetros obrigatórios: date. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | A data, no formato aaaa-mm-dd |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full behavioral disclosure burden. It explains the core behavior and scope, but leaves the return format and sign convention for past dates unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each earning its place: purpose, scope, and required parameter. The most important information is front-loaded with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-argument tool with no output schema, the description adequately conveys purpose, accepted input, scope, and required parameter. Minor gaps around the exact output shape and day-count sign convention prevent a perfect score.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%: the single parameter has name, pattern, description, and required already documented. The description adds only a mild reminder to use the English parameter name, which does not go materially beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it tells the weekday of a date and how many days away it is from today. It clearly distinguishes this tool from the many calculate_* siblings, none of which target weekday/day-distance logic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear applicability context: 'Aceita qualquer data, passada ou futura' explicitly removes date-range restrictions. It does not name alternatives or exclusions, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
can_i_quit_jobAInspect
Quantifica a consequência financeira de sair do emprego CLT hoje, no caminho escolhido (pedir demissão, acordo mútuo ou dispensa sem justa causa): a rescisão líquida do tipo, o FGTS sacável, o seguro-desemprego quando aplicável, o caixa total decomposto POR ORIGEM e o fôlego em meses (runway) contra o gasto mensal. Caminhos sem direito a uma verba a declaram como pulada com o motivo, nunca a somam. Não decide por ninguém: mede o fôlego.
| Name | Required | Description | Default |
|---|---|---|---|
| salary | Yes | Salário bruto mensal atual, em R$ | |
| dependents | No | Dependentes para o IRRF das verbas tributáveis | |
| fgts_balance | No | Saldo acumulado do FGTS, em R$ | |
| works_notice | No | No pedido de demissão: vai cumprir os 30 dias de aviso? Não cumprir autoriza o desconto de até um salário | |
| months_worked | Yes | Meses de casa na empresa atual | |
| severance_type | Yes | O caminho da saída: resignation (pedir demissão), mutual_agreement (acordo do art. 484-A) ou without_cause (dispensa sem justa causa) | |
| current_reserve | No | Reserva financeira já guardada, em R$ | |
| times_requested | No | Quantas vezes já pediu seguro-desemprego (muda a carência) | |
| monthly_expenses | Yes | Gasto mensal essencial, em R$ | |
| security_target_months | No | Meta de segurança, em meses de gasto coberto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does substantial work: it discloses that entitlements not applicable to a path are skipped with a reason rather than summed, that the result is decomposed by origin, and that the tool only measures runway and does not make the decision for the user. It could add more about tax handling or whether the current reserve is included, but the core behavioral traits are clearly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the main verb and purpose, and every sentence adds value: the first defines scope and outputs, the second explains the skip-with-reason behavior, and the third clarifies the tool's non-decisional stance. The only minor flaw is the dense, single-sentence enumeration with heavy parentheticals and the stylized 'POR ORIGEM', which makes it slightly harder to parse than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 10 parameters, no annotations, and no output schema, the description provides a solid conceptual picture: what is calculated, how unavailable benefits are treated, and what the result means (runway). It does not explicitly explain how parameters like dependents, works_notice, or security_target_months affect the result, but the schema covers those details well enough that the agent can still select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all 10 parameters with 100% coverage, including ranges and defaults, so the description need not repeat them. The description adds no direct parameter-level detail, but its explanation of the output decomposition (FGTS sacável, caixa total por origem, runway) indirectly clarifies why parameters like fgts_balance and monthly_expenses matter. This aligns with the baseline 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Quantifica') and a precise resource ('a consequência financeira de sair do emprego CLT hoje'), then enumerates the outputs: liquid severance, withdrawable FGTS, unemployment insurance when applicable, total cash by source, and runway in months. This distinguishes it from sibling calculators like calculate_severance or calculate_unemployment_insurance by framing it as a holistic quit-decision tool rather than a single-component calculation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is strongly implied: it is for someone considering leaving a CLT job today, choosing among resignation, mutual agreement, or dismissal without cause. However, there is no explicit guidance about when to choose this tool over closely related siblings such as calculate_severance, check_severance, or compare_clt_vs_pj, so the agent must infer the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_inss_deductionAInspect
Confere se um desconto de INSS de empregado CLT bate com o esperado pela tabela vigente NA COMPETÊNCIA informada (cobertura verificada desde ago/2006, incluindo a era de alíquota única pré-março/2020). Compara informado × esperado e devolve a diferença, a reconstrução faixa a faixa, a norma que fixou a tabela e a fonte oficial conferida. Diferenças de até R$ 0,10 são tratadas como arredondamento de folha, declaradas e nunca apagadas. Não conclui nada que não consiga reconstruir: fora da cobertura, recusa declarando o motivo. Parâmetros obrigatórios: base_salary, informed_deduction, reference_date. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| base_salary | Yes | Base de cálculo do INSS na competência (no holerite aparece como 'Base INSS' ou 'Salário de contribuição'), em R$ | |
| reference_date | Yes | Qualquer dia dentro da competência a conferir, aaaa-mm-dd | |
| informed_deduction | Yes | O desconto de INSS que consta no documento, em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden — and it does so thoroughly. It discloses the comparison behavior, the returned elements (difference, band-by-band reconstruction, legal norm, official source), the R$0.10 rounding policy, and the refusal behavior outside coverage. This fully sets expectations for a read-only verification tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence adds operational detail: coverage, rounding policy, refusal behavior, and required parameters. There is minor redundancy between the opening 'bate com o esperado' and the later 'Compara informado × esperado', but overall it is efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and no annotations, the description covers inputs, expected outputs, edge cases (rounding and out-of-coverage), and historical coverage. No critical fact an agent needs to invoke it correctly or interpret its results is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with each parameter already described in Portuguese with constraints (e.g., base_salary exclusiveMinimum 0, reference_date pattern). The description only adds the directive to use the exact English parameter names, which is useful but does not deepen semantic understanding beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Confere se um desconto de INSS de empregado CLT bate com o esperado...' — a specific verb (check), resource (INSS deduction), and domain (CLT employee). The scope is further narrowed by reference competência and table era, making it clearly distinct from siblings like calculate_inss_autonomo or get_inss_table.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the intended use: verifying a CLT INSS deduction against the applicable table for the informed competência, and it explicitly says the tool refuses outside coverage. It does not name alternatives or give explicit when-not-to-use guidance, so it provides clear context but not a full routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_irpf_obligationAInspect
Verifica se a pessoa é obrigada a declarar o imposto de renda pelas regras da DIRPF 2025 (ano-base 2024): rendimentos tributáveis acima de R$ 33.888, isentos acima de R$ 200 mil, bens acima de R$ 800 mil, bolsa, ganho de capital, atividade rural e residência nova. Parâmetros obrigatórios: taxable_income. Opcionais: exempt_income, total_assets, sold_stocks_over_limit, had_capital_gain, rural_revenue, became_resident. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| total_assets | No | Total de bens e direitos em 31/12 em R$ | |
| exempt_income | No | Rendimentos isentos ou tributados na fonte no ano em R$ (FGTS, poupança, 13º, indenizações) | |
| rural_revenue | No | Receita bruta de atividade rural no ano em R$ | |
| taxable_income | Yes | Rendimentos tributáveis no ANO em R$ (salário, pró-labore, aluguel) | |
| became_resident | No | Passou a morar no Brasil durante o ano | |
| had_capital_gain | No | Vendeu bem ou direito com ganho de capital tributável | |
| sold_stocks_over_limit | No | Vendeu mais de R$ 40 mil em bolsa no ano, ou teve ganho tributável em bolsa |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does explain the core check logic, required vs optional parameters, and the exact naming requirement. However, it does not disclose the return format (e.g., boolean), how multiple conditions combine, or whether any external calls or side effects occur, leaving some important behavior implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph plus one instructional sentence, with no filler. It front-loads the purpose and thresholds, then the parameters. While compact and information-dense, a bulleted list would improve scannability, but nothing is redundant or wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters, no output schema, and no annotations, the description covers purpose, thresholds, and parameter roles well. However, it omits the return type and does not explain edge cases such as how defaults (e.g., 0 for optional numeric params) affect the outcome, or what happens if thresholds are exactly at the boundary. This leaves an agent with reasonable but not complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by mapping each rule to the parameter names, emphasizing that taxable_income is mandatory while others are optional, and instructing agents to use the exact English names. This helps agents connect user intent in Portuguese to the correct schema properties, 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Verifica' with a clear resource: whether a person is required to file income tax under DIRPF 2025. It lists concrete thresholds and rule categories (taxable income, exempt income, assets, stocks, capital gain, rural revenue, residency), which unambiguously distinguishes it from sibling tools like simulate_income_tax or get_irpf_table.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states when to use the tool: to verify mandatory income tax filing obligation based on given financial data. It provides a clear context but does not explicitly exclude alternatives or name when-not-to-use cases, such as 'for calculating tax amount, use simulate_income_tax'. Still, the scope is well-defined enough for an agent to infer appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_irrf_deductionAInspect
Confere se o IRRF retido de um empregado CLT bate com o esperado pela tabela vigente NA COMPETÊNCIA (cobertura verificada desde jan/2007, incluindo o desconto simplificado desde mai/2023 e o redutor da Lei 15.270/2025 em 2026). Reconstrói a base (bruto menos INSS informado e dependentes, ou o simplificado quando maior), compara informado × esperado e devolve a diferença com a derivação passo a passo, a norma e a fonte oficial conferida. Diferenças de até R$ 0,10 são tratadas como arredondamento de folha, declaradas e nunca apagadas. Se houver pensão alimentícia ou outras deduções na base, recusa declarando: comparar sem elas apontaria diferença falsa. Parâmetros obrigatórios: gross_salary, inss_deduction, informed_deduction, reference_date. Opcionais: dependents, has_other_deductions. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| dependents | No | Dependentes declarados na fonte pagadora | |
| gross_salary | Yes | Rendimento bruto tributável do mês, em R$ | |
| inss_deduction | Yes | O INSS descontado no mesmo holerite, em R$ (dedução legal da base) | |
| reference_date | Yes | Qualquer dia dentro da competência a conferir, aaaa-mm-dd | |
| informed_deduction | Yes | O IRRF que consta no documento, em R$ | |
| has_other_deductions | No | Existe pensão alimentícia ou outra dedução na base do IRRF? Se sim, a conferência recusa em vez de comparar errado |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since annotations are absent, the description carries the full burden, and it delivers: it explains the reconstructed base, informed vs expected comparison, step-by-step derivation, legal norm and official source, the R$0.10 rounding tolerance, and the explicit refusal behavior. An agent gets a realistic model of what the tool does and when it will or will not produce a result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but organized: purpose, coverage scope, computation, tolerance, refusal, and parameter list all appear in logical order. The parameter restatement at the end is helpful but slightly redundant with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even without an output schema, the description explains what the tool returns: the difference plus step-by-step derivation, norm, and official source. It also covers important edge cases and behavioral boundaries, so an agent has enough context to invoke it correctly and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description only restates which parameters are required/optional and instructs the caller to use exact English names; it does not add semantic meaning beyond the schema's descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Confere se o IRRF retido de um empregado CLT bate com o esperado pela tabela vigente'. This immediately identifies the tool as an audit/verification tool rather than a generic calculator, distinguishing it from siblings like calculate_net_salary or simulate_income_tax.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the intended context clearly: checking IRRF for CLT employees against the applicable table. It also gives an explicit when-not condition: if alimony or other deductions are present, the tool refuses rather than producing a false comparison. It does not name alternative sibling tools, so it falls short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_payslipAInspect
Confere um holerite de empregado CLT contra as tabelas vigentes NA COMPETÊNCIA (INSS desde ago/2006, IRRF desde jan/2007), item a item, com veredito global em três estados (conferido completamente, parcialmente, não foi possível concluir). Regras: o documento manda na base (informe inss_base/irrf_base impressas no holerite quando existirem; o salário bruto é contexto e insumo do redutor da Lei 15.270); com irrf_base declarada, pensão alimentícia deixa de bloquear a conferência do IRRF; o IRRF é conferido contra a base efetivamente usada (INSS informado como dedução) e um INSS divergente gera a segunda análise exposta, nunca falso positivo em cascata. Verbas declaradas em declared_items que o motor não audita viram 'informado, não conferido' e impedem conclusão sobre o total. Com total_earnings e net_received (e todos os descontos declarados com valor), roda a reconciliação aritmética como afirmação SEPARADA: fechar na soma não promove verba a correta. Parâmetros obrigatórios: gross_salary, informed_inss, informed_irrf, reference_date. Opcionais: inss_base, irrf_base, dependents, total_earnings, net_received, declared_items. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| inss_base | No | A 'Base INSS' / 'Salário de contribuição' impressa no holerite, em R$. Sem ela, o bruto entra no lugar com a hipótese declarada | |
| irrf_base | No | A 'Base IRRF' impressa no holerite, em R$. Ela já embute pensão e demais deduções, e destrava a conferência do IRRF quando existem | |
| dependents | No | Dependentes declarados na fonte pagadora | |
| gross_salary | Yes | Salário bruto do mês, em R$. Contexto: a base quem manda é o documento | |
| net_received | No | Valor líquido recebido, em R$ (habilita a reconciliação aritmética) | |
| informed_inss | Yes | O INSS descontado no holerite, em R$ | |
| informed_irrf | Yes | O IRRF retido no holerite, em R$ | |
| declared_items | No | Outras verbas do holerite, com valor quando disponível. Proventos: overtime, commissions, bonuses, night_shift, unhealthy_pay, hazard_pay, other_earnings. Descontos: transport_voucher, meal_voucher, health_plan, alimony, absences, other_deductions. Declará-las evita conclusão ingênua sobre o total | |
| reference_date | Yes | Qualquer dia dentro da competência do holerite, aaaa-mm-dd | |
| total_earnings | No | Total de proventos do documento, em R$ (habilita a reconciliação aritmética) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Sem anotações, a descrição carrega todo o ônus — e o faz com riqueza: veredito em três estados, precedência da base impressa sobre o bruto (com papel do redutor da Lei 15.270), irrf_base destravando pensão, prevenção de falso positivo em cascata, verbas 'informado, não conferido' bloqueando conclusão sobre o total, e a reconciliação aritmética como afirmação separada. Nenhuma contradição.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
O propósito é front-loaded, mas o texto é um bloco único e denso de regras sem estrutura (sem bullets, sem separação). Todo o conteúdo é relevante e merece espaço, mas o formato de parede de texto dificulta a leitura rápida. É compreensível e completo, mas não conciso.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Para um ferramenta complexa (10 parâmetros, regras interligadas), a descrição é bastante completa: lista obrigatórios/opcionais, dá os nomes exatos dos parâmetros, explica os estados do veredito. Sem output schema, a menção ao veredito de três estados cobre o retorno. Faltam detalhes explícitos sobre erros (ex.: datas inválidas) e a estrutura exata da 'segunda análise', mas o conjunto é robusto.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
A cobertura do schema é 100% e as descrições do schema já são ricas, então a linha de base é 3. A descrição da ferramenta agrega além disso: explica as interações entre parâmetros (inss_base/irrf_base mandam sobre gross_salary; total_earnings/net_received habilitam a reconciliação; declared_items com itens não auditados impedem conclusão sobre o total). Isso adiciona semântica cruzada que o schema não captura.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A descrição é específica: 'Confere um holerite de empregado CLT contra as tabelas vigentes... item a item, com veredito global em três estados'. Verbo + recurso + escopo claros, distinguindo-se dos irmãos check_inss_deduction/check_irrf_deduction (que conferem dedução única) por auditar o holerite completo com veredito global. Não é tautologia nem vago.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
O contexto de uso é claro (verificação de holerite CLT completo), mas não há orientação explícita de exclusão ou roteamento para alternativas — não diz quando usar check_inss_deduction ou check_irrf_deduction em vez desta ferramenta, nem lista condições de quando não usar. As regras internas são detalhadas, mas o 'quando usar vs. quando não' fica implícito.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_severanceAInspect
Confere um TRCT (termo de rescisão) de empregado CLT verba a verba contra a conta canônica da rescisão, com as tabelas vigentes NA COMPETÊNCIA: saldo de salário, 13º e férias proporcionais (com os avos IMPRESSOS no documento, que mandam sobre a derivação por meses de casa), terço, aviso indenizado (ou trabalhado), multa do FGTS, INSS, IRRF e o líquido total. Cada verba informada recebe veredito (confere, confere com arredondamento, difere com o valor); verba não informada vira referência sem veredito. Recusas honestas: multa sem o saldo do FGTS é não conferível; remuneração variável (médias) recusa a conferência inteira; férias vencidas e outras verbas declaradas tiram o líquido total da comparação. Nunca inventa diferença. Parâmetros obrigatórios: salary, months_worked, type, reference_date. Opcionais: days_worked_in_month, dependents, notice_worked, thirteenth_twelfths, vacation_twelfths, fgts_balance, informed_salary_balance, informed_thirteenth, informed_vacation, informed_vacation_bonus, informed_notice_pay, informed_fgts_penalty, informed_inss, informed_irrf, informed_net_total, has_variable_pay, declared_items. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | Tipo de desligamento | |
| salary | Yes | Salário bruto mensal fixo, em R$ | |
| dependents | No | Dependentes para o IRRF | |
| fgts_balance | No | Saldo do FGTS, em R$. Sem ele, a multa fica não conferível | |
| informed_inss | No | INSS descontado no TRCT, em R$ | |
| informed_irrf | No | IRRF descontado no TRCT, em R$ | |
| months_worked | Yes | Meses de casa (define os dias de aviso prévio) | |
| notice_worked | No | Aviso prévio trabalhado: o TRCT não traz aviso indenizado | |
| declared_items | No | Verbas do TRCT que o motor não reconstrói: expired_vacation (férias vencidas), other | |
| reference_date | Yes | Data da rescisão (competência das tabelas), aaaa-mm-dd | |
| has_variable_pay | No | Remuneração variável (comissões, HE habituais)? A conferência recusa: médias não são reconstruídas | |
| informed_vacation | No | Férias proporcionais no TRCT, em R$ | |
| vacation_twelfths | No | Avos das férias como impressos no TRCT; sem ele, derivado dos meses | |
| informed_net_total | No | Total líquido do TRCT, em R$ | |
| informed_notice_pay | No | Aviso prévio indenizado no TRCT, em R$ | |
| informed_thirteenth | No | 13º proporcional no TRCT, em R$ | |
| thirteenth_twelfths | No | Avos do 13º como impressos no TRCT; sem ele, derivado dos meses | |
| days_worked_in_month | No | Dias trabalhados no mês da rescisão | |
| informed_fgts_penalty | No | Multa do FGTS no TRCT, em R$ | |
| informed_salary_balance | No | Saldo de salário no TRCT, em R$ | |
| informed_vacation_bonus | No | Terço constitucional no TRCT, em R$ |
TDQS
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 openly lists honest refusal conditions: FGTS penalty without fgts_balance is not checkable, variable pay refuses the entire check, and declared items like expired vacation remove the net total from comparison. It also states it never invents differences and specifies verdict types (matches, matches with rounding, differs). This is thorough 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-structured: it starts with the purpose, then explains verdicts and refusal logic, and finally lists parameter requirements. Every sentence contributes to understanding the tool's behavior. While long, it is appropriately sized for the complexity of a 21-parameter severance checker, and the structure is logical, so it earns a 4 rather than a 3.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex tool with 21 parameters and no output schema. The description compensates fully by explaining the verification process, the verdicts, the refusal conditions, the precedence rules for avos, the role of each informed_* parameter, and the required vs optional distinction. An agent has enough information to call this tool correctly without guessing about parameters or behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all 21 parameters at 100% coverage, so the baseline is 3. The description adds meaningful semantic context beyond the schema: it explains that the avos printed on the document take precedence over derivation from months of service, distinguishes informed_* parameters as values from the TRCT to be verified, and clarifies required vs optional parameters. This is more than the schema descriptions provide, so a 4 is warranted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states it performs a line-by-line check of a CLT employee's TRCT (termination agreement) against the canonical severance calculation using current tables for the reference date. It lists the specific items verified (salary balance, 13th, proportional vacation, bonus, notice pay, FGTS penalty, INSS, IRRF, net total) and the verdicts given. This clearly distinguishes it from sibling tools like calculate_severance (which likely calculates severance amounts) and check_payslip (which checks payslips).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context: it is for verifying a provided TRCT document. However, it does not explicitly exclude alternatives or state when to prefer this over calculate_severance or check_payslip. The context is clear but there are no explicit when-not-to-use directives, so it earns a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_clt_vs_pjAInspect
Compara renda líquida CLT vs PJ (Simples Nacional) para o mesmo valor bruto. Inclui benefícios CLT e custos PJ. Parâmetros obrigatórios: gross_value. Opcionais: pj_tax_rate, pj_accountant. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| gross_value | Yes | Valor bruto mensal em R$ | |
| pj_tax_rate | No | Alíquota Simples Nacional (%, padrão 6%) | |
| pj_accountant | No | Custo mensal do contador em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It usefully discloses that CLT benefits and PJ costs are included and that the comparison is on the same gross value. It does not describe the output shape or underlying assumptions, but it does not contradict any annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded with the core purpose, followed by compact parameter guidance. Every sentence contributes, though the required/optional listing partially duplicates what the schema already declares.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple: three flat parameters, all documented in the schema, with no nested objects. The description captures the computation scope and required inputs. The main gap is the absence of any indication of the return value format, which matters since there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline of 3 applies. The description repeats the parameter names and warns to use English names, which reinforces usage but adds no semantic meaning beyond the schema's own per-parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb ('Compara') and names the exact resource ('renda líquida CLT vs PJ (Simples Nacional)') under the condition 'mesmo valor bruto.' It also states what the comparison includes (benefícios CLT, custos PJ), which clearly differentiates it from single-scenario siblings like calculate_net_salary or calculate_pj_invoice.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended scenario is implied: use this tool when comparing CLT vs PJ net income for the same gross value. However, it never names sibling alternatives such as evaluate_pj_offer or states when not to use them, so there is no explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_fuelAInspect
Compara álcool e gasolina pelo custo por quilômetro rodado, usando o rendimento real do carro, e diz quanto a escolha vale em reais por mês. Também informa o que a regra dos 70% diria, e quando ela erra. Parâmetros obrigatórios: alcohol_price, gasoline_price. Opcionais: alcohol_km_per_liter, gasoline_km_per_liter, km_per_month. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| km_per_month | No | Quilometragem mensal, para converter a diferença em reais. | |
| alcohol_price | Yes | Preço do álcool por litro | |
| gasoline_price | Yes | Preço da gasolina por litro | |
| alcohol_km_per_liter | No | Rendimento no álcool, em km/l. Padrão 7, o carro médio. | |
| gasoline_km_per_liter | No | Rendimento na gasolina, em km/l. Padrão 10, o carro médio. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the behavioral burden. It discloses the calculation approach (cost per km, real fuel efficiency), the output value (monthly savings in reais), and the extra nuance of the 70% rule and when it fails. It does not deeply discuss edge cases, but the core behavior is clearly described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no filler: the first states the main purpose and method, the second adds the key secondary output, and the third lists the parameter contract. Everything is front-loaded and necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description satisfactorily covers what the tool computes, what it returns conceptually, and which parameters are required vs. optional. It could mention default yield assumptions, but the schema already covers those defaults, so nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by explicitly separating required from optional parameters and warning to use the exact English parameter names—useful given the Portuguese-language description. This goes just beyond restating the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Compara') and a specific resource (álcool e gasolina), plus the exact comparison basis (custo por quilômetro rodado). This clearly distinguishes it from sibling tools like compare_investments or compare_loans without needing to open the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool: whenever comparing alcohol vs. gasoline by cost per km using real car performance. It does not explicitly name alternatives or state when not to use it, but the subject matter is narrow and unambiguous enough to route an agent correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_investmentsCInspect
Compara rendimento líquido de diferentes investimentos lado a lado para o mesmo valor e prazo.
| Name | Required | Description | Default |
|---|---|---|---|
| months | Yes | Prazo em meses | |
| principal | Yes | Valor a investir em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral details. It only states the tool compares net yield but does not explain how net yield is calculated, what data sources are used (e.g., current rates), whether taxes/fees are included, or any limitations. The 'net' qualifier implies some treatment of costs but is not elaborated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core action ('Compares net yield...') and immediately specifies the key constraint ('same value and term'). There is no extraneous content; every word contributes to the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that compares 'different investments', the description does not indicate what types of investments are considered, whether real-time data is used, what the output format is (no output schema provided), or any prerequisites. An agent would struggle to predict the tool's behavior or results, making it incomplete for confident invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema fully documents both parameters (principal and months) with clear descriptions. The tool description adds the context that both parameters apply to 'the same value and term' (mesmo valor e prazo), which reinforces their purpose but adds no syntactic or semantic detail beyond the schema. With 100% schema coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('compares net yield'), a resource ('different investments'), and a clear context ('side by side for the same value and term'). It is distinct from generic 'calculate' tools but does not explicitly differentiate from siblings like compare_pgbl_vgbl or compare_with_cdb, so it misses full sibling separation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling comparison tools (e.g., compare_loans, compare_pgbl_vgbl, compare_with_cdb). No alternatives or exclusions are mentioned, leaving the agent to infer usage solely from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_loansAInspect
Compara empréstimos de diferentes bancos pelo CET real (Custo Efetivo Total). Útil para portabilidade de crédito. Parâmetros obrigatórios: loans. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| loans | Yes | Lista de empréstimos para comparar |
TDQS
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 that the comparison is based on 'CET real' and emphasizes exact parameter names, which adds some behavioral context, but it does not disclose output format, side effects, or error behavior. This is adequate for a read-only comparison tool 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four short sentences with no filler. It front-loads the core purpose and use case, then provides a necessary calling convention about using exact English parameter names.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The input side is fully documented by the schema, and the description provides the comparison dimension and intended use case. There is no output schema, so the return format is not described, but for a comparison tool invoked by an agent this is largely sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already has 100% coverage, including descriptions for the loans array and all nested properties. The description reinforces mandatory parameters and exact English field names, but it does not add semantic meaning beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool compares loans from different banks using the real CET, which is a specific verb, resource, and comparison criterion. It is immediately distinguishable from sibling tools like compare_investments and calculate_cet because it names loans and banks explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case: it is useful for credit portability. It does not explicitly mention alternatives or when not to use the tool, but the context is specific enough for an agent to understand when this comparison tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_pgbl_vgblAInspect
Compara PGBL e VGBL pro mesmo aporte anual: a dedução de até 12% da renda tributável do PGBL (com restituição reinvestida) contra o VGBL tributado só no rendimento, ambos na tabela regressiva com resgate após 10 anos. Parâmetros obrigatórios: gross_annual_income, annual_contribution. Opcionais: annual_return, years, marginal_rate. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| years | No | Anos até o resgate (mínimo 10: é onde a regressiva chega aos 10%) | |
| annual_return | No | Retorno anual do plano em %, já líquido de taxas (padrão 8) | |
| marginal_rate | No | Sua alíquota marginal do IRPF em % (27,5 pra renda acima da última faixa) | |
| annual_contribution | Yes | Aporte anual em R$, igual nos dois cenários | |
| gross_annual_income | Yes | Renda bruta anual TRIBUTÁVEL em R$ (base da trava dos 12%) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full disclosure burden. It explains the tax treatment of both PGBL and VGBL, the reinvestment of the restitution, and the regressive-table horizon. It also lists required and optional parameters, but it does not describe what the output looks like (since there is no output schema).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence followed by a parameter summary. Every part contributes to understanding the calculation, but the first sentence is a run-on with several clauses, and the parameter guidance could be structured more clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The calculation methodology is well covered, and all parameters are documented in the schema. However, since there is no output schema, the description should ideally state what the tool returns (e.g., final net comparison, recommendation), and this is missing, leaving the agent to guess the result format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by marking which parameters are mandatory vs optional and emphasizing that annual_contribution is equal in both scenarios while gross_annual_income is the basis for the 12% cap, which is not stated explicitly in the schema for the relationship.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the specific comparison (PGBL vs VGBL) and the concrete mechanism: 12% deductible of taxable income with reinvested restitution, VGBL taxed only on yield, regressive table, redemption after 10 years. This clearly distinguishes it from generic siblings like compare_investments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scenario is clearly established ('pro mesmo aporte anual', 'resgate após 10 anos'), so an agent knows when this applies. However, it does not explicitly state when not to use it or name an alternative tool such as compare_investments, so no exclusion guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_with_cdbAInspect
Compara um CDB que rende X% do CDI vs alternativas (Tesouro Selic, LCI/LCA, poupança) usando o CDI atual do Banco Central. Retorna rendimento líquido pós-IR e diferença em R$ entre cada opção pra um aporte e prazo dados. Parâmetros obrigatórios: principal, cdi_percent, months. Opcionais: lci_percent. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| months | Yes | Prazo em meses (1-360) | |
| principal | Yes | Valor a investir em R$ | |
| cdi_percent | Yes | Percentual do CDI que o CDB rende (ex: 110 = 110% do CDI; 100 = 100% do CDI) | |
| lci_percent | No | Percentual do CDI da LCI/LCA pra incluir na comparação (opcional, ex: 95) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It discloses that it uses the current Central Bank CDI, returns post-IR net yield, and shows R$ differences per option. It does not mention data freshness, network dependence, or any assumptions about the fixed alternatives.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core comparison purpose, followed by the output behavior and parameter contract. Every sentence earns its place, though the parameter list somewhat duplicates the schema's required-field information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers inputs, outputs, and the CDI source, but because there is no output schema and no annotations, it leaves some gaps: the exact return shape is not specified, and the modeling assumptions for Tesouro Selic, LCI/LCA, and savings alternatives are only implied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all four parameters at 100% coverage, so the baseline is 3. The description adds value by explicitly grouping required vs optional parameters and instructing the agent to use the exact English parameter names, which reduces localization mistakes despite the Portuguese description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool compares a CDB earning X% of CDI against Tesouro Selic, LCI/LCA, and savings, and returns net post-IR yield and R$ differences. It is specific about the resource and outcome, though it does not explicitly name or contrast a sibling tool like compare_investments or calculate_lci_lca.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool: when comparing a CDB against alternative Brazilian investments using current CDI. However, it gives no explicit guidance about when not to use it or which sibling tool to prefer for related comparisons, such as compare_investments or calculate_cdi_yield.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
convert_currencyAInspect
Converte entre real (BRL), dólar (USD) e euro (EUR) com o câmbio comercial do dia (Banco Central) e mostra o custo real no cartão internacional: o IOF de câmbio vigente mais o spread típico. Parâmetros obrigatórios: amount, from, to. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Moeda de destino | |
| from | Yes | Moeda de origem | |
| amount | Yes | Valor a converter, na moeda de origem |
TDQS
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 rate source (commercial exchange rate of the day from the Central Bank) and the additional cost components (IOF and typical spread), which is substantial behavioral context. It does not explicitly state it is read-only, but that is implied by its nature as a converter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences. The first sentence states the action and key behavioral details, and the second clarifies mandatory parameters and naming. There is zero redundancy or filler, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a calculation tool with no output schema, the description adequately explains what it does and what it returns (the cost breakdown). It covers the core functionality and the rate source. It does not detail the exact return structure, but that is likely self-evident for a converter. The missing edge-case handling is minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and all three parameters have descriptions, so the baseline is 3. The description adds value by explicitly stating the parameters are mandatory and that names must be used exactly in English, which is not in the schema and prevents naming errors. This goes beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Converte') and resource (real, dollar, euro) and adds unique value by explaining it also shows the real international-card cost including IOF and spread. This clearly distinguishes it from simple currency converters and many calculate_* siblings that lack this added cost analysis.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (when conversion with international-card cost is needed) but does not explicitly mention alternatives or exclusions. It does not say 'use this instead of get_current_rates' or similar. The guidance is adequate but not explicit about 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.
evaluate_pj_offerAInspect
Avalia uma proposta de trabalho PJ contra o emprego CLT atual: monta o pacote CLT mensal (líquido + FGTS + 13º + férias), calcula o que a nota proposta deixa líquido no Simples (escolhendo automaticamente entre Fator R e pró-labore mínimo), e devolve a NOTA DE EMPATE, o faturamento mínimo para a proposta igualar o pacote atual. Responde 'vale a pena?' com a árvore da decisão inteira, premissas e o elo mais fraco declarados.
| Name | Required | Description | Default |
|---|---|---|---|
| dependents | No | Dependentes para a dedução do IRRF no lado CLT | |
| accounting_fee | No | Honorário mensal da contabilidade, em R$ | |
| current_clt_gross | Yes | O salário bruto CLT atual, mensal, em R$ | |
| proposed_pj_invoice | Yes | A nota mensal da proposta PJ, em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations at all, the description carries the full burden, and it compensates well: it discloses the internal pipeline (building the CLT package, computing Simples net with automatic Fator R vs pro-labore choice) and the full result structure (tie note, minimum invoice, decision tree, premises, weakest link). It does not list limitations up front, but it is transparent that assumptions exist and are returned with the answer.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and then enumerates method and outputs without filler. Every clause contains decision-relevant detail, and the length is justified by the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with no output schema and no annotations, the description is remarkably complete: it tells the agent what inputs are compared, what calculation choices happen automatically, and exactly what artifacts will be returned. Nothing essential to selecting or invoking the tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds value beyond the schema by tying current_clt_gross to the 'pacote CLT' construction and proposed_pj_invoice to the 'nota proposta' liquidation in Simples, and by implicitly mapping accounting_fee/dependents to premises of the comparison.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the action ('avalia uma proposta de trabalho PJ contra o emprego CLT atual') and specifies exact outputs: CLT monthly package, take-home under Simples, tie point, and minimum invoice. It is highly specific, but it does not explicitly differentiate itself from the close sibling compare_clt_vs_pj, so it does not fully satisfy the sibling-distinction criterion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'vale a pena?' phrasing implies this is the tool for a PJ-vs-CLT decision, and the calculation steps make the intended scenario clear. However, there is no explicit 'use this instead of compare_clt_vs_pj or calculate_fator_r when...' guidance, so the usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_accumulated_returnAInspect
Quanto um valor virou seguindo a série histórica REAL de um índice brasileiro (Selic, CDI, IPCA, poupança, dólar ou euro), acumulando mês a mês com a taxa que valeu em cada mês, sem taxa média. Ex.: quanto renderam R$ 10.000 no CDI de 2020 até hoje.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Data final em YYYY-MM-DD (padrão: hoje) | |
| from | Yes | Data inicial em YYYY-MM-DD (série disponível desde 2000) | |
| index | Yes | Índice: selic e cdi acumulam juros; ipca corrige pela inflação; poupanca aplica a regra vigente; dollar e euro seguem o câmbio. | |
| amount | Yes | Valor inicial em R$ |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses the core computation: real historical series, month-by-month compounding with each month's actual rate, and no average rate. It does not state the shape of the return value (final amount, accumulated percentage, etc.) or date edge cases, which is a gap for a tool with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence plus a relevant example, with no filler. It front-loads purpose and method and earns each clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple calculator with full schema coverage, the description is mostly sufficient: indices, method, and an example are present. However, with no output schema, the description should specify what the call returns (final amount only, percentage, or both) and any caveats like history start being handled, so completeness is adequate but not excellent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds real semantic value beyond the enum by explaining what each index does (Selic/CDI accrue interest, IPCA corrects inflation, poupança applies current rule, dollar/euro follow exchange). This justifies a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a concrete question ('Quanto um valor virou...') and names the resource (Brazilian index historical series) and the method (monthly cumulative with the rate in effect each month). The phrase 'série histórica REAL' and 'sem taxa média' distinguish it from sibling calculators that use average or projected rates, even though no sibling is named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes when to use the tool: when you need actual historical accumulation rather than average-rate estimates ('sem taxa média'), and the example ('Ex.: quanto renderam R$ 10.000 no CDI de 2020 até hoje') reinforces a concrete scenario. It does not explicitly name alternatives, so it misses the top tier, but 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.
get_average_salaryAInspect
Salário médio de uma profissão no Brasil em CLT (mediana, p25, p75, média) com base em dados reais do CAGED do Ministério do Trabalho. Aceita nome ('programador'), slug ('analistas-de-sistemas') ou código CBO 4 dígitos ('2124').
| Name | Required | Description | Default |
|---|---|---|---|
| profession | Yes | Nome da profissão (ex: 'programador', 'enfermeiro', 'advogado'), slug ou CBO 4 dígitos |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the full transparency burden. It discloses meaningful behavioral details: the data source (CAGED from the Ministry of Labor), the scope (Brazil, CLT), and the exact statistics returned (median, p25, p75, mean). This goes well beyond what the name alone suggests.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences lead with the tool's purpose and output, then cover accepted input variants. There is no filler, no restatement of the tool name, and every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter lookup with no output schema, the description is essentially complete. It defines what is returned, the geographic and employment scope, the authoritative data source, and all supported input forms. Nothing essential is missing for an agent to call the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers the single parameter at 100%, so the baseline is 3. The description adds value by providing concrete examples for every accepted format, including a slug example ('analistas-de-sistemas') and a 4-digit CBO code ('2124'), which reduces ambiguity for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the verb and resource: it returns average salary statistics for a Brazilian profession under CLT. It also names the concrete outputs (median, p25, p75, mean) and the data source, which separates it from generic calculation tools and price lookups among the siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by saying it handles profession salary lookups in Brazil, and it explains the accepted input formats. However, it gives no explicit guidance on when to prefer this tool over related salary siblings such as calculate_net_salary, compare_clt_vs_pj, or list_top_professions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bank_holidaysAInspect
Retorna feriados nacionais do Brasil em 2026 com datas e dias da semana.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations or output schema, the description carries the transparency burden. It states what is returned (national holidays with dates and weekdays) and scopes the data to 2026. It could mention output format or limitations, but it accurately discloses the core behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads the action and resource, with no filler. Every element — country, year, and data fields — earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, fixed-data getter, the description is nearly complete: it identifies the country, year, and return contents. Only the exact response shape, such as list format, is left unspecified, which is minor given the simple no-output-schema case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters with 100% coverage, and the rubric sets a baseline of 4. The description correctly implies no configuration is needed by describing a fixed dataset of 2026 national holidays.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the verb 'Retorna' and names the precise resource: Brazilian national holidays for 2026, including dates and weekdays. This clearly identifies the tool and separates it from the finance and calculation focused sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The scope is explicit — national holidays of Brazil, year 2026 — so an agent can tell when this tool applies. It does not name alternatives or spell out when not to use it, but no sibling tool offers holiday data and the zero-parameter design makes the intended use obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cost_of_livingAInspect
Retorna custo de vida estimado em uma cidade brasileira — aluguel, alimentação, transporte, saúde, educação, lazer. Dados IBGE POF + estimativas 2026.
| Name | Required | Description | Default |
|---|---|---|---|
| city | Yes | Nome da cidade (ex: 'São Paulo', 'Curitiba', 'Recife') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It usefully states that the result is an estimate based on 'Dados IBGE POF' and 'estimativas 2026', which prevents treating values as exact or current. It does not disclose response shape, units, or handling of unknown cities.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single hyphenated sentence that front-loads the verb and object, then lists categories and data source. There is no filler and no repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter lookup with no output schema, the listed categories effectively convey what result dimensions the agent can expect. The main omissions are the return format/units and error behavior for invalid or unknown cities, so it is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the city parameter is fully documented with examples in the schema. The description only adds that the city is Brazilian, which matches the schema without providing meaningful new semantic detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with the action 'Retorna' and the resource 'custo de vida estimado em uma cidade brasileira', then enumerates the components. This clearly distinguishes the tool from the many calculate_* siblings and from get_average_salary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to prefer this tool over alternatives, and no exclusions or conditions are stated. The intended use case must be inferred entirely from the name and the generic return statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_current_ratesAInspect
Retorna taxas econômicas atuais do Brasil — Selic, CDI, IPCA, poupança, dólar, euro, salário mínimo. Lidas da API do Falazuki, alimentada diariamente pelo Banco Central.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It adds useful behavioral context: the data comes from the Falazuki API and is fed daily by the Central Bank, implying freshness. It does not mention output shape, units, or formatting conventions, but for a simple getter this is a reasonable minimum.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler: the first states exactly what is returned, and the second explains the source and update cadence. Information is front-loaded and every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only getter with no output schema, the description provides the essential selection and invocation context. It could have named sibling tools or clarified the exact meaning of 'current', but the gaps are minor given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema is empty, so there is nothing for the description to clarify. The baseline of 4 for parameterless tools applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Retorna') and identifies the resource: current Brazilian economic rates (Selic, CDI, IPCA, savings, dollar, euro, minimum wage). It is easy to understand, but it does not explicitly distinguish itself from siblings like get_rates_history or get_focus_expectations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied through 'atuais' and the daily Central Bank update, signaling this is for current rates. However, there is no explicit when-to-use vs. alternatives guidance, so an agent might not realize that historical data belongs to get_rates_history.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_falazuki_infoAInspect
Informações sobre o Fala, Zuki! — assistente financeiro pessoal no WhatsApp. Preço, funcionalidades, como começar.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Não há anotações, então a descrição carrega todo o peso. Ela informa o conteúdo retornado (preço, funcionalidades, como começar) e implica uma operação de leitura, mas não declara explicitamente que não modifica dados, nem menciona limitações, atualização das informações ou formato da resposta.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A descrição é uma única frase compacta que coloca o assunto em primeiro lugar e já lista os três conteúdos principais. Cada palavra contribui; não há redundância ou informação irrelevante.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Para uma ferramenta informativa, sem parâmetros e sem anotações, a descrição é suficiente para o agente decidir quando chamá-la e o que esperar. Uma lista mais detalhada da estrutura da resposta poderia melhorar a completude, mas os tópicos citados cobrem os usos principais.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
A ferramenta não possui parâmetros e a cobertura do schema é de 100%, portanto não há nada que a descrição precise adicionar sobre parâmetros. Como ferramenta sem parâmetros, a linha de base 4 é apropriada e a descrição não cria expectativas incorretas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A descrição identifica claramente o recurso-alvo (o assistente Fala Zuki) e o tipo de informação fornecida (preço, funcionalidades, como começar), distinguindo-o dos irmãos calculadores. Porém, usa a frase nominal 'Informações sobre' em vez de um verbo de ação explícito como 'obter' ou 'retornar'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Não há orientação explícita sobre quando usar esta ferramenta em vez das alternativas. No entanto, com zero parâmetros e um tema único entre os irmãos, o uso pretendido é implícito: qualquer pedido de informação sobre o Fala, Zuki!. Não há menção a exclusions ou casos em que outra ferramenta seria mais apropriada.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_focus_expectationsAInspect
Retorna as projeções do Boletim Focus do Banco Central para Selic, IPCA, IGP-M, dólar, PIB e desemprego, por ano de referência, com mediana e dispersão. São EXPECTATIVAS de mercado, não dados observados.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It clearly communicates that the returned values are market projections (not observed data), and specifies the aggregation details (mediana e dispersão) and reference period structure (por ano de referência). It does not mention format, source freshness, or update cadence, but for a parameterless read tool this 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler. The first sentence front-loads the resource, indicators, and aggregation; the second immediately clarifies the crucial expectation-vs-observed distinction. Every clause adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple parameterless tool with no output schema or annotations, the description is nearly complete: it states the data source, the indicators, the aggregation, and the temporal dimension. It could slightly improve by noting the source's update cadence or that the result is a list, but nothing essential is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to explain parameter semantics because there are none, and it focuses on what data is returned instead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Retorna') and resource ('projeções do Boletim Focus do Banco Central'), and enumerates the covered indicators (Selic, IPCA, IGP-M, dólar, PIB, desemprego). It also distinguishes itself from observed-data tools by emphasizing these are market expectations, so an agent can tell it apart from sibling tools like get_rates_history or get_current_rates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use it: when the agent needs Focus market expectations, not observed economic data. It states the exclusion ('não dados observados'), which helps avoid misuse, though it does not explicitly name alternatives or provide a when-when-not matrix.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_inss_tableAInspect
Retorna a tabela de contribuição INSS com faixas e alíquotas progressivas. Aceita year (2025+) pra tabela histórica; sem year, a vigente hoje.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Ano da tabela desejada (ex: 2025). Omitido, a vigente hoje. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It openly discloses what is returned (tabela com faixas e alíquotas progressivas) and how the optional year changes behavior (historical vs current). This is adequate for a simple read-only lookup, though it doesn't describe the exact output structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no filler. The main purpose is stated first, and the optional-parameter guidance is immediately relevant and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-optional-parameter lookup tool with no output schema, this is complete. The agent knows what the tool returns, how to get the current table, and how to get a historical table, which is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds meaningful semantics beyond the schema: it clarifies that year is for historical tables from 2025+ and that omission returns the current table. This adds value, even though it leaves ambiguous behavior for years between 2000 and 2024 allowed by the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: returns the INSS contribution table with progressive rate bands. It also distinguishes historical vs current table semantics, which separates it from siblings like calculate_inss_autonomo or check_inss_deduction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly explains when to omit year (use current table) and when to provide year (historical table from 2025+). It does not explicitly name alternatives or exclusion conditions, but the context is strong enough for the agent to select this tool correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_irpf_tableAInspect
Retorna a tabela do IRPF mensal com faixas, alíquotas, deduções e o redutor da Lei 15.270/2025 (quando vigente no ano). Aceita year (2025+) pra tabela histórica.
| Name | Required | Description | Default |
|---|---|---|---|
| year | No | Ano da tabela desejada (ex: 2025). Omitido, a vigente hoje. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure, and it explains both the returned data and the conditional applicability of the legal reducer. It does not cover error behavior for unsupported years, but for a read-only table lookup the core behavior is sufficiently exposed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with the main purpose front-loaded and the optional parameter guidance immediately after. There is no filler, repetition of schema content, or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only table lookup, the description plus schema provide enough to select and invoke the tool correctly. It enumerates what the response will contain and how to request historical data, though it could be even more complete by explicitly saying it is not a tax calculation tool or describing unsupported years.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents the single year parameter with 100% coverage, including the default behavior 'Omitido, a vigente hoje', so the baseline is 3. The description adds historical-table context and the 2025 law cut-off, but its '2025+' phrasing is ambiguous relative to the schema's minimum of 2000, preventing a higher score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Retorna a tabela do IRPF mensal' – a specific verb and resource – and enumerates its contents: faixas, alíquotas, deduções and the Lei 15.270/2025 reducer. This clearly distinguishes it from calculation-oriented siblings like calculate_carne_leao or check_irrf_deduction, since it returns a table rather than computing a value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly defines the main usage context: omit year to get the current table, or pass a year for the historical table. It does not explicitly name alternative tools or state when not to use it, so it misses the top score, but the intended usage is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_minimum_wage_historyAInspect
Retorna histórico do salário mínimo brasileiro de 1994 (Plano Real) até 2026.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It reveals that the tool returns historical data, but does not state the output format, granularity (annual/monthly), whether 2026 is a projection, or how the data is structured. This is a meaningful gap for a data-retrieval tool with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word contributes: it names the verb, the resource, and the complete date range efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only tool, the description is largely complete and sufficient for invocation. The main missing elements are the response structure and clarification about the 2026 endpoint, which could matter if the data is projected or partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so per the rubric the baseline is 4. The description does not need to explain parameter meanings, and the empty input schema already confirms no arguments are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Retorna histórico'), a precise resource ('salário mínimo brasileiro'), and an explicit period ('1994 (Plano Real) até 2026'). This clearly distinguishes it from sibling tools like get_current_rates, get_average_salary, and calculate_real_salary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is implied: an agent needing Brazilian minimum wage history should call this tool. However, there is no explicit guidance on when not to use it or which sibling tool to prefer for current wages, average wages, or wage calculations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rates_historyAInspect
Retorna série histórica de uma taxa econômica brasileira (Selic, CDI, IPCA, IGP-M, dólar, euro, salário mínimo). Dados oficiais do Banco Central — séries SGS. Permite filtrar por intervalo de datas e agregar em mensal/anual pra reduzir volume.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Data final em YYYY-MM-DD (opcional) | |
| from | No | Data inicial em YYYY-MM-DD (opcional) | |
| limit | No | Limite de pontos retornados (default 500, max 2000) | |
| metric | Yes | Métrica desejada. selic/cdi/dollar/euro são diárias; o resto é mensal. ipca e igpm vêm acumulados em 12 meses; ipcaMonthly, igpmMonthly, inpcMonthly, tr e poupanca são a variação do mês. A série da poupança começa em 06/2012, com a regra da Lei 12.703/2012. | |
| aggregate | No | Agregação: 'none' retorna pontos brutos, 'monthly' retorna 1 ponto/mês (último valor), 'yearly' retorna 1 ponto/ano. | none |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral transparency burden. It usefully discloses that data comes from official Banco Central SGS series and that aggregation exists to reduce volume, which adds context beyond the schema. It does not describe edge cases, response shape, or ordering, but for a read-only query tool the disclosed behavior is reasonably complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: three short sentences covering purpose, authoritative source, and key capabilities. It is front-loaded with the most important information and contains no filler or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a rate-history lookup, the description plus fully documented schema gives an agent enough to select metrics, date ranges, aggregation, and limits. There is no output schema and no description of the returned point structure, but the return concept is simple enough that this is a minor gap. The missing explicit routing among related rate/minimum-wage siblings is the main completeness weakness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents metric, from, to, aggregate, and limit with enums and defaults. The description adds high-level context by mentioning date filtering and monthly/yearly aggregation but does not provide meaningful semantics beyond the schema. Baseline 3 is appropriate because the schema carries the parameter-documentation load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource — "Retorna série histórica de uma taxa econômica brasileira" — and lists concrete examples like Selic, CDI, IPCA, and dollar. It is clearly a historical-series lookup, which implicitly separates it from get_current_rates, but it never explicitly names an alternative or states what it is not. This is clear but lacks direct sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is implied: an agent can infer to use this tool when historical Brazilian economic rate data is needed, especially with date-range filtering or aggregation. However, there is no explicit guidance about when not to use it or which sibling to prefer, such as get_current_rates for current values or get_minimum_wage_history for wage history. The guidance is functional but not exclusionary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tesouro_diretoAInspect
Retorna as taxas e os preços de todos os títulos ofertados no Tesouro Direto na última cotação oficial (Tesouro Selic, IPCA+, Prefixado, Renda+, Educa+), com a data da cotação. Fonte: arquivo público do Tesouro Nacional.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It does reveal the data source ('arquivo público do Tesouro Nacional') and the official-quote scope, which is useful. However, it does not mention response structure, update frequency, units/format of rates, or any caveats about the returned data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence stating exactly what is returned, followed by a brief source note. Every part earns its place; there is no fluff, repetition, or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, zero-parameter read-only tool with no output schema, the description adequately explains what is returned: rates, prices, quote date, and eligible bond types. It could be more complete by specifying rate units or output format, but the core information needed to invoke and understand the result is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so parameter semantics are trivial. The description correctly implies that no input is needed to fetch the latest rates, meeting the baseline for a zero-parameter tool; no additional parameter explanation is required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Retorna'), the resource ('taxas e os preços de todos os títulos ofertados no Tesouro Direto'), and the time scope ('última cotação oficial'). The parenthetical list of bond types and the quote date make the tool's purpose specific and easily distinguishable from sibling calculators and rate-history tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus related tools like calculate_tesouro_selic, calculate_tesouro_prefixado, or get_rates_history. There are no stated conditions, exclusions, or alternatives, so the agent must infer usage from the tool name and content.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_top_professionsAInspect
Lista as profissões com maior volume de admissões formais no CAGED, ordenadas por número de contratações no período. Útil pra explorar quais famílias CBO têm dado disponível.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Quantidade de profissões a retornar (1-100, default 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the behavioral disclosure burden. It does state that results are ordered by number of hires and sourced from CAGED, but it does not clarify the response format, the exact meaning of 'período', or explicitly confirm this is a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with the primary behavior front-loaded and no filler or repetition. The exploratory use case is a useful addition without bloating the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter list tool with no output schema, the description covers the source, ordering, and intended use. It omits explicit return fields and is slightly vague about the time period, but these are modest gaps given the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, 'limit', is fully documented in the schema with range and default values (schema coverage 100%). The description adds no additional parameter nuance, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Lista'), the resource ('profissões com maior volume de admissões formais no CAGED'), and the sorting criterion ('ordenadas por número de contratações no período'). This distinguishes it from the many calculate_* and get_* sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear use case: 'Útil pra explorar quais famílias CBO têm dado disponível.' It does not explicitly mention when not to use it or point to alternatives, but the intent is reasonably clear for a list/exploration tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_calculatorAInspect
Encontra a calculadora financeira mais relevante no Falazuki para um determinado tema.
| Name | Required | Description | Default |
|---|---|---|---|
| topic | Yes | Tema ou palavra-chave (ex: 'salário líquido', 'juros compostos', 'rescisão') |
TDQS
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 says the tool finds 'the most relevant' calculator but never explains what that means, how relevance is determined, or what the returned output looks like. Core behavioral traits such as whether it returns a name, a link, a ranking, or a summary are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, front-loaded with the verb and the object, with no filler or redundant restatement. Every word earns its place, and the core search intent is immediately understandable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, has one fully documented parameter, and no output schema. However, because no output schema exists, the description should clarify what the agent will receive, and it only vaguely indicates a calculator will be found. It is minimally viable but leaves gaps around result format and failure behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents the topic parameter with examples and 100% coverage, so the baseline is 3. The description adds only that the topic relates to finding a relevant calculator, which is mild reinforcement rather than genuinely new semantic information about the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Encontra') and a specific resource ('a calculadora financeira mais relevante no Falazuki'), making its search intent unmistakable. It clearly distinguishes itself from the many calculate_* siblings by describing a discovery/recommendation action rather than a calculation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'para um determinado tema' implies the tool is for finding a calculator when the user names a topic, but it does not explicitly state when to prefer it over directly using a calculate_* sibling. No alternative tools are named and no exclusion criteria are given, so the usage guidance remains only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_income_taxAInspect
Simula declaração de Imposto de Renda — compara modelo simplificado vs completo e calcula imposto devido ou restituição. Parâmetros obrigatórios: annual_income. Opcionais: tax_withheld, dependents, health_expenses, education_expenses, pension_expenses. Use exatamente estes nomes, em inglês.
| Name | Required | Description | Default |
|---|---|---|---|
| dependents | No | Número de dependentes | |
| tax_withheld | No | IR já retido na fonte no ano em R$ | |
| annual_income | Yes | Renda tributável anual em R$ | |
| health_expenses | No | Gastos com saúde no ano em R$ | |
| pension_expenses | No | Previdência privada PGBL no ano em R$ | |
| education_expenses | No | Gastos com educação no ano em R$ (limite R$ 3.561,50/pessoa) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It discloses the core behavior — comparing simplified vs complete models and computing tax due or refund — but does not mention assumptions such as the applicable tax year, use of current brackets, or that the result is an estimate. This is adequate but leaves important caveats unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences: the core function is front-loaded, followed by a parameter list and a practical naming warning. Every clause earns its place without fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description states the key result (tax due or refund) and the comparison, which is enough for an agent to call the tool correctly. It could describe the return shape or tax year more explicitly, but for a fully schema-documented 6-parameter calculator, the missing details are not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides descriptions for all parameters (100% coverage), so the baseline is 3. The description restates required and optional names and adds a useful instruction to use exact English names, but it adds no semantic 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Simula declaração de Imposto de Renda'), the two calculation models compared ('compara modelo simplificado vs completo'), and the outcome ('calcula imposto devido ou restituição'). This clearly differentiates it from sibling tax tools such as calculate_carne_leao or get_irpf_table.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It sets a clear scenario: use this tool to simulate an annual income tax declaration and compare the simplified and complete models. It does not explicitly name alternatives or when-not conditions, but the context is enough to disambiguate from tax-rate lookup, eligibility-check, and specific tax calculation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
114 tool updates
- First observed
advise_investment - First observed
advise_tax_regime - First observed
calculate_acordo_divida - First observed
calculate_adicional_noturno - First observed
calculate_annual_salary - First observed
calculate_antecipacao_fgts - First observed
calculate_average_price - First observed
calculate_aviso_previo - First observed
calculate_break_even - First observed
calculate_budget - First observed
calculate_car_affordability - First observed
calculate_car_ownership_cost - First observed
calculate_card_machine_fee - First observed
calculate_carne_leao - First observed
calculate_cdi_yield - First observed
calculate_cet - First observed
calculate_civil_monetary_update - First observed
calculate_come_cotas - First observed
calculate_compound_interest - First observed
calculate_consorcio - First observed
calculate_credit_card_interest - First observed
calculate_custo_demissao - First observed
calculate_darf - First observed
calculate_debt_payoff - First observed
calculate_dias_uteis - First observed
calculate_discount - First observed
calculate_dividend_income_goal - First observed
calculate_dividend_yield - First observed
calculate_emergency_fund - First observed
calculate_employee_cost - First observed
calculate_energy_consumption - First observed
calculate_equivalent_rate - First observed
calculate_fator_r - First observed
calculate_fgts - First observed
calculate_financial_independence - First observed
calculate_financing - First observed
calculate_first_million - First observed
calculate_ganho_capital_imovel - First observed
calculate_gross_from_net - First observed
calculate_hourly_wage - First observed
calculate_import_tax - First observed
calculate_imposto_apostas - First observed
calculate_imposto_cripto - First observed
calculate_imposto_dividendos - First observed
calculate_inflation_adjustment - First observed
calculate_inss_autonomo - First observed
calculate_installment - First observed
calculate_investment_return - First observed
calculate_iof_resgate - First observed
calculate_ipca_plus - First observed
calculate_late_das - First observed
calculate_lci_lca - First observed
calculate_life_insurance_need - First observed
calculate_markup - First observed
calculate_mei_tax - First observed
calculate_multa_aluguel - First observed
calculate_net_salary - First observed
calculate_net_worth_benchmark - First observed
calculate_opportunity_cost - First observed
calculate_optimal_prolabore - First observed
calculate_overtime - First observed
calculate_payroll_loan - First observed
calculate_percentil_renda - First observed
calculate_pj_invoice - First observed
calculate_raise_vs_inflation - First observed
calculate_real_salary - First observed
calculate_rent_adjustment - First observed
calculate_rent_affordability - First observed
calculate_rent_vs_buy - First observed
calculate_required_raise - First observed
calculate_retirement - First observed
calculate_rpa - First observed
calculate_rule_of_three - First observed
calculate_salary_time_value - First observed
calculate_savings_return - First observed
calculate_severance - First observed
calculate_simple_interest - First observed
calculate_simples_nacional - First observed
calculate_tesouro_prefixado - First observed
calculate_tesouro_selic - First observed
calculate_thirteenth_salary - First observed
calculate_transicao_aposentadoria - First observed
calculate_unemployment_insurance - First observed
calculate_vacation_pay - First observed
calculate_weekday - First observed
can_i_quit_job - First observed
check_inss_deduction - First observed
check_irpf_obligation - First observed
check_irrf_deduction - First observed
check_payslip - First observed
check_severance - First observed
compare_clt_vs_pj - First observed
compare_fuel - First observed
compare_investments - First observed
compare_loans - First observed
compare_pgbl_vgbl - First observed
compare_with_cdb - First observed
convert_currency - First observed
evaluate_pj_offer - First observed
get_accumulated_return - First observed
get_average_salary - First observed
get_bank_holidays - First observed
get_cost_of_living - First observed
get_current_rates - First observed
get_falazuki_info - First observed
get_focus_expectations - First observed
get_inss_table - First observed
get_irpf_table - First observed
get_minimum_wage_history - First observed
get_rates_history - First observed
get_tesouro_direto - First observed
list_top_professions - First observed
search_calculator - First observed
simulate_income_tax
Related MCP Connectors
Brazilian fixed income & financial data for AI. Selic, CDI, IPCA, CDB/LCI/LCA rankings, FX rates.
Automatic Brazilian legal calculators: monetary correction and debt settlement (correction by IPCA,
Automatic Brazilian monetary correction for AI: update any amount by IPCA, INPC, IGP-M, SELIC, TR an
Brazilian financial market data (B3): quotes, fundamentals, dividends, REITs (FIIs), BDRs, crypto, F
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables AI assistants to access Brazilian financial market data from public sources, including SELIC, CDI, IPCA, PTAX exchange rates, Tesouro Direto bonds, and financial calculators, without registration.18MIT
- AlicenseNot gradedqualityCmaintenanceEnables automatic Brazilian legal calculations: monetary correction, debt settlement, alimony, labor severance, FGTS, criminal sentencing, and other legal math using official indices fetched live from BACEN and IBGE.MIT
- AlicenseAqualityCmaintenanceProvides Brazilian financial market data including stock prices, fundamentals, dividends, FIIs, and macro indicators to AI assistants.1133 PyPI1MIT
- AlicenseAqualityAmaintenanceEnables calculation of Simples Nacional taxes in Brazil, including DAS, effective rate, Fator R, sector exemptions, and tax amounts not covered by the DAS, helping assistants avoid incomplete or misleading tax conclusions.724 PyPIMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.