Skip to main content
Glama

Hours on tax compliance, VAT refund weeks and the rate firms report paying, by country

compare_tax_burden
Read-onlyIdempotent

How much work paying tax is, from World Bank B-READY's Taxation topic (firm surveys in the largest business city): median hours spent on tax compliance a year, the share of firms filing and paying electronically, weeks to a final audit report and to a VAT refund, the share citing a too-long refund process, the share of social-security taxes in labour cost, and the effective income-based rate firms REPORT paying — which is neither the statutory rate (Rules hub) nor OECD's modelled effective rate (Business hub's tax tab), and the caveat keeps the three apart. 22 of the 41 spine countries; outside the cohort is NO_DATA. country, countries, or a ranking by metric (complianceHours default; vatRefundWeeks, auditWeeks, reportedEffectiveRatePct), lowest first unless sort=highest. Published rates and facts, for information only — not tax or legal advice; every response says so first.

Input Schema

NameRequiredDescriptionDefault
sortNolowest
limitNoReturn at most this many countries.
metricNocomplianceHours
countryNoOne ISO alpha-2 code.
countriesNoComma-separated ISO alpha-2 codes, two or more, for a side-by-side.

Output Schema

NameRequiredDescriptionDefault
okNo
rowsNo
metricNo
caveatsNo
attributionNo
vatRefundWeeksNo
complianceHoursNo
reportedEffectiveRatePctNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "country": "PT"
      +  }
      +]
  2. Added

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, non-destructive, idempotent, closed-world), and the description adds genuinely new behaviour: coverage is 22 of the 41 spine countries, anything outside that cohort returns NO_DATA, and every response leads with a 'not tax or legal advice' disclaimer. That coverage-limit and disclaimer disclosure is exactly the kind of trait annotations cannot carry.

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

Conciseness4/5

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

It is long and written as a single dense run-on, but it is well front-loaded — the metrics list and the sibling-disambiguation caveat lead, with the coverage and disclaimer qualifiers trailing. Nearly every clause adds decision-relevant information, though the metric enumeration could be tightened.

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

Completeness5/5

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

For a 5-param, read-only comparison tool with an output schema, the description covers purpose, metric vocabulary, sort direction, coverage limits (22 of 41, NO_DATA outside), and the mandatory disclaimer — nothing an agent needs to call it correctly is missing. Return-value formatting is correctly left to the output schema.

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

Parameters4/5

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

Schema coverage is 60%, so the description usefully compensates by naming the `metric` enum values and its default, explaining `sort` direction semantics ('lowest first unless sort=highest'), and clarifying that `country` takes one code while `countries` is for a side-by-side. Only `limit` is left entirely to the schema, and metric-specific meanings are spelled out rather than left implicit.

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

Purpose5/5

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

It names a specific resource (World Bank B-READY Taxation firm-survey data) and enumerates exactly what it reports: compliance hours, e-filing share, audit/VAT-refund weeks, refund-process complaints, social-security share of labour cost, and the reported effective rate. It goes further than the title by distinguishing the reported rate from the statutory rate and from OECD's modelled effective rate, which separates it cleanly from siblings like compare_tax_rates and compare_effective_tax.

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

Usage Guidelines4/5

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

The 'which is neither the statutory rate ... nor OECD's modelled effective rate ... the caveat keeps the three apart' passage gives clear disambiguation guidance for choosing among the tax siblings, and the NO_DATA note sets scope. However, it names the alternatives descriptively (Rules hub, Business hub) rather than by tool name, so an agent must map them itself; there is no explicit when-not-to-use statement.

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