eu-tools-mcp
eu-tools-mcp
Paid MCP tools for AI agents — pay per call in USDC on Base via the x402 protocol. No signup, no API key: your agent's wallet signs a payment, the tool answers.
Built with x402-mica: every paid call is logged with a MiCA-compliance flag to a public, live audit dashboard — see below.
Tools
Tool | Price | What it does |
| $0.005 | Checks an EU VAT number against the official VIES registry; returns validity + registered company name/address. |
| $0.001 | Official ECB euro reference rate (latest, or a business day within the last 90 days). |
Endpoint: https://eu-tools-mcp.fly.dev/mcp (MCP Streamable HTTP, stateless)
Call it from an agent
Your MCP client needs x402 payment support and a funded wallet (USDC on Base, a plain EOA — smart-wallet/EIP-7702 signers are not supported by USDC's transfer authorization):
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js";
import { wrapMCPClientWithPayment, x402Client } from "@x402/mcp";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.WALLET_KEY);
const mcp = wrapMCPClientWithPayment(
new Client({ name: "my-agent", version: "1.0.0" }),
new x402Client().register("eip155:*", new ExactEvmScheme(account)),
{ autoPayment: true },
);
await mcp.connect(new StreamableHTTPClientTransport(new URL("https://eu-tools-mcp.fly.dev/mcp")));
const res = await mcp.callTool("validate_vat", { country: "IE", vat_number: "6388047V" });Tool listing (tools/list) is free — only calls are paid.
Live audit dashboard
Every paid call lands in a public, read-only MiCA audit trail (timestamp,
asset, amount, payer, on-chain tx, mica_compliant flag):
https://eu-tools-mcp.fly.dev/audit?key=demo-c43d89b159ec2227
CSV/JSON export: append &format=csv or &format=json.
Notes
Payment settles before the tool runs (that's x402); if VIES has a member-state outage you get a structured error for that call, not a refund. That's why the price is half a cent.
Non-custodial: funds go payer wallet → seller wallet; this server never holds money.
Run your own
cp .env.example .env, set PAY_TO, npm install && npm run dev — then
read the x402-mica docs for mainnet
(CDP facilitator keys) and dashboard options.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/iCx6/eu-tools-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server