# toll402 – EU & Nordic Data (x402) (remote · toll402.io)

Pay-per-call EU & Nordic data for AI agents: VAT/VIES, MiCA, ECB FX, holidays, DK power. x402.

- Trust score: 59/100 (low)
- Change this week: 0
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `toll402.io`: 59/100 (this document), [markdown](https://verifymcp.io/servers/io-toll402-toll402/toll402.md), [page](https://verifymcp.io/servers/io-toll402-toll402/toll402)

## Channel facts

- Endpoint: `https://toll402.io/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 46/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 30 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 59/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 5965 tokens (~198/item across 30 items; 30 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 17/100
  - Stability check failed: schema churn in the 7 days we've observed: 1 tool removals, 0 breaking changes, 0 auth/transport breaks, 13 additions.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 30 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 30 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the toll402 – EU & Nordic Data (x402) MCP server?

toll402 – EU & Nordic Data (x402) is a hosted endpoint at https://toll402.io/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.

### Claude

```bash
claude mcp add --transport http io-toll402-toll402 'https://toll402.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-toll402-toll402": {
      "url": "https://toll402.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-toll402-toll402": {
      "type": "http",
      "url": "https://toll402.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-toll402-toll402]
url = "https://toll402.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-toll402-toll402": {
      "type": "remote",
      "url": "https://toll402.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-toll402-toll402 --url 'https://toll402.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-toll402-toll402:
    url: "https://toll402.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-toll402-toll402": {
      "Transport": "http",
      "Url": "https://toll402.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-toll402-toll402 -t streamable-http -u 'https://toll402.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-toll402-toll402": {
      "type": "http",
      "url": "https://toll402.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 59, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 14.

### 2026-11-01 (score 58, +1)

No change was recorded against any check on this day. Stability & Change Management went from 0 to 4.

### 2026-10-30 (score 57, −2)

- [security regression] Stability: unverified → fail
- [security regression] A breaking change shipped without a version bump: still 1.0.0
- [security regression] Tool “dk_company” was removed
- [security] Tool “dk_address” rewrote its description, which is the text the model reads
- [security] Tool “dk_power_cheapest_window” rewrote its description, which is the text the model reads
- [security] Tool “dk_power_price” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: pass → fail
- [functional] New tool “cbam_calc”
- [functional] New tool “eu_tenders”
- [functional] New tool “eudr_check”
- [functional] New tool “fi_company”
- [functional] New tool “google_trends”
- [functional] New tool “indeed_jobs”
- [functional] New tool “lei_lookup”
- [functional] New tool “linkedin_ads”
- [functional] New tool “maritime_port_calls”
- [functional] New tool “maritime_vessels”
- [functional] New tool “meta_ads”
- [functional] New tool “no_company”
- [functional] New tool “sanctions_screen_global”
- [cosmetic] “dk_address” reworded the description of “q”
- [cosmetic] “dk_power_cheapest_window” reworded the description of “area”
- [cosmetic] “dk_power_price” reworded the description of “area”
- [cosmetic] “dk_power_price” reworded the description of “date”

### 2026-10-29 (score 59)

First indexed and scored.

## MCP tools (30)

### `dk_bank_days` (~86 tokens)

Danish banking days: is a date a Danish banking day, why it is closed, the next banking day, and date + N banking days (payment deadlines). Price 0.005 USD per call via x402.

Input parameters:

- `add` (string|number|boolean): Banking days to add (0-260)
- `date` (string|number|boolean, required): YYYY-MM-DD

### `dk_power_price` (~160 tokens)

Day-ahead electricity spot prices per 15 minutes for Denmark (DK1/DK2) and neighbouring zones Norway NO2, Sweden SE3/SE4 and Germany DE-LU for a date, in DKK and EUR per MWh, with average, cheapest and most expensive quarter. Source: Energinet, energidataservice.dk (CC BY 4.0). Price 0.005 USD per call via x402.

Input parameters:

- `area` (string|number|boolean, required): Bidding zone: DK1, DK2, NO2, SE3, SE4 or DE (DE-LU)
- `date` (string|number|boolean): YYYY-MM-DD (CET/CEST, Danish time), default today

### `dk_power_cheapest_window` (~165 tokens)

Cheapest contiguous window of N hours to run a load (EV charging, heat pump, batch job) on a given day in Denmark (DK1/DK2), Norway NO2, Sweden SE3/SE4 or Germany DE-LU, based on day-ahead spot prices. Source: Energinet, energidataservice.dk (CC BY 4.0). Price 0.005 USD per call via x402.

Input parameters:

- `area` (string|number|boolean, required): Bidding zone: DK1, DK2, NO2, SE3, SE4 or DE (DE-LU)
- `date` (string|number|boolean): date
- `hours` (string|number|boolean): Window length in hours (1-12)

### `dk_co2` (~79 tokens)

CO2 intensity of Danish electricity (g CO2/kWh) for DK1/DK2: latest 5-minute value, last-hour average, and the forecast with the greenest upcoming hour. Source: Energinet. Price 0.005 USD per call via x402.

Input parameters:

- `area` (string|number|boolean, required): area

### `eu_holidays` (~89 tokens)

National public holidays for a year in EU/EEA/Nordic countries (plus CH, GB). Denmark computed locally, others via Nager.Date. Price 0.005 USD per call via x402.

Input parameters:

- `country` (string|number|boolean, required): ISO 3166-1 alpha-2
- `year` (string|number|boolean): e.g. 2026

### `eu_working_days` (~117 tokens)

Working days in EU/EEA/Nordic countries: count working days between two dates (inclusive) and/or compute date + N working days, excluding weekends and national holidays. Price 0.005 USD per call via x402.

Input parameters:

- `add` (string|number|boolean): Working days to add to 'from' (0-260)
- `country` (string|number|boolean, required): country
- `from` (string|number|boolean, required): from
- `to` (string|number|boolean): to

### `fx_dkk` (~93 tokens)

Danmarks Nationalbank official DKK exchange rates (DKK per 100 units) for ~30 currencies; optionally convert an amount to/from DKK. Price 0.005 USD per call via x402.

Input parameters:

- `amount` (string|number|boolean): Amount in 'currency' to convert to DKK
- `currency` (string|number|boolean): ISO 4217 code, omit for all

### `fx_ecb` (~113 tokens)

Convert an amount between any two of ~30 currencies using official ECB euro reference rates, for today or any date in the last 90 days (falls back to the previous ECB business day). Price 0.005 USD per call via x402.

Input parameters:

- `amount` (string|number|boolean, required): amount
- `date` (string|number|boolean): Optional, within last 90 days
- `from` (string|number|boolean, required): from
- `to` (string|number|boolean, required): to

### `stablecoin_receipt` (~130 tokens)

Accounting voucher data for a stablecoin payment received by an EU/Danish business: value in DKK and EUR on the receipt date using ECB rates (assuming 1:1 peg), with tx reference and booking note. Not tax advice. Price 0.01 USD per call via x402.

Input parameters:

- `amount` (string|number|boolean, required): amount
- `date` (string|number|boolean, required): date
- `network` (string|number|boolean): network
- `token` (string|number|boolean, required): token
- `tx` (string|number|boolean): tx

### `dk_address` (~111 tokens)

Validate and geocode a Danish address against the official Danish Address Register (DAR): normalised address, street, house number, floor/door, postcode, city, municipality code, DAR ids and coordinates (WGS84 + UTM32). Source: Klimadatastyrelsen, CC BY 4.0. Price 0.005 USD per call via x402.

Input parameters:

- `q` (string|number|boolean, required): Free-text Danish address (street, number, optional floor/door, postcode/city)

### `dk_weather` (~108 tokens)

Latest observed weather in Denmark from the nearest DMI station to a lat/lon (or a station id): temperature, wind, gusts, pressure, precipitation, visibility. Source: DMI Open Data. Price 0.005 USD per call via x402.

Input parameters:

- `lat` (string|number|boolean): lat
- `lon` (string|number|boolean): lon
- `station` (string|number|boolean): DMI station id, e.g. 06180

### `dk_sea_level` (~93 tokens)

Latest sea level (cm relative to DVR90) and water temperature at Danish ports/tide gauges by port name (e.g. Esbjerg, Aarhus, Skagen). Useful for port calls, draught and storm surge checks. Source: DMI. Price 0.005 USD per call via x402.

Input parameters:

- `port` (string|number|boolean, required): Port/station name, partial match

### `eu_vat_rates` (~69 tokens)

Current VAT rates for EU member states: standard, reduced, super-reduced and parking rates with category notes. One country or all. Price 0.005 USD per call via x402.

Input parameters:

- `country` (string|number|boolean): ISO alpha-2, omit for all EU

### `eu_vat_check` (~76 tokens)

Validate an EU VAT number live against the European Commission VIES service; returns validity, registered name and address where the member state discloses them. Price 0.01 USD per call via x402.

Input parameters:

- `vat` (string|number|boolean, required): VAT number incl. 2-letter prefix (Greece = EL)

### `eu_sanctions` (~92 tokens)

Screen a person or company name against the EU consolidated financial sanctions list (all aliases). Returns exact/partial matches with programme, EU reference and regulation link. Screening aid only; human review required. Price 0.02 USD per call via x402.

Input parameters:

- `name` (string|number|boolean, required): Name to screen (min 3 chars)
- `type` (string|number|boolean): type

### `sanctions_screen_global` (~158 tokens)

Screen a person, company or vessel name against four official sanctions lists at once: EU consolidated list, US OFAC SDN, UK Sanctions List (FCDO, incl. HM Treasury/OFSI asset freezes) and the UN Security Council Consolidated List. Returns each match with list, programme, reference, match_score and matched_alias. Screening aid only; human review required. Price 0.03 USD per call via x402.

Input parameters:

- `lists` (string|number|boolean): Optional comma-separated subset of eu,ofac,uk,un (default all four)
- `name` (string|number|boolean, required): Name to screen (min 3 chars)
- `type` (string|number|boolean): type

### `no_company` (~132 tokens)

Norwegian company lookup in the official Brønnøysund Register Centre (Enhetsregisteret) by organisation number or name: name, legal form, business address, industry (NACE), employees, VAT and business-register status, bankruptcy/liquidation flags. Open data under NLOD 2.0. Price 0.01 USD per call via x402.

Input parameters:

- `name` (string|number|boolean): Company name search (alternative to orgnr; returns up to 5 candidates)
- `orgnr` (string|number|boolean): 9-digit Norwegian organisation number (organisasjonsnummer)

### `fi_company` (~134 tokens)

Finnish company lookup in the official YTJ business information system (PRH open data API v3) by Business ID (Y-tunnus) or name: name and auxiliary names, legal form, address, main industry, registration date, liquidation/bankruptcy situations. CC BY 4.0. Price 0.01 USD per call via x402.

Input parameters:

- `businessId` (string|number|boolean): Finnish Business ID (Y-tunnus), e.g. 0112038-9
- `name` (string|number|boolean): Company name search (alternative; returns up to 5 candidates)

### `lei_lookup` (~126 tokens)

Legal Entity Identifier (LEI) lookup in the GLEIF Global LEI Index by LEI or legal name: legal name, entity and registration status (ISSUED/LAPSED), jurisdiction, legal form, legal and HQ address, registration authority ID, renewal date, BIC. CC0. Price 0.01 USD per call via x402.

Input parameters:

- `lei` (string|number|boolean): 20-character LEI (ISO 17442)
- `name` (string|number|boolean): Legal name search (alternative; returns up to 5 candidates)

### `mica_token_status` (~122 tokens)

MiCA status of a stablecoin/e-money token (e.g. USDC, EURC, RLUSD, USDT): is a MiCA e-money token white paper notified in ESMA's register, by which issuer, home state and regulator. Key for EU CASPs ahead of the ESMA remediation deadline (8 Jan 2027). Price 0.01 USD per call via x402.

Input parameters:

- `token` (string|number|boolean, required): Ticker, e.g. USDC, EURC, RLUSD, USDT, EURe

### `mica_casp` (~91 tokens)

Check whether a crypto company (exchange, broker, custodian) holds a MiCA CASP authorisation in the EU, its home state, regulator, services and passporting, and whether it is on ESMA's non-compliant warning list. Price 0.01 USD per call via x402.

Input parameters:

- `name` (string|number|boolean, required): Company or brand name (min 3 chars)

### `google_trends` (~287 tokens)

Google Trends for 1-5 keywords in any country or worldwide: relative search interest over time (0-100), interest by region, and top and rising related queries (incl. Breakout). Provided by Atlas Data (third-party seller) from its Google Trends scraper; cached up to 6 h. Relative interest, not absolute search volume. Price 0.03 USD per call via x402.

Input parameters:

- `category` (string|number|boolean): Google Trends category id (0 = all)
- `compare` (string|number|boolean): Scale keywords relative to each other (Google compare view) instead of independently
- `geo` (string|number|boolean): ISO country code (DK, SE, NO, US), region (US-CA) or US metro (US-NY-501). Omit for worldwide.
- `keywords` (string|number|boolean, required): Comma-separated keywords, 1-5 (e.g. "bitcoin,ethereum"); max 100 chars each; no URLs
- `maxItems` (string|number|boolean): Max regions and related queries per list per keyword (default 10, clamped to 20). The full time series is always returned.
- `property` (string|number|boolean): Google property (default web)
- `timeRange` (string|number|boolean): Default today 12-m

### `indeed_jobs` (~343 tokens)

Live Indeed job listings for Denmark, Sweden, Norway and 57 other Indeed country sites: title, company, location, salary (where shown), job type, remote flag, posting date and apply link. Up to 50 jobs per call. Provided by Atlas Data (third-party seller) from its Indeed scraper; cached up to 1 h. Price 0.02 USD per call via x402.

Input parameters:

- `country` (string|number|boolean): Indeed country site (default dk)
- `datePosted` (string|number|boolean): Posted within N days (default any)
- `includeDescription` (string|number|boolean): Include plain-text job description (truncated to 4000 chars). Default false.
- `jobType` (string|number|boolean): jobType
- `keywords` (string|number|boolean): Comma-separated job searches, up to 3 (e.g. "developer,data analyst"). Required unless location is set.
- `location` (string|number|boolean): City, region or postcode inside the chosen country, e.g. København, Stockholm, Oslo. Omit for the whole country.
- `maxItems` (string|number|boolean): Max jobs returned (default 20, clamped to 50)
- `minSalary` (string|number|boolean): Keep only jobs whose shown yearly-equivalent salary reaches this (local currency); drops jobs without salary
- `radius` (string|number|boolean): Radius around location (km; miles on us/gb)
- `remote` (string|number|boolean): Remote jobs only
- `sort` (string|number|boolean): sort

### `meta_ads` (~412 tokens)

Search the Meta (Facebook/Instagram) Ad Library, Meta's public ad-transparency archive, by keyword or advertiser page ID and country: advertiser, ad text, creative format, landing page, platforms, start/end dates, active status, and spend/impression ranges where Meta publishes them. Up to 20 ads per call. Provided by Atlas Data (third-party seller); cached up to 6 h. Price 0.02 USD per call via x402.

Input parameters:

- `activeStatus` (string|number|boolean): Default active
- `adType` (string|number|boolean): Ad category (special categories need a country; US is used if ALL)
- `country` (string|number|boolean): ISO 3166 alpha-2 country where ads were shown (DK, SE, DE...) or ALL (default)
- `dateFrom` (string|number|boolean): Shown on or after (YYYY-MM-DD)
- `dateTo` (string|number|boolean): Shown on or before (YYYY-MM-DD)
- `exactPhrase` (string|number|boolean): Match keywords as an exact phrase
- `keywords` (string|number|boolean): Comma-separated keyword searches (ad text / advertiser), up to 3. Required unless pageIds is set.
- `languages` (string|number|boolean): Comma-separated two-letter ad languages, up to 5 (e.g. da,en)
- `maxItems` (string|number|boolean): Max ads returned (default 10, clamped to 20)
- `mediaType` (string|number|boolean): mediaType
- `pageIds` (string|number|boolean): Comma-separated numeric Facebook page IDs of advertisers (all their ads). Total searches (keywords + pageIds) max 3.
- `platforms` (string|number|boolean): Comma-separated subset of facebook, instagram, audience_network, messenger, threads
- `sort` (string|number|boolean): sort

### `linkedin_ads` (~388 tokens)

Search the LinkedIn Ad Library, LinkedIn's public ad-transparency archive, by advertiser name or keyword, optionally by country and date range: advertiser, ad text, headline, format, landing page, and (with includeDetails) run dates, impression ranges and targeting as LinkedIn publishes them. Up to 20 ads per call. Best-effort: LinkedIn sometimes blocks automated access, and a failed run returns 503 within about 40 s and is not charged; /v1/ads/meta is the more reliable ad source. Provided by Atlas Data (third-party seller); cached up to 6 h. Price 0.02 USD per call via x402.

Input parameters:

- `advertiser` (string|number|boolean): Comma-separated advertiser (company) names, up to 3, e.g. "HubSpot". Required unless keyword is set.
- `countries` (string|number|boolean): Comma-separated ISO 3166 alpha-2 codes where ads were shown, up to 10 (empty = all)
- `dateRange` (string|number|boolean): When the ads ran (default all)
- `endDate` (string|number|boolean): Custom range end (YYYY-MM-DD), needs startDate
- `includeDetails` (string|number|boolean): Open each ad for full text, dates, impressions and targeting (much slower and more likely to fail or time out; keep maxItems small). Default false.
- `keyword` (string|number|boolean): Comma-separated keyword searches in ad text, up to 3; with advertiser, a single filter word.
- `maxItems` (string|number|boolean): Max ads returned (default 10, clamped to 20)
- `startDate` (string|number|boolean): Custom range start (YYYY-MM-DD, last 12 months only); replaces dateRange

### `eu_tenders` (~404 tokens)

Search EU public procurement notices on TED (Tenders Electronic Daily) by keyword, buyer country, CPV code, notice type (calls for tenders, awards, planning…) and publication date, optionally only tenders still open: title, buyer, CPV, procedure, estimated/awarded value, winners, deadline and TED links. Up to 25 notices per call, newest first. Provided by Atlas Data (third-party seller); cached up to 1 h. © European Union, https://ted.europa.eu. Price 0.03 USD per call via x402.

Input parameters:

- `countries` (string|number|boolean): Comma-separated buyer country codes (2- or 3-letter, e.g. DK,SE), up to 10; empty = all
- `cpvCodes` (string|number|boolean): Comma-separated 8-digit CPV codes (sub-codes included), up to 10, e.g. 72000000
- `expertQuery` (string|number|boolean): Optional TED expert-search clause ANDed with the filters (max 300 chars), e.g. procedure-type=open
- `keywords` (string|number|boolean): Comma-separated full-text terms (any matches; multi-word terms are phrases), up to 5
- `language` (string|number|boolean): Preferred language for titles and links (default eng)
- `maxItems` (string|number|boolean): Max notices (default 10, clamped to 25)
- `noticeType` (string|number|boolean): Default any
- `onlyOpen` (string|number|boolean): Only notices whose tender/participation deadline is today or later
- `publishedSince` (string|number|boolean): YYYY-MM-DD or relative ('7 days', '4 weeks', '3 months'); default 30 days
- `publishedUntil` (string|number|boolean): Optional end date (inclusive)

### `maritime_vessels` (~378 tokens)

Live AIS vessel positions in the northern Baltic Sea and Finland only (Finnish AIS coverage, about 57–66°N, 17–35°E; not global): ships near a point (radius up to 1000 km, sorted by distance) or by MMSI/IMO/name/category, with name, IMO, type, speed, course, nav status, destination, ETA and size. Up to 30 vessels per call. Provided by Atlas Data (third-party seller); data from Fintraffic Digitraffic, CC BY 4.0; cached up to 3 min. Not for navigation. Price 0.02 USD per call via x402.

Input parameters:

- `imo` (string|number|boolean): Comma-separated 7-digit IMO numbers, up to 30
- `lat` (string|number|boolean): Centre latitude (with lon), e.g. 60.15 for Helsinki
- `lon` (string|number|boolean): Centre longitude (with lat)
- `maxAgeMinutes` (string|number|boolean): Max position age (default 60)
- `maxItems` (string|number|boolean): Max vessels (default 10, clamped to 30)
- `mmsi` (string|number|boolean): Comma-separated 9-digit MMSI numbers, up to 30
- `movingOnly` (string|number|boolean): Skip vessels under 0.5 kn
- `radiusKm` (string|number|boolean): Search radius in km (default 20); the circle must reach the coverage area
- `shipCategories` (string|number|boolean): Comma-separated AIS categories, e.g. cargo,tanker,passenger
- `vesselName` (string|number|boolean): Vessel name contains (case-insensitive)

### `maritime_port_calls` (~349 tokens)

Port calls at Finnish ports only (Portnet via Fintraffic Digitraffic): expected, arrived and departed ships with ETA/ETD/ATA/ATD, berth, vessel name/IMO/MMSI/flag/type, previous and next port. Filter by port UN/LOCODE (e.g. FIHEL), vessel, time window and status. Up to 15 port calls per call. Provided by Atlas Data (third-party seller); CC BY 4.0; cached up to 15 min. Price 0.02 USD per call via x402.

Input parameters:

- `from` (string|number|boolean): ETA from: date, ISO time, now/today or relative (-1 day, -12 hours); default -1 day
- `imo` (string|number|boolean): Comma-separated 7-digit IMO numbers
- `maxItems` (string|number|boolean): Max port calls (default 10, clamped to 15)
- `mmsi` (string|number|boolean): Comma-separated 9-digit MMSI numbers, up to 20
- `ports` (string|number|boolean): Comma-separated Finnish UN/LOCODEs, up to 10 (FIHEL, FIKTK, FIHMN, FITKU, FIRAU, FIOUL...); empty = all
- `status` (string|number|boolean): Comma-separated subset of expected, arrived, departed
- `to` (string|number|boolean): ETA to: date, ISO time, tomorrow or relative (+7 days); default +7 days
- `vesselName` (string|number|boolean): Vessel name contains

### `eudr_check` (~549 tokens)

EU Deforestation Regulation (EUDR, Reg. (EU) 2023/1115) scope and country-risk check: for up to 25 HS/CN codes with country of production, is the product in Annex I (cattle, cocoa, coffee, oil palm, rubber, soya, wood), which commodity, the country's risk level under Implementing Reg. (EU) 2025/1093, the due-diligence regime and when obligations apply for your role and company size. Also lists Annex I products or country risk levels. Provided by Atlas Data (third-party seller); cached up to 24 h. © European Union, Decision 2011/833/EU. Not legal advice; not legally binding. Price 0.02 USD per call via x402.

Input parameters:

- `codes` (string|number|boolean): mode=check: up to 25 lines 'HS/CN code|country of production' separated by ',' or ';', e.g. 1801 00 00|CI,4407 11|SE (country optional if 'country' is set)
- `commodity` (string|number|boolean): listProducts filter
- `companySize` (string|number|boolean): Sets the application date (30 Dec 2026, or 30 Jun 2027 for micro/small); default unknown
- `country` (string|number|boolean): Default country for lines without one (check), or a country filter (listCountries); ISO alpha-2/alpha-3 or English name
- `includeAnnexDetails` (string|number|boolean): Add the Annex I description and exclusions to each line (default true)
- `items` (string|number|boolean): mode=check: JSON array (max 25) of {"id","code","country","description"}, e.g. [{"id":"PO-1","code":"090111","country":"BR"}]
- `maxItems` (string|number|boolean): Max rows (check: default all lines; lists: default 10; clamped to 25)
- `mode` (string|number|boolean): check (default) = classify your lines; listProducts = Annex I table; listCountries = 2025/1093 country risk levels
- `offset` (string|number|boolean): List modes: skip this many rows
- `referenceDate` (string|number|boolean): Evaluate scope and application dates on this date (default today, UTC)
- `role` (string|number|boolean): Which obligations are summarised (Art. 4 vs Art. 5); default operator

### `cbam_calc` (~511 tokens)

EU CBAM (Carbon Border Adjustment Mechanism, Reg. (EU) 2023/956) certificate and cost estimate for up to 20 import lines (CN code, country of origin, tonnes, import date) using the official default values (2025/2621 as corrected), benchmarks (2025/2620), mark-up, CBAM factor and the Commission's quarterly certificate price, with optional production route and carbon price paid; or list the quarterly certificate prices. Electricity is not covered; a quarter's price that is not yet published (2026-Q4) is an estimate. Provided by Atlas Data (third-party seller); cached up to 24 h. © European Union, Decision 2011/833/EU. Not legal or tax advice; not legally binding. Price 0.03 USD per call via x402.

Input parameters:

- `carbonPricePaidEurPerTco2e` (string|number|boolean): Simplified Art. 9 deduction: effective carbon price paid in the country of origin
- `certificatePriceEur` (string|number|boolean): Your own price per certificate instead of the official quarterly price
- `country` (string|number|boolean): Default country of origin for lines without one (empty = 'Other countries and territories' default values)
- `importDate` (string|number|boolean): Default import date: sets reporting year (mark-up, CBAM factor) and quarterly price; default today (UTC)
- `items` (string|number|boolean): JSON array (max 20) of {"id","code","country","tonnes","importDate","productionRoute","carbonPricePaidEurPerTco2e","certificatePriceEur","precursorUnknownOrigin"}
- `lines` (string|number|boolean): Up to 20 lines 'CN/TARIC code|country of origin|net tonnes|importDate' separated by ',' or ';', e.g. 7208 51 20|TR|100|2026-08-15
- `maxItems` (string|number|boolean): Max rows (default all lines; clamped to 20)
- `mode` (string|number|boolean): calculate (default) = certificates and cost per import line; listPrices = quarterly certificate prices, CBAM factor and CSCF
- `productionRoute` (string|number|boolean): Benchmark production route for the free-allocation adjustment (normally from the default-value table)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-toll402-toll402/toll402#diagnostics

## Score history

- 2026-11-05: 59
- 2026-11-04: 59
- 2026-11-03: 58
- 2026-11-02: 58
- 2026-11-01: 58
- 2026-10-31: 57
- 2026-10-30: 57
- 2026-10-29: 59

## Common questions

### What is the toll402 – EU & Nordic Data (x402) MCP server?

toll402 – EU & Nordic Data (x402) is an MCP server listed in the public MCP registry as io.toll402/toll402. Pay-per-call EU & Nordic data for AI agents: VAT/VIES, MiCA, ECB FX, holidays, DK power. x402. This page covers its hosted endpoint (https://toll402.io/mcp).

### Is the toll402 – EU & Nordic Data (x402) MCP server safe to use?

toll402 – EU & Nordic Data (x402) scores 59 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 toll402 – EU & Nordic Data (x402) MCP server expose?

toll402 – EU & Nordic Data (x402) exposes 30 tools: dk_bank_days, dk_power_price, dk_power_cheapest_window, dk_co2, eu_holidays, and 25 more. Their descriptions and schemas cost roughly 5,965 tokens of context every time the server is loaded.

### Does the toll402 – EU & Nordic Data (x402) MCP server require authentication?

No. We connected to toll402 – EU & Nordic Data (x402) without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the toll402 – EU & Nordic Data (x402) MCP server still maintained?

toll402 – EU & Nordic Data (x402) is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://toll402.io/mcp
- Repository: https://github.com/AtlasDataDenmark/toll402
- Website: https://toll402.io/
- Changelog RSS feed: https://verifymcp.io/servers/io-toll402-toll402/toll402.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-toll402-toll402/toll402.json
- HTML version of this page: https://verifymcp.io/servers/io-toll402-toll402/toll402
