Skip to main content
Glama

compute_income_tax

PAID ($0.05). Statutory income tax on a TAXABLE-income figure using the country's verified marginal bracket schedule, with full per-bracket workings, effective rate and marginal rate. Handles inflation-indexed tax units (Colombia UVT, Chile UTA, Peru UIT, Uruguay BPC) — you pass local currency. IMPORTANT: this is tax on taxable income, NOT net take-home pay — reliefs/allowances and social-security contributions are the caller's concern and are not applied (see the response scope_note). Pass api_key if you have one; otherwise the response explains how to pay via x402. Optional receipt (boolean, default false): on a paid success, include an Ed25519 answer receipt at no extra USDC. An answer receipt is not a series certified extract (GET /v1/certified/{country}/{series} is $0.25 and is not an MCP tool) and is not legal advice. Verify with verify_answer_receipt against /certified/public-key.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
api_keyNoAPI key (bypasses x402; metered for invoicing)
countryYesISO country code
receiptNoDefault false. When true, a paid success includes an Ed25519 answer receipt (kind answer_receipt) at no extra USDC. Unpaid 402 and free refusals do not include one. Not a series certified extract (GET /v1/certified/{country}/{series} at $0.25; that SKU is not an MCP tool).
taxable_incomeYesTaxable income in the country's local currency, in the schedule's own period basis (annual for most; monthly for Côte d'Ivoire, Uganda, Ethiopia, Costa Rica)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / receipt
      Added value: +{
      +  "default": false,
      +  "description": "Default false. When true, a paid success includes an Ed25519 answer receipt (kind answer_receipt) at no extra USDC. Unpaid 402 and free refusals do not include one. Not a series certified extract (GET /v1/certified/{country}/{series} at $0.25; that SKU is not an MCP tool).",
      +  "type": "boolean"
      +}
  2. Changed1 schema field changed
    • changedInput schema / properties / country / enum
      Previous value: -[
      -  "au",
      -  "nz"
      -]New value: +[
      +  "au",
      +  "fj",
      +  "nz",
      +  "pg",
      +  "sb",
      +  "to",
      +  "vu",
      +  "ws"
      +]
  3. First observed

TDQS

A3.9/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses the $0.05 cost, payment via api_key or x402, receipt behavior, the scope_note in the response, and that it's not legal advice. However, the discrepancy between the mentioned indexed-unit countries and the actual enum is a transparency issue; the description implies support for countries not in 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.

Conciseness4/5

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

The description is long (about 150 words) but dense with essential information: cost, scope, payment, receipt, and caveats. It front-loads the purpose and important constraints. Each sentence earns its place, though the country example list could be trimmed or corrected. It is structured with clear sections and emphasis.

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

Completeness4/5

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

There is no output schema, so the description must explain the response. It mentions 'full per-bracket workings, effective rate and marginal rate' and a scope_note, plus receipt details. It also explains the payment flow. However, it doesn't specify the exact response structure or error cases, but given the complexity and payment context, it is largely complete. The country mismatch is a notable gap in completeness.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are already well documented. The description repeats the taxable_income period basis and adds context about api_key and receipt, but these are also in the schema. It adds minimal new meaning beyond the schema, so a baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool computes statutory income tax on taxable income with full per-bracket workings, effective and marginal rate. It distinguishes from siblings like compute_vat and compute_employment_cost. However, it lists Colombia, Chile, Peru, and Uruguay as examples of indexed tax units, but the schema's country enum only includes au, fj, nz, pg, sb, to, vu, ws. This mismatch could mislead an agent into thinking those countries are supported, so the purpose is clear but with a misleading example set.

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

Usage Guidelines4/5

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

It explicitly states this is tax on taxable income, NOT net take-home pay, and that reliefs/allowances and social-security contributions are the caller's concern. It also mentions alternative endpoints (certified extract) and verification via verify_answer_receipt. The guidance is clear, but the country mismatch could cause an agent to attempt unsupported countries, so it's not perfect.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources