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 →
invoice_check ~485
PAID ($0.60). Check an invoice in one call: is the VAT right (place of supply, rate, expected amount vs vat_charged), is it overdue and how much statutory late interest is owed, and do seller/buyer tax IDs pass the official format check. Seller countries here: IL, JO, OM, SA. Send due_date, or invoice_date with terms_days. 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 | Invoice amount, local currency |
| amount_is | string | – | Default net |
| api_key | string | – | API key (bypasses x402; metered for invoicing) |
| as_of | string | – | YYYY-MM-DD; default today |
| buyer_country | string | – | ISO code; omit for a domestic invoice |
| buyer_tax_id | string | – | Needs buyer_country |
| buyer_type | string | – | – |
| due_date | string | – | YYYY-MM-DD contractual due date |
| invoice_date | string | – | YYYY-MM-DD; with terms_days instead of due_date |
| 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 country code of the seller |
| seller_tax_id | string | – | – |
| terms_days | integer | – | Agreed payment term in days |
| vat_charged | number | – | VAT amount on the invoice, to be checked |
| 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.
invoice_payable ~414
PAID ($0.40). Is this invoice overdue, by how many days, and how much statutory late-payment interest is owed (Actual/365 simple, rate and workings cited). Late-payment regime: none here; statutory interest only: IL, IQ, JO, KW, OM, SA. Send due_date, or invoice_date with terms_days. 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) |
| as_of | string | – | YYYY-MM-DD payment date or day asked about; default today |
| country | string | yes | ISO country code |
| debtor | string | – | Default business |
| due_date | string | – | YYYY-MM-DD contractual due date |
| invoice_date | string | – | YYYY-MM-DD; with terms_days instead of due_date |
| principal | number | yes | Unpaid amount, local currency |
| 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… |
| terms_days | integer | – | Agreed payment term in days |
| 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.
is_business_day Is it a business day? ~231
FREE, unmetered. Is this date a business day in this country? Returns is_business_day, the reason (weekend, public_holiday, makeup_workday…), the holiday names, and the next and previous business day. 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 | Date to classify, YYYY-MM-DD |
| Name | Type | Req | Description |
|---|---|---|---|
| basis | – | – | – |
| bind_series | – | – | – |
| calendar | – | – | Holiday calendar used: years_held, source, last_confirmed, stale |
| caveats | array | – | – |
| country | string | – | – |
| country_name | string | – | – |
| date | string | – | – |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| free | boolean | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| is_business_day | boolean | – | – |
| is_weekend_day | boolean | – | – |
| next_business_day | – | – | {date, weekday}, or date null with why_unknown when it falls outside the held calendar |
| no_charge | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| previous_business_day | – | – | – |
| price | string | – | – |
| price_usd | number | – | – |
| public_holidays | array | – | – |
| reached | string | – | On a refusal: the first date the calculation could not classify |
| reason | string | – | – |
| weekday | 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.
list_series ~223
FREE. Catalog of all mearef reference-data series: supported countries, series ids, descriptions, freshness metadata and per-series URLs. Call this first to discover what data exists. Paid answer tools accept receipt=true (included in the answer price, no extra USDC) and, on a paid success, return an Ed25519 answer receipt (kind answer_receipt). That receipt is not a series certified extract and is not legal advice. Series certified extracts are GET /v1/certified/{country}/{series} at $0.10 and are not an MCP tool. Verify a receipt with verify_answer_receipt (free, public key only) against /certified/public-key. get_changes is free. get_calendar is free. register_alert registration is free.
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | – | Optional ISO country code. Returns full per-series metadata (source, freshness, bands) for that country only. |
| detail | boolean | – | Default false. Without country, false returns a compact index (country -> series ids). true returns the full catalog, which is large. |
| Name | Type | Req | Description |
|---|---|---|---|
| bind_series | – | – | – |
| countries | array | – | Country entries ({country, name, series}); on an unknown-country refusal, the list of valid codes |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| no_charge | boolean | – | – |
| note | string | – | – |
| 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.
next_filings ~360
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: AE, BH, OM, QA, SA. 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 |
| from | string | – | YYYY-MM-DD, default today |
| 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… |
| tax | string | – | – |
| to | string | – | YYYY-MM-DD, max 366 days after from |
| year_end | string | – | MM-DD financial year end |
| 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.
register_alert ~374
Bind a webhook so the next gazette does not silently stale a value you already paid for. REGISTERING IS FREE. Register: $0 · Delivery after trial: $0.05. First 3 deliveries are free; later deliveries are $0.05 and refunded if the webhook fails to send. HMAC-SHA256 signed. Two watch types on the same call: • series: ["za/vat-registration-threshold", "ke/*", "*"] → series.changed when the served value or its effective date moves. On usaref those watches are statutory (minimum-wage, income-tax, statutory-interest, sales-tax, public-holidays), not a FRED-macro subscription. • sources: ["<exact official source.url>"] → source.changed when the document BYTES change (old/new sha256 + citing series). Bytes ≠ value. Value changes arrive as series.changed. Unknown URLs refuse free (source_not_fingerprinted). Max 20 series + 20 sources. Required: url. Optional: api_key stored on the subscription to fund deliveries after the trial. This call does not meter that key. Prefer this over polling get_changes if you are a long-running agent. This is retention, not a new data product.
| Name | Type | Req | Description |
|---|---|---|---|
| api_key | string | – | Optional prepaid key stored on the subscription to fund deliveries after the trial. This call does not meter it. |
| series | array | – | Value watches, e.g. ["za/vat-registration-threshold", "ke/*", "*"] |
| sources | array | – | Exact official-source URLs from a series source.url. Unknown URLs are refused free. |
| url | string | yes | Webhook endpoint that will receive HMAC-SHA256 signed events |
| Name | Type | Req | Description |
|---|---|---|---|
| bind_series | – | – | – |
| 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 | – | – |
| x_next_bind | – | – | – |
No examples provided.
settlement_date ~550
PAID ($0.02). Settlement/value date: the date n business days after a trade date, computed on the INTERSECTION of the calendars you name, with a per-day trail showing every skipped day and why, on which calendar. Supply business_days for a cycle you are trading under, or market + instrument_class to have a settlement cycle applied that we cite to its primary source (e.g. US equities T+1 under 17 CFR 240.15c6-1(a); UK gilts T+1 by DMO convention, which is NOT the T+2 equity cycle; Japan equities T+2 but JGBs T+1). Calendars are NATIONAL statutory holiday calendars with researched statutory weekend rules (Israel Saturday-only, Gulf Friday+Saturday, India Sundays plus the 2nd and 4th Saturday), NOT CSD or exchange calendars — each response states the basis and any known divergence. Use 'eu.t2' for the euro cash leg. We refuse FREE rather than guess: beyond published calendar coverage, no cited cycle for the instrument (government bonds never inherit an equity cycle), a cycle not in force on the trade date, or FX spot value dates. Free companion: GET /settlement-conventions. 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) |
| business_days | integer | – | The offset you are trading under (T+n) |
| calendars | array | yes | Calendar ids to intersect: two-letter ISO country codes, plus 'eu.t2' for the euro cash leg |
| instrument_class | string | – | Instrument class — a government bond never inherits an equity cycle |
| market | string | – | ISO country of the market whose cited cycle should apply (with instrument_class) |
| 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… |
| trade_date | string | yes | Trade/reference date, YYYY-MM-DD. Day 0: never counted, never rolled. |
| 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.
validate_tax_id ~209
PAID ($0.003). Offline format and check-digit validation of a business tax ID or VAT number for one country of this brand: valid/invalid, normalised form, id type, check level (checksum only where the authority publishes the algorithm) and why it failed, with official sources. Does not confirm registration; follow official_lookup for that. Countries without a sourced rule answer free with status 'unknown'. 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 |
| country | string | yes | ISO country code |
| id | string | yes | The tax ID / VAT number as written; spaces, dots, dashes and a VAT country prefix are accepted |
| Name | Type | Req | Description |
|---|---|---|---|
| as_of | string | – | – |
| bind_series | – | – | – |
| check_level | string | – | – |
| country | string | – | – |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| id_type | string | – | – |
| no_charge | boolean | – | – |
| normalised | string|null | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| reason | string | – | – |
| reason_code | string|null | – | – |
| sources | array | – | – |
| status | string | – | – |
| valid | boolean|null | – | – |
| x_next_bind | – | – | – |
No examples provided.
verify_answer_receipt ~315
FREE. Verify an answer receipt (kind answer_receipt) with the Ed25519 public key only. Pass the receipt object or its canonical JSON, signature_value when the signature is not inside the receipt, and public_key_pem to verify offline. If public_key_pem is omitted, the tool may GET signature.public_key (/certified/public-key) and read public_key_pem. Never send a private key. A valid signature shows this service issued that exact receipt. It does not turn the receipt into a series certified extract (GET /v1/certified/{country}/{series} at $0.10, not an MCP tool) and it is not legal advice. Same key and canonical-JSON rule as /certified/public-key.
| Name | Type | Req | Description |
|---|---|---|---|
| public_key_pem | string | – | SPKI public key PEM from GET /certified/public-key (field public_key_pem). Required for offline verify. A private key PEM is refused. |
| public_key_url | string | – | Optional GET /certified/public-key URL used only when public_key_pem is omitted. Ignored when the PEM is present. |
| receipt | – | yes | Answer receipt object (signature may be nested) or the canonical JSON of that object. A canonical JSON string of the signed body (signature omitted) is accepted when signature_value is also passed. |
| signature_value | string | – | Base64 Ed25519 signature. Required when the receipt object or JSON string does not already include signature.value. Overrides a nested signature when both are sent. |
| Name | Type | Req | Description |
|---|---|---|---|
| bind_series | – | – | – |
| disclaimer | – | – | – |
| error | – | – | Present on a free refusal or error; no charge |
| explanation | – | – | – |
| how_to_pay | array | – | – |
| http_endpoint | string | – | – |
| no_charge | boolean | – | – |
| ok | boolean | – | – |
| payment_required | boolean | – | true when the call needs payment; how_to_pay explains x402 or card |
| price_usd | number | – | – |
| why | 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.