mcpField
T
toll402 – EU & Nordic Data (x402)

toll402 – EU & Nordic Data (x402)

远程服务
toll402.io法律与政务

关于 toll402 – EU & Nordic Data (x402)

toll402 是面向需要欧盟及北欧公共部门等数据的 Agent 的远程 MCP 服务和 HTTP API。它通过 x402 稳定币支付按次收费,无需 API 密钥或账户。

主要功能

  1. 01欧盟增值税及企业查询
  2. 02制裁名单与 MiCA 检查
  3. 03欧洲央行及丹麦汇率
  4. 04北欧日历与丹麦能源数据
  5. 05趋势、招聘、广告及招标数据

适用场景

  1. 01核验增值税号码及制裁对象
  2. 02按官方汇率进行货币换算
  3. 03查询工作日及低价用电时段
  4. 04搜索招标、职位及公开广告库

MCP 相关

在 https://toll402.io/mcp 提供流式 HTTP MCP 服务,将数据接口作为工具开放。调用通过 x402 支付;未付款请求会返回供 Agent 支付的要求。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://toll402.io/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

toll402:为 AI Agent 提供欧洲和北欧数据,按次付费(x402 + MCP)

25 个实时数据端点 · 每次调用 $0.005–$0.03 · 无需 API 密钥、账户或注册 · 非托管

x402 · MCP · AI Agent · Agent 付款 · Base 上的 USDC / EURC · Polygon 和 Arc 上的 USDC · XRP Ledger 上的 XRP 和 RLUSD(RLUSD:仅限非欧盟买家)· 欧盟 VAT / VIES · 欧盟、OFAC、英国和联合国制裁筛查 · MiCA · ECB 外汇汇率 · 北欧日历 · 丹麦能源数据 · Google Trends · Indeed 招聘信息(丹麦、瑞典、挪威及另外 57 个国家)

可运行示例(curl、Node x402 客户端、MCP 配置):AtlasDataDenmark/toll402-examples

toll402 是一个 HTTP API 和远程 MCP 服务,按次向 AI Agent 提供欧盟和丹麦/北欧官方公共部门数据。它使用 x402 协议:未付款的请求会收到 402 Payment Required,其中付款要求包含在 PAYMENT-REQUIRED 标头(x402 v2)中,并在 JSON 正文中镜像呈现(x402Version + accepts);Agent 的钱包会签署稳定币付款,然后调用即可成功。资金直接从买家转至卖家的地址。toll402 从不持有资金。

原因: 执行开票、薪资、合规、物流或能源调度的 Agent 经常需要一些简单信息,例如“这个 VAT 号码有效吗?”“24 日是丹麦银行营业日吗?”或“当天的 ECB 汇率是多少?”。如今,每项查询都需要单独的 API 密钥和账户。使用 toll402,一个钱包即可完成所有查询,而且只需为实际调用付费。

端点和价格

