Skip to main content
Glama

Afriref: cited government reference data

next_filings

Read-onlyIdempotent

PAID ($0.35). Upcoming VAT, PAYE and corporate-tax due dates in a window (default the next 90 days), rolled for weekends and national public holidays, each rule cited. Countries with verified rules here: EG, GH, KE, MU, NG, RW, SN, TN, TZ, UG, ZA. Anything we cannot answer in full is refused free (coverage_gap, no_charge). Shares the 3 free calls per IP per day with the answer tools. Pass api_key if you have one (card checkout at /pricing); otherwise the result is the x402 payment requirement. 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.10 and is not an MCP tool) and is not legal advice. Verify with verify_answer_receipt against /certified/public-key.

Input Schema

NameRequiredDescriptionDefault
toNoYYYY-MM-DD, max 366 days after from
taxNo
fromNoYYYY-MM-DD, default today
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.10; that SKU is not an MCP tool).
year_endNoMM-DD financial year end

Output Schema

NameRequiredDescriptionDefault
jobNo
errorNoPresent on a free refusal or error; no charge
statusNo
evidenceNo
no_chargeNo
price_usdNo
disclaimerNo
how_to_payNo
bind_seriesNo
explanationNo
x_next_bindNo
http_endpointNo
payment_requiredNotrue when the call needs payment; how_to_pay explains x402 or card

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

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

Far exceeds the annotations: it discloses price ($0.35), the free coverage_gap/no_charge refusal path, the shared 3-free-calls-per-IP-per-day limit, the x402 fallback when no api_key is passed, and that a paid success can include an Ed25519 receipt verifiable via verify_answer_receipt. The 'not legal advice' disclaimer and the distinction from certified extracts are exactly the behavioral context an agent needs.

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?

Front-loaded with the paid price and the core purpose, and every sentence carries a distinct obligation (coverage, refusal, billing, receipt). Some redundancy remains: the receipt/certified-extract caveat appears in both the description body and the schema, and the pricing/verification sentences 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?

With an output schema present, return values need no prose, and the description still covers everything else an agent needs: price, payment modes, rate limits, coverage boundaries, refusal semantics, and receipt verification. Nothing material about invoking this tool correctly is left unstated.

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 already 86%, but the description still adds meaning: receipt is tied to paid successes only (unpaid 402 and free refusals exclude it) and api_key is described as bypassing x402 while remaining metered. It does not clarify country/tax/date interaction beyond what the enum and descriptions provide.

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 names a specific verb and resource (upcoming VAT/PAYE/cit due dates in a window) with concrete scope: weekend/holiday rolling and an enumerated country set. It differentiates itself from related SKUs like the series certified extract, but never explicitly distinguishes itself from the close sibling get_filing_deadlines or get_calendar.

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 states the conditions that make the tool usable: the verified-country list, the default 90-day window, the free refusal path for anything not answerable in full, and how api_key vs x402 payment works. It stops short of naming an alternative tool for callers whose country is not covered, so the routing 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources