{"name":"io.toll402/toll402","title":"toll402 — EU/Nordic data for agents, pay per call","version":"1.0.0","websiteUrl":"https://toll402.io","description":"Danish, Nordic & EU data tools for agents (bank days, power prices, FX, VAT, VIES, sanctions, MiCA, DMI weather/sea level), paid per call via x402.","remotes":[{"type":"streamable-http","url":"https://toll402.io/mcp"}],"payment":{"protocol":"x402","version":2,"rails":["base-usdc","base-eurc","polygon-usdc","xrpl-rlusd","xrpl-xrp","base-rlusd","arc-usdc"]},"tools":[{"name":"dk_bank_days","description":"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).","inputSchema":{"type":"object","properties":{"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"YYYY-MM-DD"},"add":{"type":"string","description":"Banking days to add (0-260)"}},"required":["date"]},"priceUsd":0.005,"http":{"method":"GET","url":"https://toll402.io/v1/dk/bank-days"}},{"name":"dk_power_price","description":"Danish day-ahead electricity spot prices per 15 minutes for DK1 (West) or DK2 (East) for a date, in DKK and EUR per MWh, with average, cheapest and most expensive quarter. Source: Energinet.","inputSchema":{"type":"object","properties":{"area":{"type":"string","enum":["DK1","DK2"]},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"YYYY-MM-DD (Danish time), default today"}},"required":["area"]},"priceUsd":0.005,"http":{"method":"GET","url":"https://toll402.io/v1/dk/power-price"}},{"name":"dk_power_cheapest_window","description":"Cheapest contiguous window of N hours to run a load (EV charging, heat pump, batch job) on a given day in Denmark (DK1/DK2), based on day-ahead spot prices.","inputSchema":{"type":"object","properties":{"area":{"type":"string","enum":["DK1","DK2"]},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"hours":{"type":"string","description":"Window length in hours (1-12)"}},"required":["area"]},"priceUsd":0.005,"http":{"method":"GET","url":"https://toll402.io/v1/dk/power-cheapest-window"}},{"name":"dk_co2","description":"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.","inputSchema":{"type":"object","properties":{"area":{"type":"string","enum":["DK1","DK2"]}},"required":["area"]},"priceUsd":0.005,"http":{"method":"GET","url":"https://toll402.io/v1/dk/co2"}},{"name":"eu_holidays","description":"National public holidays for a year in EU/EEA/Nordic countries (plus CH, GB). Denmark computed locally, others via Nager.Date.","inputSchema":{"type":"object","properties":{"country":{"type":"string","enum":["DK","SE","NO","FI","IS","DE","NL","BE","LU","FR","ES","PT","IT","IE","AT","PL","CZ","SK","HU","SI","HR","RO","BG","GR","CY","MT","EE","LV","LT","CH","GB"],"description":"ISO 3166-1 alpha-2"},"year":{"type":"string","description":"e.g. 2026"}},"required":["country"]},"priceUsd":0.005,"http":{"method":"GET","url":"https://toll402.io/v1/calendar/holidays"}},{"name":"eu_working_days","description":"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.","inputSchema":{"type":"object","properties":{"country":{"type":"string","enum":["DK","SE","NO","FI","IS","DE","NL","BE","LU","FR","ES","PT","IT","IE","AT","PL","CZ","SK","HU","SI","HR","RO","BG","GR","CY","MT","EE","LV","LT","CH","GB"]},"from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"to":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"add":{"type":"string","description":"Working days to add to 'from' (0-260)"}},"required":["country","from"]},"priceUsd":0.005,"http":{"method":"GET","url":"https://toll402.io/v1/calendar/working-days"}},{"name":"fx_dkk","description":"Danmarks Nationalbank official DKK exchange rates (DKK per 100 units) for ~30 currencies; optionally convert an amount to/from DKK.","inputSchema":{"type":"object","properties":{"currency":{"type":"string","description":"ISO 4217 code, omit for all"},"amount":{"type":"string","description":"Amount in 'currency' to convert to DKK"}}},"priceUsd":0.005,"http":{"method":"GET","url":"https://toll402.io/v1/fx/dkk"}},{"name":"fx_ecb","description":"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).","inputSchema":{"type":"object","properties":{"from":{"type":"string"},"to":{"type":"string"},"amount":{"type":"string"},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Optional, within last 90 days"}},"required":["from","to","amount"]},"priceUsd":0.005,"http":{"method":"GET","url":"https://toll402.io/v1/fx/convert"}},{"name":"stablecoin_receipt","description":"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.","inputSchema":{"type":"object","properties":{"token":{"type":"string","enum":["USDC","RLUSD","USDT","PYUSD","USDG","EURC","EURCV","EURQ"]},"amount":{"type":"string"},"date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"tx":{"type":"string"},"network":{"type":"string"}},"required":["token","amount","date"]},"priceUsd":0.01,"http":{"method":"GET","url":"https://toll402.io/v1/accounting/stablecoin-receipt"}},{"name":"dk_company","description":"Danish company lookup by CVR number or name: legal name, address, status, industry, company type, employees. Data from the Danish CVR register (via cvrapi.dk).","inputSchema":{"type":"object","properties":{"cvr":{"type":"string","pattern":"^\\d{8}$"},"name":{"type":"string","description":"Company name if CVR unknown"}}},"priceUsd":0.01,"http":{"method":"GET","url":"https://toll402.io/v1/dk/company"}},{"name":"dk_address","description":"Validate and geocode a Danish address: normalised address, postcode, city, municipality and coordinates (OpenStreetMap data).","inputSchema":{"type":"object","properties":{"q":{"type":"string","description":"Free-text Danish address"}},"required":["q"]},"priceUsd":0.005,"http":{"method":"GET","url":"https://toll402.io/v1/dk/address"}},{"name":"dk_weather","description":"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.","inputSchema":{"type":"object","properties":{"lat":{"type":"string"},"lon":{"type":"string"},"station":{"type":"string","description":"DMI station id, e.g. 06180"}}},"priceUsd":0.005,"http":{"method":"GET","url":"https://toll402.io/v1/dk/weather"}},{"name":"dk_sea_level","description":"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.","inputSchema":{"type":"object","properties":{"port":{"type":"string","description":"Port/station name, partial match"}},"required":["port"]},"priceUsd":0.005,"http":{"method":"GET","url":"https://toll402.io/v1/dk/port-sea-level"}},{"name":"eu_vat_rates","description":"Current VAT rates for EU member states: standard, reduced, super-reduced and parking rates with category notes. One country or all.","inputSchema":{"type":"object","properties":{"country":{"type":"string","description":"ISO alpha-2, omit for all EU"}}},"priceUsd":0.005,"http":{"method":"GET","url":"https://toll402.io/v1/eu/vat-rates"}},{"name":"eu_vat_check","description":"Validate an EU VAT number live against the European Commission VIES service; returns validity, registered name and address where the member state discloses them.","inputSchema":{"type":"object","properties":{"vat":{"type":"string","description":"VAT number incl. 2-letter prefix (Greece = EL)"}},"required":["vat"]},"priceUsd":0.01,"http":{"method":"GET","url":"https://toll402.io/v1/eu/vat-check"}},{"name":"eu_sanctions","description":"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.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Name to screen (min 3 chars)"},"type":{"type":"string","enum":["person","enterprise"]}},"required":["name"]},"priceUsd":0.02,"http":{"method":"GET","url":"https://toll402.io/v1/eu/sanctions"}},{"name":"mica_token_status","description":"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).","inputSchema":{"type":"object","properties":{"token":{"type":"string","description":"Ticker, e.g. USDC, EURC, RLUSD, USDT, EURe"}},"required":["token"]},"priceUsd":0.01,"http":{"method":"GET","url":"https://toll402.io/v1/eu/mica/token"}},{"name":"mica_casp","description":"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.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Company or brand name (min 3 chars)"}},"required":["name"]},"priceUsd":0.01,"http":{"method":"GET","url":"https://toll402.io/v1/eu/mica/casp"}}]}