MCP 工具HTTP 端点返回内容价格(USD)
eu_vat_checkGET /v1/eu/vat-check?vat=DK10150817通过欧盟委员会的 VIES 服务实时验证欧盟增值税号0.01
no_companyGET /v1/no/company?orgnr=923609016按组织编号或名称查询挪威 Brønnøysund Enhetsregisteret 中的公司信息(NLOD 2.0)0.01
fi_companyGET /v1/fi/company?businessId=0112038-9按企业 ID 或名称查询芬兰 PRH/YTJ v3 版开放数据中的公司信息(CC BY 4.0)0.01
lei_lookupGET /v1/lei?lei=5493001KJTIIGC8Y1R12按 LEI 或法定名称查询 GLEIF 全球 LEI 索引中的法人机构识别编码(CC0)0.01
eu_vat_ratesGET /v1/eu/vat-rates?country=DK欧盟成员国的标准、优惠、超优惠和停车 VAT 税率0.005
eu_sanctionsGET /v1/eu/sanctions?name=Wagner根据欧盟综合金融制裁名单筛查个人或公司名称(模糊匹配,每 6 小时更新)0.02
sanctions_screen_globalGET /v1/sanctions/screen?name=Wagner一次性根据欧盟、美国 OFAC SDN、英国制裁名单(FCDO,包括 HM Treasury/OFSI 资产冻结名单)和联合国安理会名单筛查名称;每个匹配项包含:名单、计划、参考编号、匹配分数、匹配别名(可用 lists=eu,ofac,uk,un 缩小范围;每 6 小时更新)0.03
mica_token_statusGET /v1/eu/mica/token?token=EURCESMA 登记册中的 MiCA 电子货币代币状态0.01
mica_caspGET /v1/eu/mica/casp?name=Coinbase查询加密货币公司是否持有 MiCA CASP 授权0.01
fx_ecbGET /v1/fx/convert?from=USD&to=DKK&amount=250按 ECB 官方欧元参考汇率换算(约 30 种货币,支持历史日期)0.005
fx_dkkGET /v1/fx/dkk?currency=USD&amount=100Danmarks Nationalbank 官方 DKK 汇率0.005
eu_holidaysGET /v1/calendar/holidays?country=SE&year=2026公共假日,涵盖欧盟/欧洲经济区/北欧国家(以及瑞士和英国)0.005
eu_working_daysGET /v1/calendar/working-days?country=DK&from=2026-12-01&to=2026-12-31查询日期范围内的工作日,或计算指定日期加 N 个工作日0.005
dk_bank_daysGET /v1/dk/bank-days?date=2026-12-24&add=3丹麦银行工作日和付款截止日期0.005
dk_power_priceGET /v1/dk/power-price?area=DK2日前电力现货价格,间隔 15 分钟(DK1、DK2、NO2、SE3、SE4、DE-LU)0.005
dk_power_cheapest_windowGET /v1/dk/power-cheapest-window?area=DK1&hours=3运行负载(电动汽车充电、热泵、批处理作业)的最低价 N 小时时段,适用相同区域0.005
dk_co2GET /v1/dk/co2?area=DK2丹麦电力的 CO₂ 强度0.005
dk_addressGET /v1/dk/address?q=Rådhuspladsen 1, København丹麦地址验证和地理编码(丹麦官方地址登记册 DAR)0.005
dk_weatherGET /v1/dk/weather?lat=55.68&lon=12.57最近气象站的最新 DMI 天气观测数据0.005
dk_sea_levelGET /v1/dk/port-sea-level?port=Esbjerg丹麦港口的海平面和水温0.005
stablecoin_receiptGET /v1/accounting/stablecoin-receipt?token=USDC&amount=12.5&date=2026-10-27稳定币支付的 EUR/DKK 会计凭证数据0.01

暂时不可用: dk_company(/v1/dk/company)已从付费目录中下架,我们正在将其迁移到丹麦商业管理局的官方 CVR 数据源,因为此前上游数据源的条款不允许付费再利用。该路径会返回 503,且绝不会要求付款。对于丹麦增值税号/CVR 编号,eu_vat_check(VIES)仍会返回注册名称和地址。

来自 Atlas Data(第三方卖家)

这些端点由 Atlas Data 提供,它是 toll402 上首个外部卖家。toll402 会调用 Atlas Data 自有的 Apify actors(atlasdata/google-trends-scraper-reliable、atlasdata/indeed-jobs-scraper-reliable、atlasdata/facebook-ad-library-scraper-reliable、atlasdata/linkedin-ad-library-scraper-reliable、atlasdata/eu-tenders-ted-scraper-reliable、atlasdata/finland-ais-vessel-tracker-reliable、atlasdata/eudr-scope-risk-checker-reliable、atlasdata/cbam-cost-calculator-reliable),并返回干净的 JSON,其中 source 和 provider 均设为 Atlas Data。支付方式与其他端点相同,使用相同的支付通道和地址。

