Skip to main content
Glama

groTAX by Grovisor

groTAX: compute UAE Corporate Tax

grotax_compute_ct
Read-onlyIdempotent

Estimate UAE Corporate Tax using the Grovisor computation (rows A–K): AED 375,000 0% band then 9%, 50% entertainment add-back, interest cap (higher of AED 12m or 30% of adjusted EBITDA), 75% loss relief, Small Business Relief, simplified QFZP and WHT/FTC credits. Only accountingProfit is required; pass revenue to test SBR. Returns a markdown table plus structured rows. Indicative, not tax advice.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
ftcNoForeign tax credit, AED
mneNoMember of a multinational group (blocks SBR)
whtNoWithholding tax credit, AED
qfzpNoTreat as a Qualifying Free Zone Person (simplified: 0% on qualifying income)
finesNoFines and penalties (non-compensatory), AED
ebitdaNoTax-EBITDA, AED, for the 30% interest cap. Leave out to have it calculated from taxable income + net interest + depreciation
revenueNoRevenue for the tax period, AED (drives Small Business Relief and audit checks)
lossesBFNoTax losses brought forward, AED
sbrElectNoElect Small Business Relief if eligible
donationsNoDonations to non-qualifying bodies, AED
periodEndNoTax period end date, YYYY-MM-DD (default 2025-12-31)
interestBFNoNet interest disallowed in earlier periods and carried forward, AED (deducted within this period's cap)
netInterestNoNet interest expense, AED
depreciationNoDepreciation and amortisation, AED (used to calculate tax-EBITDA when ebitda is not given)
entertainmentNoTotal client entertainment expense, AED (50% is added back)
naturalPersonNoThe business is owned by an individual (sole establishment or civil company of a natural person)
otherAddBacksNoOther non-deductible expenses, AED
ownerDrawingsNoOwner's drawings or salary booked as expenses, AED (added back only when naturalPerson is true)
associateShareNoEquity-accounted share of profit (+) or loss (-) of associates and joint ventures, AED (taken out)
connectedExcessNoPayments to connected persons above market value, AED
exemptDividendsNoExempt dividends from UAE/free zone companies, AED
otherDeductionsNoOther allowable deductions, AED
unrealisedGainsNoNet unrealised gain (+) or loss (-) in the accounts, AED (adjusted only when realisationElect is true)
accountingProfitYesNet profit (or loss, negative) per the financial statements, AED
qualifyingIncomeNoQFZP qualifying income taxed at 0%, AED
realisationElectNoElected to tax gains and losses on realisation rather than as booked
connectedPaymentsNoTotal paid to connected persons in the period, AED (raises the transfer pricing disclosure warning above AED 500,000)
dividendsExpensedNoDividends or profit distributions booked as expenses, AED (always added back)
foreignTaxExpensedNoForeign and withholding taxes booked as expenses, AED (added back)
participationIncomeNoParticipation exemption income, AED
exemptIncomeExpensesNoExpenses relating to exempt income, AED
revenueExceededBeforeNoRevenue exceeded AED 3m in an earlier CT period (blocks SBR permanently)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changed
    • addedInput schema / properties / associateShare
      Added value: +{
      +  "description": "Equity-accounted share of profit (+) or loss (-) of associates and joint ventures, AED (taken out)",
      +  "type": "number"
      +}
    • addedInput schema / properties / connectedPayments
      Added value: +{
      +  "description": "Total paid to connected persons in the period, AED (raises the transfer pricing disclosure warning above AED 500,000)",
      +  "type": "number"
      +}
    • addedInput schema / properties / depreciation
      Added value: +{
      +  "description": "Depreciation and amortisation, AED (used to calculate tax-EBITDA when ebitda is not given)",
      +  "type": "number"
      +}
    • addedInput schema / properties / dividendsExpensed
      Added value: +{
      +  "description": "Dividends or profit distributions booked as expenses, AED (always added back)",
      +  "type": "number"
      +}
    • changedInput schema / properties / ebitda / description
      Previous value: -"Adjusted (tax) EBITDA, AED — used for the 30% interest cap"New value: +"Tax-EBITDA, AED, for the 30% interest cap. Leave out to have it calculated from taxable income + net interest + depreciation"
    • addedInput schema / properties / foreignTaxExpensed
      Added value: +{
      +  "description": "Foreign and withholding taxes booked as expenses, AED (added back)",
      +  "type": "number"
      +}
    • addedInput schema / properties / interestBF
      Added value: +{
      +  "description": "Net interest disallowed in earlier periods and carried forward, AED (deducted within this period's cap)",
      +  "type": "number"
      +}
    • addedInput schema / properties / naturalPerson
      Added value: +{
      +  "description": "The business is owned by an individual (sole establishment or civil company of a natural person)",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / ownerDrawings
      Added value: +{
      +  "description": "Owner's drawings or salary booked as expenses, AED (added back only when naturalPerson is true)",
      +  "type": "number"
      +}
    • addedInput schema / properties / realisationElect
      Added value: +{
      +  "description": "Elected to tax gains and losses on realisation rather than as booked",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / unrealisedGains
      Added value: +{
      +  "description": "Net unrealised gain (+) or loss (-) in the accounts, AED (adjusted only when realisationElect is true)",
      +  "type": "number"
      +}
  2. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare a safe, read-only, idempotent, non-destructive operation, so that burden is lifted. The description adds valuable context beyond annotations: it discloses the output format ('markdown table plus structured rows') and the important caveat 'Indicative, not tax advice.'

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 purpose is front-loaded and the dense tax-rule summary is appropriate for a 32-parameter computation tool. It is compact but not terse; every clause contributes a rule, required input, or output note.

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

Completeness4/5

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

Given the high complexity (32 parameters) and absence of an output schema, the description does well: it specifies the required parameter, optional SBR input, key computation rules, return format, and a disclaimer. Some parameter-level nuance is left to the schema, which is fully documented.

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

Parameters4/5

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

Schema description coverage is 100%, so the schema fully documents all 32 parameters. The description still adds meaning by explaining how some inputs drive the computation (e.g., 50% entertainment add-back, revenue drives SBR, WHT/FTC credits), going beyond bare parameter labels.

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

Purpose4/5

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

States a specific verb and resource: 'Estimate UAE Corporate Tax' and names the underlying computation method. This clearly separates it from sibling tools like grotax_get_rules or grotax_compare_sbr, though it does not explicitly call out those alternatives.

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

Usage Guidelines3/5

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

Gives limited usage guidance by noting 'Only accountingProfit is required; pass revenue to test SBR.' However, it does not state when to prefer this tool over siblings such as grotax_compare_sbr or grotax_penalties, leaving the broader routing decision implicit.

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