dev.mearef/reference-data
REMOTE · MEAREF.DEV
Mid-East govt data, cited to source: rates, VAT, tax, wages, holidays, FX. 9 countries; UAE free.
Available components
Last scanned (17 hours ago)
Scores higher than 94% of remote servers
Reachable. Last reached 7 Nov 2026.
Category Finance and Payments
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security83
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation. See how to fix → View diagnostics → Partial
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability74
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 10285 tokens (~285/item across 36 items; 33 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage99
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 98% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "charge_sale" implies "charge" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Fail
- An AI judge read all 35 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Checks we ran (13)
- TLS certificate
- Authorization
- HTTPS
- HSTS header
- DNSSEC
- Transport
- Schema quality
- Stability
- Tool coverage
- Injection markers
- Destructive annotations
- Judged manipulation
- MCP protocol
Does not apply to this hosted endpoint (2)
- Supply Chain SecurityScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
- Provenance & TransparencyScored on package channels only. This is a hosted endpoint, so there is nothing to install or inspect.
The score does not measure everything. What the score does not measure →
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 6 Nov 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 3 Nov 26 +57
- Transport: unverified → pass ▲ security
- Injection markers: unverified → pass ▲ security
- HTTPS: unverified → pass ▲ security
- Stability: unverified → pass ▲ security
- Authorization: fail → partial ▲ security
- HSTS header: fail → pass ▲ security
- Endpoint reachability: behind authorisation → reachable ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Schema quality: unverified → 100 ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- New tool “invoice_check” functional
- 2 Nov 26 −57
- Endpoint reachability: reachable → behind authorisation ▼ security
- Stability: pass → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- HTTPS: pass → unverified ▼ security
- Transport: pass → unverified ▼ security
- Authorization: partial → fail ▼ security
- HSTS header: pass → fail ▼ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: 100 → unverified ▼ functional
- 20 Oct 26 −2
- Schema quality: 7167 → 9800 ▼ functional
- Destructive annotations: pass → 0 functional
- New tool “charge_sale” functional
- New tool “charge_sale_certified” functional
- New tool “cost_hire” functional
- New tool “evidence_pack” functional
- New tool “hire_compare” functional
- New tool “invoice_payable” functional
- New tool “next_filings” functional
- 18 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “check_minimum_wage” rewrote its description, which is the text the model reads security
- Tool “compute_employment_cost” rewrote its description, which is the text the model reads security
- Tool “compute_income_tax” rewrote its description, which is the text the model reads security
- Tool “compute_statutory_interest” rewrote its description, which is the text the model reads security
- Tool “compute_vat” rewrote its description, which is the text the model reads security
- Tool “count_working_days” rewrote its description, which is the text the model reads security
- Tool “get_changes” rewrote its description, which is the text the model reads security
- Tool “get_filing_deadlines” rewrote its description, which is the text the model reads security
- Tool “get_series” rewrote its description, which is the text the model reads security
- Tool “get_series_history” rewrote its description, which is the text the model reads security
- Tool “get_snapshot” rewrote its description, which is the text the model reads security
- Tool “list_series” rewrote its description, which is the text the model reads security
- Tool “register_alert” rewrote its description, which is the text the model reads security
- Tool “settlement_date” rewrote its description, which is the text the model reads security
- Tool “verify_answer_receipt” rewrote its description, which is the text the model reads security
- New tool “compare_series” functional
- New tool “get_country_brief” functional
- New tool “validate_tax_id” functional
- “check_minimum_wage” reworded the description of “receipt” cosmetic
- “compute_employment_cost” reworded the description of “receipt” cosmetic
- “compute_income_tax” reworded the description of “receipt” cosmetic
- “compute_statutory_interest” reworded the description of “receipt” cosmetic
- “compute_vat” reworded the description of “receipt” cosmetic
- “count_working_days” reworded the description of “receipt” cosmetic
- “settlement_date” reworded the description of “receipt” cosmetic
- 14 Oct 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Schema quality: 5179 → 6592 ▼ functional
- New tool “add_business_days” functional
- New tool “business_days_between” functional
- New tool “get_filing_deadlines” functional
- New tool “get_key_balance” functional
- New tool “get_public_holidays_worldwide” functional
- New tool “is_business_day” functional
- 13 Oct 26 +9
- Authorization: unverified → partial ▲ security
- Tool “check_minimum_wage” rewrote its description, which is the text the model reads security
- Tool “compute_employment_cost” rewrote its description, which is the text the model reads security
- Tool “compute_income_tax” rewrote its description, which is the text the model reads security
- Tool “compute_statutory_interest” rewrote its description, which is the text the model reads security
- Tool “compute_vat” rewrote its description, which is the text the model reads security
- Tool “count_working_days” rewrote its description, which is the text the model reads security
- Tool “get_series” rewrote its description, which is the text the model reads security
- Tool “get_series_history” rewrote its description, which is the text the model reads security
- Tool “get_snapshot” rewrote its description, which is the text the model reads security
- Schema quality: 306 → 272 ▲ functional
- Schema quality: unverified → 100 ▲ functional
- Tool “register_alert” now declares an output schema ▲ functional
- Tool “settlement_date” now declares an output schema ▲ functional
- Tool “verify_answer_receipt” now declares an output schema ▲ functional
- Tool “check_minimum_wage” now declares an output schema ▲ functional
- Tool “compute_employment_cost” now declares an output schema ▲ functional
- Tool “compute_income_tax” now declares an output schema ▲ functional
- Tool “compute_statutory_interest” now declares an output schema ▲ functional
- Tool “compute_vat” now declares an output schema ▲ functional
- Tool “count_working_days” now declares an output schema ▲ functional
- Tool “get_calendar” now declares an output schema ▲ functional
- Tool “get_changes” now declares an output schema ▲ functional
- Tool “get_public_holidays” now declares an output schema ▲ functional
- Tool “get_series” now declares an output schema ▲ functional
- Tool “get_series_history” now declares an output schema ▲ functional
- Tool “get_snapshot” now declares an output schema ▲ functional
- Tool “list_series” now declares an output schema ▲ functional
- The server now declares the “prompts” capability functional
- The server now declares the “resources” capability functional
- First check of Tool coverage: 100 functional
- New prompt “country_tax_snapshot” functional
- New prompt “inflation_policy_rate_compare” functional
- New prompt “payroll_check” functional
- New resource “country_coverage” functional
- New resource “pricing_payment_guide” functional
- New resource “series_endpoints” functional
- “list_series” added an optional parameter “detail” cosmetic
- “list_series” added an optional parameter “country” cosmetic
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 7 Nov 2026 · Probed https://mearef.dev/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mearef.dev | CN=WE1,O=Google Trust Services,C=US | 21 Sept 2026 | 20 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | df58ffe2ba50ce3d0ebbd217f52b17cb |
| SANs: mearef.dev, *.mearef.dev | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of mearef.dev. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | Trust anchor | 20326, 38696 | 8, 8 | Verified |
| dev. | DS published | 60074 | 8 | Verified |
| mearef.dev. | DS published | 2371 | 13 | Verified |
| mearef.dev. | Verified address RRset verified with the apex keys |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains; preload |
| content-security-policy | default-src 'self'; script-src 'self' 'sha256-0a4k/mJay1Co+D+vZyb5cMckFOjwRMRtlIMeCpvYTJs=' 'sha256-lllEljUY4hPtrJ5HpzkkDcr7Eacd3r/O7W322VRPfS4=' https://cdn.paddle.com https://*.paddle.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https://*.paddle.com; connect-src 'self' https://*.paddle.com; frame-src https://*.paddle.com; frame-ancestors 'self'; base-uri 'self'; form-action 'self' https://*.paddle.com; report-uri /csp-report; report-to csp |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(), microphone=(), geolocation=(), payment=(self "https://buy.paddle.com"), usb=(), interest-cohort=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mearef.dev/mcp | Verified | 200 | |
| http (plaintext) | http://mearef.dev/mcp | HTTPS enforced | 301 | https://mearef.dev:443/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_business_days Add business days to a date ~267
FREE, unmetered. The date n business days after (or, for negative n, before) a start date. The start date is day 0 and never counted; n = 0 returns the date itself if it is a business day, otherwise the next one. Lists every non-business day skipped and why. Uses the country's national public-holiday calendar and its statutory weekend rule (Gulf Friday+Saturday, Israel Saturday-only, India 2nd/4th Saturdays, Nepal's 2026 change, China's multi-day breaks and make-up working days). A date in a year whose holidays we do not hold is refused with error year_not_held and the years_held list; it is never computed from weekends alone. A statutory holiday whose date is not yet fixed is refused as holiday_date_pending. Regional (sub-national) holidays are not applied.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | yes | ISO 3166-1 alpha-2 country code, e.g. 'za', 'ae', 'in'. Every country we hold a holiday calendar for is accepted on every brand, not only this brand's region. |
| date | string | yes | Start date (day 0), YYYY-MM-DD |
| n | integer | yes | Business days to add; negative walks backward |
| Name | Type | Req | Description |
|---|---|---|---|
| basis | – | – | – |
| bind_series | – | – | – |
| calendar | – | – | Holiday calendar used: years_held, source, last_confirmed, stale |
| calendar_days_moved | number | – | – |
| caveats | array | – | – |
| convention | string | – | – |
| country | string | – | – |
| country_name | string | – | – |
| direction | string | – | – |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| free | boolean | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| n | number | – | – |
| no_charge | boolean | – | – |
| non_business_days_skipped | array | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price | string | – | – |
| price_usd | number | – | – |
| reached | string | – | On a refusal: the first date the calculation could not classify |
| result_date | string | – | – |
| result_weekday | string | – | – |
| start_date | string | – | – |
| weekend | – | – | Weekend days applied, the basis of that rule, and any dated or sub-national note |
| what_you_can_do | array | – | – |
| x_next_bind | – | – | – |
| year | number | – | On year_not_held: the year we do not hold |
| years_held | array | – | On year_not_held: the years whose holidays we do hold |
No examples provided.
business_days_between Count business days between two dates ~263
FREE, unmetered. Business days between two dates. business_days counts (from, to] and is negative when to is before from, so add_business_days(from, business_days) lands on to whenever to is a business day; business_days_inclusive counts both ends. Also returns weekend days and the public holidays in range. Uses the country's national public-holiday calendar and its statutory weekend rule (Gulf Friday+Saturday, Israel Saturday-only, India 2nd/4th Saturdays, Nepal's 2026 change, China's multi-day breaks and make-up working days). A date in a year whose holidays we do not hold is refused with error year_not_held and the years_held list; it is never computed from weekends alone. A statutory holiday whose date is not yet fixed is refused as holiday_date_pending. Regional (sub-national) holidays are not applied.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | yes | ISO 3166-1 alpha-2 country code, e.g. 'za', 'ae', 'in'. Every country we hold a holiday calendar for is accepted on every brand, not only this brand's region. |
| from | string | yes | Range start, YYYY-MM-DD |
| to | string | yes | Range end, YYYY-MM-DD |
| Name | Type | Req | Description |
|---|---|---|---|
| basis | – | – | – |
| bind_series | – | – | – |
| business_days | number | – | Business days in (from, to]; negative when to is before from |
| business_days_inclusive | number | – | Business days counting both ends |
| calendar | – | – | Holiday calendar used: years_held, source, last_confirmed, stale |
| calendar_days_inclusive | number | – | – |
| caveats | array | – | – |
| convention | string | – | – |
| country | string | – | – |
| country_name | string | – | – |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| free | boolean | – | – |
| from | string | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price | string | – | – |
| price_usd | number | – | – |
| public_holidays_on_weekdays | array | – | – |
| public_holidays_on_weekends | array | – | – |
| reached | string | – | On a refusal: the first date the calculation could not classify |
| to | string | – | – |
| weekend | – | – | Weekend days applied, the basis of that rule, and any dated or sub-national note |
| weekend_days | number | – | – |
| what_you_can_do | array | – | – |
| x_next_bind | – | – | – |
| year | number | – | On year_not_held: the year we do not hold |
| years_held | array | – | On year_not_held: the years whose holidays we do hold |
No examples provided.
charge_sale ~393
PAID ($0.50). Charge this sale: should this invoice carry VAT, which country's and how much - place of supply under the EU, UK and South Africa rules, net/VAT/gross, registration threshold, rule cited. Omit buyer_country for single-country rate maths. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | Sale amount |
| amount_is | string | – | net adds VAT (default); gross extracts it |
| api_key | string | – | API key (bypasses x402; metered for invoicing) |
| band | string | – | VAT band key, e.g. reduced |
| buyer_country | string | – | Omit for single-country rate maths |
| buyer_type | string | – | Default unknown |
| receipt | boolean | – | 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 (GE… |
| seller_country | string | yes | ISO 3166-1 alpha-2 (EL = Greece, UK = United Kingdom) |
| Name | Type | Req | Description |
|---|---|---|---|
| bind_series | – | – | – |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| evidence | array | – | – |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| job | string | – | – |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| status | string | – | – |
| x_next_bind | – | – | – |
No examples provided.
charge_sale_certified ~380
PAID ($0.75). The charge_sale dossier plus an Ed25519-signed certified extract of the governing VAT rate, for a filing. Refused free when the governing source cannot be certified right now. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | Sale amount |
| amount_is | string | – | net adds VAT (default); gross extracts it |
| api_key | string | – | API key (bypasses x402; metered for invoicing) |
| band | string | – | VAT band key, e.g. reduced |
| buyer_country | string | – | Omit for single-country rate maths |
| buyer_type | string | – | Default unknown |
| receipt | boolean | – | 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 (GE… |
| seller_country | string | yes | ISO 3166-1 alpha-2 (EL = Greece, UK = United Kingdom) |
| Name | Type | Req | Description |
|---|---|---|---|
| bind_series | – | – | – |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| evidence | array | – | – |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| job | string | – | – |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| status | string | – | – |
| x_next_bind | – | – | – |
No examples provided.
check_minimum_wage ~339
PAID ($0.02). Compliance verdict: is a salary at, above or below the country's statutory minimum wage? Returns verdict, margin, the statutory floor and the legal instrument it rests on. Honest statuses when no enforceable floor exists or the period doesn't match the floor's period (cross-period conversion is never guessed). Pass api_key if you have one (instant card checkout at /pricing); otherwise the response explains how to pay via x402. The evaluation country is free to try (see list_series). 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.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | Wage to check, in the country's own currency |
| api_key | string | – | API key (bypasses x402; metered for invoicing) |
| country | string | yes | ISO country code |
| period | string | yes | Period the amount covers — must match the statutory floor's period |
| receipt | boolean | – | 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 (GE… |
| Name | Type | Req | Description |
|---|---|---|---|
| basis | – | – | – |
| bind_series | – | – | – |
| confidence_label | string | – | Evidence verdict derived from source type, verification age and the stale flag (answers: the weakest series read). Rules at /label-rules |
| country | string | – | – |
| coverage_label | string | – | How much of the question is covered: ready = complete; partial = held with a disclosed limitation or default; gap = no number served. Rules at /label-rules |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| floor | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| label_basis | object | – | Inputs and the rule ids that produced the two labels |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| provenance | – | – | Cited official sources behind the answer |
| question | – | – | – |
| receipt | – | – | Ed25519 answer receipt when receipt=true on a paid success |
| status | string | – | Answer status, e.g. computed or an honest no-answer status |
| verdict | – | – | – |
| x_next_bind | – | – | – |
No examples provided.
compare_series ~194
PAID ($0.02). One series (e.g. vat, policy-rate, minimum-wage, corporate-tax) across up to 10 countries of this brand in one call; each row carries its own source, dates and labels, and countries without the series are listed under missing. Malformed requests are refused free. Pass api_key if you have one; otherwise the response explains how to pay via x402. After a 200, bind get_changes (free poll) or register_alert (HMAC push; Register: $0 · Delivery after trial: $0.05) on this series so a later gazette does not silently retire the value.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | API key |
| countries | array | yes | ISO 3166-1 alpha-2 codes on this brand, at most 10 |
| series | string | yes | Series id from list_series, e.g. vat |
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| bind_series | – | – | – |
| count | number | – | – |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| missing | array | – | – |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| rows | array | – | – |
| series | string | – | – |
| x_next_bind | – | – | – |
No examples provided.
compute_employment_cost ~458
PAID ($0.05). Cost to employ: prices every statutory contribution on both the employee and employer sides for a gross salary, returning line-by-line amounts with instrument citations and an explicit refused list for schemes that could not be priced (unknown, not zero). Does NOT compute income tax — use compute_payroll for gross-to-net take-home where supported. Pass api_key if you have one (instant card checkout at /pricing); otherwise the response explains how to pay via x402. The evaluation country is free to try (see list_series). 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.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | API key (bypasses x402; metered for invoicing) |
| childless_over_23 | boolean | – | Germany care surcharge |
| children_under_25 | number | – | Germany per-child care reduction |
| contract | string | – | Contract type where rates differ |
| country | string | yes | ISO country code with a costed contribution schedule |
| gross | number | yes | Gross pay in local currency |
| nationality | string | – | Gulf nationality for pension reach |
| period | string | – | Period the gross covers (default month) |
| receipt | boolean | – | 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 (GE… |
| subdivision | string | – | Optional ISO 3166-2 regional schedule (e.g. CA-QC, DE-SN) |
| workplace_pension | boolean | – | Auto-enrolment / PPK participation (default true) |
| zusatzbeitrag_rate | number | – | Germany sickness-fund supplement |
| Name | Type | Req | Description |
|---|---|---|---|
| basis | – | – | – |
| bind_series | – | – | – |
| confidence_label | string | – | Evidence verdict derived from source type, verification age and the stale flag (answers: the weakest series read). Rules at /label-rules |
| country | string | – | – |
| coverage_label | string | – | How much of the question is covered: ready = complete; partial = held with a disclosed limitation or default; gap = no number served. Rules at /label-rules |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| label_basis | object | – | Inputs and the rule ids that produced the two labels |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| provenance | – | – | Cited official sources behind the answer |
| question | – | – | – |
| receipt | – | – | Ed25519 answer receipt when receipt=true on a paid success |
| status | string | – | Answer status, e.g. computed or an honest no-answer status |
| x_next_bind | – | – | – |
No examples provided.
compute_income_tax ~366
PAID ($0.02). 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. You pass the amount in 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 (instant card checkout at /pricing); otherwise the response explains how to pay via x402. The evaluation country is free to try (see list_series). 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.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | API key (bypasses x402; metered for invoicing) |
| country | string | yes | ISO country code |
| receipt | boolean | – | 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 (GE… |
| taxable_income | number | yes | Taxable 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) |
| Name | Type | Req | Description |
|---|---|---|---|
| basis | – | – | – |
| bind_series | – | – | – |
| breakdown | – | – | – |
| confidence_label | string | – | Evidence verdict derived from source type, verification age and the stale flag (answers: the weakest series read). Rules at /label-rules |
| country | string | – | – |
| coverage_label | string | – | How much of the question is covered: ready = complete; partial = held with a disclosed limitation or default; gap = no number served. Rules at /label-rules |
| disclaimer | – | – | – |
| effective_rate | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| label_basis | object | – | Inputs and the rule ids that produced the two labels |
| marginal_rate | – | – | – |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| provenance | – | – | Cited official sources behind the answer |
| question | – | – | – |
| receipt | – | – | Ed25519 answer receipt when receipt=true on a paid success |
| scope_note | – | – | – |
| status | string | – | Answer status, e.g. computed or an honest no-answer status |
| tax | – | – | – |
| x_next_bind | – | – | – |
No examples provided.
compute_statutory_interest ~454
PAID ($0.02). Simple statutory interest on a principal at the cited statutory-interest series rate: Actual/365 simple, principal × (rate/100) × (days/365). Pass days, or from and to as YYYY-MM-DD (from inclusive, to exclusive). If both are sent and disagree, the call is refused free. A series with no numeric rate after materialization (mechanism-only) is refused free — a non-answer is not sold. Not legal advice. Jurisdiction-specific compounding and day-count statutes are not applied. Pass api_key if you have one (instant card checkout at /pricing); otherwise the response explains how to pay via x402. Every AE series is free to try. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | API key (bypasses x402; metered for invoicing) |
| country | string | yes | ISO country code |
| days | number | – | Day-count days. Omit when from and to are set. If both are sent and disagree, the answer is refused free (HTTP 400). |
| from | string | – | Period start, YYYY-MM-DD, inclusive. Pair with to. Day count is calendar days from inclusive to to exclusive (UTC dates). |
| principal | number | yes | Principal in the country's own currency. Must be a finite number greater than 0. |
| receipt | boolean | – | 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 (GE… |
| to | string | – | Period end, YYYY-MM-DD, exclusive. |
| Name | Type | Req | Description |
|---|---|---|---|
| basis | – | – | – |
| bind_series | – | – | – |
| confidence_label | string | – | Evidence verdict derived from source type, verification age and the stale flag (answers: the weakest series read). Rules at /label-rules |
| country | string | – | – |
| coverage_label | string | – | How much of the question is covered: ready = complete; partial = held with a disclosed limitation or default; gap = no number served. Rules at /label-rules |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| label_basis | object | – | Inputs and the rule ids that produced the two labels |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| provenance | – | – | Cited official sources behind the answer |
| question | – | – | – |
| receipt | – | – | Ed25519 answer receipt when receipt=true on a paid success |
| status | string | – | Answer status, e.g. computed or an honest no-answer status |
| x_next_bind | – | – | – |
No examples provided.
compute_vat ~327
PAID ($0.01). VAT breakdown for an amount: net, tax and gross using the country's current statutory rate, including per-levy components where the rate is composite (e.g. Ghana VAT + NHIL + GETFund). mode=add treats the amount as net; mode=extract backs VAT out of a gross amount. Pass api_key if you have one (instant card checkout at /pricing); otherwise the response explains how to pay via x402. The evaluation country is free to try (see list_series). 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.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | Amount in the country's own currency |
| api_key | string | – | API key |
| country | string | yes | ISO country code |
| mode | string | – | add = amount is net (default); extract = amount is gross |
| receipt | boolean | – | 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 (GE… |
| Name | Type | Req | Description |
|---|---|---|---|
| basis | – | – | – |
| bind_series | – | – | – |
| confidence_label | string | – | Evidence verdict derived from source type, verification age and the stale flag (answers: the weakest series read). Rules at /label-rules |
| country | string | – | – |
| coverage_label | string | – | How much of the question is covered: ready = complete; partial = held with a disclosed limitation or default; gap = no number served. Rules at /label-rules |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| gross | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| label_basis | object | – | Inputs and the rule ids that produced the two labels |
| net | – | – | – |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| provenance | – | – | Cited official sources behind the answer |
| question | – | – | – |
| rate | – | – | – |
| receipt | – | – | Ed25519 answer receipt when receipt=true on a paid success |
| status | string | – | Answer status, e.g. computed or an honest no-answer status |
| tax | – | – | – |
| workings | – | – | – |
| x_next_bind | – | – | – |
No examples provided.
cost_hire ~416
PAID ($0.50). Cost this hire: one cited dossier for a salary - wage-floor verdict, employer and employee contributions (or PAYE net pay for NG/KE), employer cost, optional income tax on taxable_income and first working day on or after start_date. Countries here: AE. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | API key (bypasses x402; metered for invoicing) |
| country | string | yes | ISO country code with a full cost-this-hire dossier |
| gross | number | yes | Gross pay, local currency |
| hours_per_week | number | – | Lets an hourly wage floor be checked |
| period | string | – | Default month |
| receipt | boolean | – | 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 (GE… |
| start_date | string | – | YYYY-MM-DD; returns the first working day on or after it |
| subdivision | string | – | Contribution region where held (e.g. CA-QC) |
| taxable_income | number | – | Annual taxable income; applies the income-tax schedule |
| Name | Type | Req | Description |
|---|---|---|---|
| bind_series | – | – | – |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| evidence | array | – | – |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| job | string | – | – |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| status | string | – | – |
| x_next_bind | – | – | – |
No examples provided.
count_working_days ~371
PAID ($0.002). Working days in a date range for a country: weekends (Egypt's Fri–Sat handled) and statutory public holidays applied, with the holidays hit by name and the next working day after the range. Range max 366 days. Pass api_key if you have one (instant card checkout at /pricing); otherwise the response explains how to pay via x402. The evaluation country is free to try (see list_series). 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.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | API key |
| country | string | yes | ISO country code |
| from | string | yes | Range start, YYYY-MM-DD, inclusive |
| receipt | boolean | – | 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 (GE… |
| subdivision | string | – | Optional ISO 3166-2 region code (e.g. 'DE-BY') to apply that region's statutory holidays on top of the national calendar. Regions are listed under `subdivisions` by get_public_holidays. Unknown code… |
| to | string | yes | Range end, YYYY-MM-DD, inclusive |
| Name | Type | Req | Description |
|---|---|---|---|
| basis | – | – | – |
| bind_series | – | – | – |
| confidence_label | string | – | Evidence verdict derived from source type, verification age and the stale flag (answers: the weakest series read). Rules at /label-rules |
| country | string | – | – |
| coverage_label | string | – | How much of the question is covered: ready = complete; partial = held with a disclosed limitation or default; gap = no number served. Rules at /label-rules |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| label_basis | object | – | Inputs and the rule ids that produced the two labels |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| provenance | – | – | Cited official sources behind the answer |
| question | – | – | – |
| receipt | – | – | Ed25519 answer receipt when receipt=true on a paid success |
| status | string | – | Answer status, e.g. computed or an honest no-answer status |
| x_next_bind | – | – | – |
No examples provided.
evidence_pack ~321
PAID ($0.25). Country evidence pack: the full cited country brief plus up to 3 Ed25519-signed certified extracts (default the first certifiable of vat, policy-rate, minimum-wage). Named series must all be certifiable. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | API key (bypasses x402; metered for invoicing) |
| country | string | yes | ISO country code |
| receipt | boolean | – | 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 (GE… |
| series | array | – | 1 to 3 series ids to certify |
| Name | Type | Req | Description |
|---|---|---|---|
| bind_series | – | – | – |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| evidence | array | – | – |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| job | string | – | – |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| status | string | – | – |
| x_next_bind | – | – | – |
No examples provided.
get_calendar ~222
FREE, unmetered. GET /v1/calendar for this brand's continent. Optional country (ISO 3166-1 alpha-2) and series. Derives reverify_by from last_confirmed + update_cycle_days (the same window that sets stale) and, only when current.effective_to is a non-empty string, next_effective_known with basis effective_to. status unknown omits that date. Never parses notes. Does not invent MPC, budget, or wage-review dates. next_effective_known is the recorded end of the current value, not a promised gazette event. A 402 is a gate bug — do not pay. Past changes stay on get_changes.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | – | Optional ISO 3166-1 alpha-2. Omit for every series on this brand's continent. Unknown to the catalog is 404 free. Not two letters is 400 free. |
| series | string | – | Optional series id (for example policy-rate). Omit for every series. A valid country with no match stays free. |
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | – | – | – |
| bind_series | – | – | – |
| brand | – | – | – |
| count | number | – | – |
| disclaimer | – | – | – |
| entries | array | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| x_next_bind | – | – | – |
No examples provided.
get_changes ~231
FREE unmetered change + freshness feed. After any paid series or answer call, call this before you assume the cached value is still the law. Returns every series whose current value took effect on or after `since` (default last 30 days), newest first, each with last_confirmed and stale, PLUS a dataset-wide freshness summary: how many of the served series were re-verified within 1/7/30/90 days, how many are past their window, and which single series has gone longest without a check. Freshness is checkable or it is marketing. Args: since? (YYYY-MM-DD). Do not re-pay get_series to discover a diff. For a push bind, use register_alert (Register: $0 · Delivery after trial: $0.05). For a filing freeze of the current value, GET /v1/certified/{country}/{series} ($0.10).
| Name | Type | Req | Description |
|---|---|---|---|
| since | string | – | YYYY-MM-DD. Omit for the server default (last 30 days). Free, unmetered. |
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | – | – | – |
| bind_series | – | – | – |
| changes | array | – | – |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| since | – | – | – |
| x_next_bind | – | – | – |
No examples provided.
get_country_brief ~172
PAID ($0.01). Country brief: every reference series we hold for one country (policy rate, VAT/GST, CPI, taxes, minimum wage, holidays...) in one call, each with value, unit, effective and last-confirmed dates, official source and confidence label. Cheaper than buying the series one by one. Pass api_key if you have one (card checkout at /pricing); otherwise the response explains how to pay via x402. After a 200, bind get_changes (free poll) or register_alert (HMAC push; Register: $0 · Delivery after trial: $0.05) on this series so a later gazette does not silently retire the value.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | API key |
| country | string | yes | ISO country code |
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| bind_series | – | – | – |
| country | string | – | – |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| name | string | – | – |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| series | array | – | – |
| series_count | number | – | – |
| x_next_bind | – | – | – |
No examples provided.
get_filing_deadlines Statutory filing deadlines ~368
PAID ($0.003, same as any series). Recurring statutory tax deadlines for a country — VAT/GST returns and payments, PAYE/payroll withholding remittances, corporate income tax returns and provisional/instalment payments — as RULES, each cited to the official source with the verbatim phrase that states it, plus the actual DUE DATES in a window, rolled for the country's weekend and national public holidays (every skipped day is listed). Where a rule's source does not say which way a weekend deadline moves, the date is flagged roll_unverified rather than guessed. Countries or taxes we could not verify are returned as a free coverage_gap with reasons, never invented. Pass year_end (MM-DD) to re-anchor corporate-tax rules on the company's own accounting year end. The HTML page /{country}/filing-deadlines shows the rules free. Every AE series is free to try. After a 200, bind get_changes (free poll) or register_alert (HMAC push; Register: $0 · Delivery after trial: $0.05) on this series so a later gazette does not silently retire the value.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | API key (bypasses x402; metered for invoicing) |
| country | string | yes | ISO country code |
| from | string | – | Window start, YYYY-MM-DD. Default today |
| tax | string | – | Only this tax's rules and dates |
| to | string | – | Window end, YYYY-MM-DD. Default from + 365 days; at most 400 days after from |
| year_end | string | – | Company accounting year end, MM-DD (e.g. 06-30). Applies to rules marked year_end_variable |
| Name | Type | Req | Description |
|---|---|---|---|
| bind_series | – | – | – |
| computed_disclaimer | string | – | – |
| confidence | – | – | – |
| confidence_label | string | – | Evidence verdict derived from source type, verification age and the stale flag (answers: the weakest series read). Rules at /label-rules |
| country | string | – | – |
| coverage_gaps | array | – | Taxes in scope with no verified rule for this country, and why |
| coverage_label | string | – | How much of the question is covered: ready = complete; partial = held with a disclosed limitation or default; gap = no number served. Rules at /label-rules |
| disclaimer | – | – | – |
| due_dates | object | – | Computed occurrences in the window, sorted by due_date |
| effective_from | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| gaps | array | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| label_basis | object | – | Inputs and the rule ids that produced the two labels |
| last_confirmed | – | – | – |
| no_charge | boolean | – | – |
| notes | – | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| series | string | – | – |
| source | – | – | – |
| stale | boolean | – | – |
| status | string | – | On a coverage gap: researched_no_verified_rule or not_yet_researched |
| unit | – | – | – |
| value | array | – | The rules. Each carries its own source {name, url, anchor} and last_confirmed |
| x_next_bind | – | – | – |
No examples provided.
get_key_balance ~90
FREE. Remaining allowance for an API key (free, card or metered): plan, quota, used, remaining, reset date and what the key covers. Never metered. Pass api_key, or send the key as the X-API-Key header on /mcp.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | API key. Optional when sent as the X-API-Key header on /mcp. |
| Name | Type | Req | Description |
|---|---|---|---|
| bind_series | – | – | – |
| covers | string | – | – |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| plan | string | – | – |
| price_usd | number | – | – |
| quota | number | – | – |
| remaining | number | – | – |
| resets_on | – | – | – |
| used | number | – | – |
| x_next_bind | – | – | – |
No examples provided.
get_public_holidays ~151
FREE. Official public-holiday calendar for a supported country, including gazetted movable holidays, with the official government source cited. Some countries also carry sub-national calendars (e.g. the German Laender): the `subdivisions` field lists them, and passing `subdivision` (ISO 3166-2, e.g. 'DE-BY') returns the national calendar merged with that region's statutory days.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | yes | ISO country code |
| subdivision | string | – | Optional ISO 3166-2 region code (e.g. 'DE-BY'). Returns national + that region's statutory holidays, each tagged national/regional. Omit for the national calendar. |
| Name | Type | Req | Description |
|---|---|---|---|
| available_subdivisions | array | – | – |
| bind_series | – | – | – |
| confidence | – | – | – |
| confidence_label | string | – | Evidence verdict derived from source type, verification age and the stale flag (answers: the weakest series read). Rules at /label-rules |
| country | string | – | – |
| coverage_label | string | – | How much of the question is covered: ready = complete; partial = held with a disclosed limitation or default; gap = no number served. Rules at /label-rules |
| disclaimer | – | – | – |
| effective_from | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| label_basis | object | – | Inputs and the rule ids that produced the two labels |
| last_confirmed | – | – | – |
| no_charge | boolean | – | – |
| notes | – | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| series | string | – | – |
| source | – | – | – |
| stale | boolean | – | – |
| subdivision | – | – | – |
| unit | – | – | – |
| value | – | – | – |
| x_next_bind | – | – | – |
No examples provided.
get_public_holidays_worldwide ~177
FREE with any API key, including the free key by email (https://mearef.dev/free-key). Same as get_public_holidays, but for every country across all seven brands, not only Middle Eastern. Unmetered: never counts against the key's allowance. Pass api_key, or send the key as the X-API-Key header on /mcp.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | Any valid API key. Optional when the key is sent as the X-API-Key header on /mcp. |
| country | string | yes | ISO country code, any covered country |
| subdivision | string | – | Optional ISO 3166-2 region code (e.g. 'DE-BY'). Returns national + that region's statutory holidays, each tagged national/regional. Omit for the national calendar. |
| Name | Type | Req | Description |
|---|---|---|---|
| available_subdivisions | array | – | – |
| bind_series | – | – | – |
| confidence | – | – | – |
| confidence_label | string | – | Evidence verdict derived from source type, verification age and the stale flag (answers: the weakest series read). Rules at /label-rules |
| country | string | – | – |
| coverage_label | string | – | How much of the question is covered: ready = complete; partial = held with a disclosed limitation or default; gap = no number served. Rules at /label-rules |
| disclaimer | – | – | – |
| effective_from | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| label_basis | object | – | Inputs and the rule ids that produced the two labels |
| last_confirmed | – | – | – |
| no_charge | boolean | – | – |
| notes | – | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| series | string | – | – |
| source | – | – | – |
| stale | boolean | – | – |
| subdivision | – | – | – |
| unit | – | – | – |
| value | – | – | – |
| x_next_bind | – | – | – |
No examples provided.
get_series ~193
PAID ($0.003). Current value of a reference series — e.g. series=policy-rate, vat, minimum-wage. Every value carries its official source citation, effective date, last-confirmed date and staleness flag. Pass api_key if you have one (instant card checkout at /pricing); otherwise the response explains how to pay via x402. Every AE series is free to try. After a 200, bind get_changes (free poll) or register_alert (HMAC push; Register: $0 · Delivery after trial: $0.05) on this series so a later gazette does not silently retire the value.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | API key (bypasses x402; metered for invoicing) |
| country | string | yes | ISO country code |
| series | string | yes | Series id, e.g. policy-rate, vat, minimum-wage |
| Name | Type | Req | Description |
|---|---|---|---|
| bind_series | – | – | – |
| confidence | – | – | – |
| confidence_label | string | – | Evidence verdict derived from source type, verification age and the stale flag (answers: the weakest series read). Rules at /label-rules |
| country | string | – | – |
| coverage_label | string | – | How much of the question is covered: ready = complete; partial = held with a disclosed limitation or default; gap = no number served. Rules at /label-rules |
| disclaimer | – | – | – |
| effective_from | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| label_basis | object | – | Inputs and the rule ids that produced the two labels |
| last_confirmed | – | – | – |
| no_charge | boolean | – | – |
| notes | – | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| series | string | – | – |
| source | – | – | – |
| stale | boolean | – | – |
| unit | – | – | – |
| value | – | – | – |
| x_next_bind | – | – | – |
No examples provided.
get_series_history ~178
PAID ($0.003). Historical values of a reference series with effective date ranges, optionally filtered by from/to (YYYY-MM-DD). Pass api_key if you have one (instant card checkout at /pricing); otherwise the response explains how to pay via x402. Every AE series is free to try. After a 200, bind get_changes (free poll) or register_alert (HMAC push; Register: $0 · Delivery after trial: $0.05) on this series so a later gazette does not silently retire the value.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | API key |
| country | string | yes | ISO country code |
| from | string | – | Earliest effective date, YYYY-MM-DD |
| series | string | yes | Series id |
| to | string | – | Latest effective date, YYYY-MM-DD |
| Name | Type | Req | Description |
|---|---|---|---|
| bind_series | – | – | – |
| confidence_label | string | – | Evidence verdict derived from source type, verification age and the stale flag (answers: the weakest series read). Rules at /label-rules |
| country | string | – | – |
| coverage_label | string | – | How much of the question is covered: ready = complete; partial = held with a disclosed limitation or default; gap = no number served. Rules at /label-rules |
| disclaimer | – | – | – |
| entries | array | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| label_basis | object | – | Inputs and the rule ids that produced the two labels |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| series | string | – | – |
| stale | boolean | – | – |
| x_next_bind | – | – | – |
No examples provided.
get_snapshot ~119
PAID ($0.02). Snapshot of every series for every country in one call. Pass api_key if you have one (instant card checkout at /pricing); otherwise the response explains how to pay via x402. Every AE series is free to try. After a 200, bind get_changes (free poll) or register_alert (HMAC push; Register: $0 · Delivery after trial: $0.05) on this series so a later gazette does not silently retire the value.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | API key |
| Name | Type | Req | Description |
|---|---|---|---|
| bind_series | – | – | – |
| countries | – | – | – |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| result | array | – | One entry per country; every series value carries confidence_label, coverage_label and label_basis |
| x_next_bind | – | – | – |
No examples provided.
hire_compare ~349
PAID ($0.75 for 2 countries, $1.00 for 3-5). Employer cost, employer and employee contributions, on-cost percent and wage-floor verdict side by side and ranked, every figure cited. Countries (any brand): AE, AU, CA, DE, ES, GB, IT, MX, PL, US. Gross is in each country's own currency; currencies are not converted. 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.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | API key (bypasses x402; metered for invoicing) |
| hires | array | yes | 2 to 5 hires |
| period | string | – | Default month |
| receipt | boolean | – | 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 (GE… |
| Name | Type | Req | Description |
|---|---|---|---|
| bind_series | – | – | – |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| evidence | array | – | – |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| job | string | – | – |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| status | string | – | – |
| x_next_bind | – | – | – |
No examples provided.
How do I install the dev.mearef/reference-data MCP server?
dev.mearef/reference-data is a hosted endpoint at https://mearef.dev/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mearef.dev
claude mcp add --transport http dev-mearef-reference-data 'https://mearef.dev/mcp'
What is the dev.mearef/reference-data MCP server?
dev.mearef/reference-data is an MCP server listed in the public MCP registry as dev.mearef/reference-data. Mid-East govt data, cited to source: rates, VAT, tax, wages, holidays, FX. 9 countries; UAE free. This page covers its hosted endpoint (https://mearef.dev/mcp).
Is the dev.mearef/reference-data MCP server safe to use?
dev.mearef/reference-data scores 87 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the dev.mearef/reference-data MCP server expose?
dev.mearef/reference-data exposes 33 tools: list_series, get_public_holidays, get_public_holidays_worldwide, get_key_balance, is_business_day, and 28 more. Their descriptions and schemas cost roughly 9,960 tokens of context every time the server is loaded.
Does the dev.mearef/reference-data MCP server require authentication?
No. We connected to dev.mearef/reference-data without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the dev.mearef/reference-data MCP server still maintained?
dev.mearef/reference-data is still listed as active in the MCP registry. We last reached this channel on 7 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.
What did VerifyMCP test on the dev.mearef/reference-data MCP server?
VerifyMCP ran 13 checks on dev.mearef/reference-data, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.