MCP 工具HTTP 端点返回内容价格(USD)
google_trendsGET /v1/trends/google?keywords=bitcoin,ethereum&geo=DK&timeRange=today%203-m1–5 个关键词的 Google Trends 数据:随时间变化的相对热度(0–100)、各地区热度、热门及热度上升的相关查询。可选参数:category、property(web/images/news/youtube/shopping)、compare、maxItems(每个列表 ≤20)0.03
indeed_jobsGET /v1/jobs/indeed?keywords=developer&location=København&country=dk&maxItems=20Indeed 实时职位列表(丹麦、瑞典、挪威及另外 57 个 Indeed 国家站点):职位名称、公司、地点、页面显示的薪资、职位类型、远程标记、发布日期、申请链接。最多 3 个关键词,maxItems ≤50;可选参数:radius、datePosted、jobType、remote、minSalary、sort、includeDescription0.02
meta_adsGET /v1/ads/meta?keywords=lego&country=DK&maxItems=10按关键词或广告主 pageIds 搜索 Meta(Facebook/Instagram)广告资料库,即 Meta 的公开广告透明度档案:广告主主页、广告文案、格式、落地页、平台、开始/结束日期、投放状态,以及 Meta 公布的支出/展示次数范围。最多 3 次搜索,maxItems ≤20;可选参数:activeStatus、adType、mediaType、platforms、languages、exactPhrase、dateFrom、dateTo、sort0.02
linkedin_adsGET /v1/ads/linkedin?advertiser=HubSpot&maxItems=10按 advertiser 或 keyword 搜索 LinkedIn 广告资料库,即 LinkedIn 的公开广告透明度档案:广告主、标题、广告文案、格式、落地页;设置 includeDetails=true 后,还会返回投放日期、展示次数范围和定向信息。可选参数:countries、dateRange 或 startDate/endDate、maxItems ≤20。**尽力而为:**LinkedIn 有时会阻止自动访问;运行失败时会在约 40 秒内返回 503,且不收费。若要获取更可靠的广告来源,请使用 meta_ads0.02
eu_tendersGET /v1/tenders/eu?keywords=software&countries=DK&onlyOpen=true&maxItems=10TED(Tenders Electronic Daily,TED 官方 Search API)中的欧盟公共采购公告:标题、买方、国家、CPV、程序、预估/授予金额、中标方、截止日期和 TED 链接,按最新优先排序。筛选条件:keywords(≤5)、countries(≤10)、cpvCodes(≤10)、noticeType、publishedSince(日期或例如 7 days;默认 30 天)、publishedUntil、onlyOpen、language、expertQuery(≤300 个字符)、maxItems ≤25(默认 10)。© European Union,https://ted.europa.eu0.03
maritime_vesselsGET /v1/maritime/vessels?lat=60.15&lon=24.95&radiusKm=20&maxItems=10实时 AIS 船舶位置,仅限波罗的海北部和芬兰(芬兰 AIS 基站,约 57–66°N、17–35°E;非全球 AIS):查询某地点附近的船舶(radiusKm ≤1000,圆形范围必须覆盖服务区域),或按 mmsi、imo、vesselName、shipCategories 查询;返回名称、IMO、类型、速度、航向、导航状态、目的地、预计到达时间、尺寸。maxItems ≤30。不可用于航行导航0.02
maritime_port_callsGET /v1/maritime/port-calls?ports=FIHEL&maxItems=10芬兰港口的进出港记录(Portnet):预计到港/已到港/已离港船舶及 ETA/ETD/ATA/ATD、泊位、船名/IMO/MMSI/旗国/类型、上一港/下一港。筛选条件:ports(芬兰 UN/LOCODE)、mmsi、imo、vesselName、from/to、status;maxItems ≤150.02
eudr_check`GET /v1/eu/eudr?codes=1801%2000%2000CI,4407%2011SE&companySize=large_or_medium`
cbam_calc`GET /v1/eu/cbam?lines=7208%2051%2020TR100
输入会在 402 步骤前严格校验。只接受列出的参数,关键词数量有限制,且 maxItems 会被限制在上限内。无效输入会返回 400,不会请求付款。完全没有参数的请求(目录探测)会正常返回 402;如果有人仍然付款,处理程序会返回 400,且不会结算付款。相同查询会缓存最长 6 小时(趋势、广告库)、24 小时(EUDR、CBAM)、1 小时(职位、TED 招标)、15 分钟(港口靠泊)或 3 分钟(船舶位置),响应中会包含 cached 和 fetched_at。如果上游运行失败(503,上游暂时不可用)或超时(504;约 40–55 秒),或者 Google Trends 没有数据(404),则不会结算付款:只有 2xx 响应才会结算。Google Trends 数值表示相对关注度,而非绝对搜索量。广告库结果仅包含公共广告库展示的内容;对于作为个人的 LinkedIn 广告主,不会提供个人资料 URL 和照片,也绝不会返回消息广告的发送者姓名。/v1/ads/linkedin 为尽力而为:LinkedIn 有时会阻止自动访问,因此运行可能失败(503)或超时(504);这两种情况均不会收费。

价格按成功调用计算:先验证付款,只有端点返回成功(2xx)响应后才会结算。在 Base 和 Polygon 上,每次调用的最低金额为 $0.01,因此价格为 $0.005 的工具在这两个网络上收费 $0.01;在 XRPL 和 Arc 上,这些工具收费 $0.005。实时目录(价格、输入架构、输出示例)始终可通过 /.well-known/x402 和 /openapi.json 查看。

付款网络

网络网络标识支付促进方
USDC、EURCBase (eip155:8453)PayAI
USDCPolygon (eip155:137)PayAI
USDCArc (eip155:5042)TRDEFI
XRPXRP Ledger (xrpl:0)t54
RLUSD(仅限非欧盟买家)XRP Ledger、Baset54、PayAI

RLUSD 仅面向欧盟以外的买家,因为它不是 MiCA 授权的电子货币代币。欧盟买家可使用 USDC、EURC 和 XRP。Solana USDC 计划推出。

在 Claude Desktop、Cursor 或 VS Code 中使用(MCP)

Cursor(~/.cursor/mcp.json)、VS Code 以及其他支持远程 MCP 服务的客户端:

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

通过 mcp-remote 桥接程序在 Claude Desktop(claude_desktop_config.json)中使用:

{
  "mcpServers": {
    "toll402": { "command": "npx", "args": ["-y", "mcp-remote", "https://toll402.io/mcp"] }
  }
}

tools/list 免费。工具调用会返回需要 x402 付款的错误,直到付款完成;因此,付费调用需要使用支持 x402 的 MCP 客户端,例如 @x402/mcp(示例如下)。

通过 HTTP 使用

curl -i "https://toll402.io/v1/eu/vat-rates?country=DE"
# HTTP/2 402
# PAYMENT-REQUIRED: <base64 JSON listing the accepted rails, amounts and payTo>
# body: {"x402Version":2,"error":"Payment required","resource":{...},"accepts":[...same requirements...]}
x402 客户端(TypeScript,@x402/fetch)
import { x402Client, wrapFetchWithPayment } from "@x402/fetch";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

// Use a dedicated agent wallet holding a small amount of USDC on Base
const client = new x402Client();
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.AGENT_KEY as `0x${string}`) });

const pay = wrapFetchWithPayment(fetch, client);
const res = await pay("https://toll402.io/v1/eu/vat-check?vat=DK10150817");
console.log(await res.json());
付费 MCP 调用(TypeScript,@x402/mcp)
import { createx402MCPClient } from "@x402/mcp";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(process.env.AGENT_KEY as `0x${string}`);
const mcp = createx402MCPClient({
  name: "my-agent", version: "1.0.0",
  schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(account) }],
  autoPayment: true,
});
await mcp.connect(new StreamableHTTPClientTransport(new URL("https://toll402.io/mcp")));
const r = await mcp.callTool("dk_bank_days", { date: "2026-12-24", add: "3" });
console.log(r.content[0].text);

可自托管与开发

生产环境运行在 Cloudflare Workers 上(src/worker.mjs,Hono + @x402/hono)。此外还有一个用于测试的本地 Express 网关(src/gateway.mjs)。

npm install
npm test                      # unit + integration tests
cp .env.example .env.testnet  # public receive addresses only, never keys
npm run gateway               # local gateway on testnets

要添加端点,请在 src/endpoints/ 中添加文件,并在 src/endpoints/index.mjs 中注册。随后,该端点会自动通过 HTTP 和 MCP 提供服务,并自动出现在清单和测试中。

数据来源

European Commission(VIES、EU VAT 税率、EU 制裁名单)、U.S. Treasury OFAC SDN 名单(公有领域;从 OFAC 获取;如果 Cloudflare 无法访问 OFAC 的服务器,则从 data.trade.gov 上 U.S. International Trade Administration Consolidated Screening List 的 SDN 条目获取,同样属于公有领域)、UK Sanctions List(FCDO;包含依据 Open Government Licence v3.0 授权的公共部门信息)、UN Security Council Consolidated List、Brønnøysund Register Centre(Enhetsregisteret,NLOD 2.0)、Finnish Patent and Registration Office / YTJ 开放数据(CC BY 4.0)、GLEIF Global LEI Index(CC0)、ESMA(MiCA 临时登记册)、European Central Bank、Danmarks Nationalbank、Energi Data Service(来源:Energinet,energidataservice.dk,CC BY 4.0;也用于 NO2/SE3/SE4/DE 电价)、DMI、Danish Address Register(DAR,© Klimadatastyrelsen,CC BY 4.0,通过 adressevaelger.dk)。Google Trends、Indeed、Meta Ad Library、LinkedIn Ad Library、TED 和 Digitraffic 数据均由 Atlas Data 收集;EUDR 和 CBAM 计算也由 Atlas Data 完成。EUDR/CBAM:© European Union,依据 Commission Decision 2011/833/EU 允许再利用;仅供参考,不构成法律或税务建议,也不具有法律约束力(只有 Official Journal 中的文本具有权威性)。TED 公告:© European Union,https://ted.europa.eu(依据 Commission Decision 2011/833/EU 允许再利用)。AIS 和港口停靠记录:来源:Fintraffic / digitraffic.fi,许可证 CC 4.0 BY。toll402 和 Atlas Data 与 Google、Indeed、Meta 或 LinkedIn 均无关联。toll402 与上述任何机构均无关联。请向一手来源核实具有法律约束力的信息。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。