EU Compliance Tools (pay-per-call, x402)
REMOTE · MCP.EUCOMPLIANCE.TOOLS · SCANNED AUG 3
Agent bookkeeping, sanctions, KYB, VAT and e-invoice checks - pay per call in USDC
Available components
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 →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 10 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability65
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 1438 tokens (~143/item across 10 items; 10 tools + 0 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 Management10
- Stability observed for 3 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage67
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 0% of tool parameters carry a description.Fail
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · mcp.eucompliance.tools
claude mcp add --transport http patrickpi1312-eu-compliance https://mcp.eucompliance.tools/mcp
[mcp_servers.patrickpi1312-eu-compliance] url = "https://mcp.eucompliance.tools/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"patrickpi1312-eu-compliance": {
"type": "remote",
"url": "https://mcp.eucompliance.tools/mcp",
"enabled": true
}
}
} openclaw mcp add patrickpi1312-eu-compliance --url https://mcp.eucompliance.tools/mcp --transport streamable-http
mcp_servers:
patrickpi1312-eu-compliance:
url: "https://mcp.eucompliance.tools/mcp" {
"mcpServers": {
"patrickpi1312-eu-compliance": {
"type": "http",
"url": "https://mcp.eucompliance.tools/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
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.
- 2 Aug 26 +1
- The server changed its declared name: eu-finance-tools → eucompliance-tools security
- 1 Aug 26 +1
- Tool “agent_spend_statement” rewrote its description, which is the text the model reads security
- Tool “check_counterparty_eu” rewrote its description, which is the text the model reads security
- Tool “eu_vat_rules” rewrote its description, which is the text the model reads security
- Tool “validate_einvoice_eu” rewrote its description, which is the text the model reads security
- Tool “lookup_company_eu” rewrote its description, which is the text the model reads security
- Schema quality: 1267 → 1438 ▼ functional
- Stability: unverified → 0.03 ▲ functional
- New tool “must_verify_before_pay” functional
- 31 Jul 26 57
First indexed and scored.
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 3 Aug 2026 · Probed https://mcp.eucompliance.tools/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=eucompliance.tools | CN=YE2,O=Let's Encrypt,C=US | 31 Jul 2026 | 29 Oct 2026 | ECDSA 256 | ECDSA-SHA384 | 5bf497255b72f3456c9c4f007612e8b86cb |
| SANs: api.eucompliance.tools, eucompliance.tools, mcp.eucompliance.tools, www.eucompliance.tools | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
DNSSEC insecure
Validation of mcp.eucompliance.tools. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| tools. | present | 13831 | 8 | Verified |
| eucompliance.tools. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
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 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.eucompliance.tools/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.eucompliance.tools/mcp | HTTPS enforced | 301 | https://mcp.eucompliance.tools/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.
agent_spend_statement ~138
Turn an AI agent's own crypto spending into a bookkeeping statement: reads every USDC payment of the wallet from Base, converts each to EUR at the ECB reference rate of the payment date, groups by payee, states the VAT treatment (reverse charge for services bought abroad, Art. 44/196 VAT Directive) and returns an auditable statement with CSV export and a signed receipt. Use it to make agent micro-payments bookable. Paid tool: $0.10 per statement via x402 (USDC on Base).
| Name | Type | Req | Description |
|---|---|---|---|
| days | integer | — | — |
| format | string | — | — |
| wallet | string | yes | — |
No output schema declared.
No examples provided.
check_counterparty_eu ~128
Counterparty due diligence (KYB) in one call: validates an EU VAT ID against the live VIES register, screens the name against the official EU consolidated sanctions list, checks the IBAN, and returns a traffic-light verdict (clear / review / blocked) with reasons and a recommendation. Use before onboarding a new supplier, customer or payee. Paid tool: $0.02 per check via x402 (USDC on Base).
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | — | — |
| iban | string | — | — |
| name | string | — | — |
| vat | string | — | — |
No output schema declared.
No examples provided.
eu_vat_rules ~157
EU VAT decision engine for invoices and e-invoicing (XRechnung, ZUGFeRD, Peppol BIS, OSS): given supplier country, customer country, B2B/B2C and goods/service it returns place of supply, whether to charge VAT, the rate, the EN 16931 VAT category code (BT-151), the exemption reason code (BT-121), ready-to-use invoice wording in English and German, and the legal article of the VAT Directive. Paid tool: $0.005 per call via x402 (USDC on Base).
| Name | Type | Req | Description |
|---|---|---|---|
| b2b | boolean | — | — |
| customer | string | yes | — |
| supplier | string | yes | — |
| type | string | — | — |
No output schema declared.
No examples provided.
lookup_company_eu ~129
Company register lookup straight from the official national registers: Norway (Brønnøysund), Czechia (ARES), Finland (PRH/YTJ), Slovakia (RPO), Poland (KRS). Returns name, registration number, status, legal form, address and registration date in one normalised shape, with a signed receipt. Search by name (not for PL) or by registration number. Paid tool: $0.01 per lookup via x402 (USDC on Base).
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | yes | — |
| id | string | — | — |
| name | string | — | — |
No output schema declared.
No examples provided.
must_verify_before_pay ~171
Payment gate for autonomous agents: decide whether a payment may go out. Screens the payee against EU/UN/UK sanctions lists, validates the VAT ID against VIES and checks the IBAN, then answers allow or deny with reasons. Deny is the default - a payment is released only when the check comes back clear. The answer carries a signed receipt, so the decision stays provable in an audit long afterwards; verify it offline with the free library `pip install eucompliance-verify`. Paid tool: $0.02 per decision.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | — | — |
| country | string | — | — |
| currency | string | — | — |
| payee_iban | string | — | — |
| payee_name | string | — | — |
| payee_vat | string | — | — |
No output schema declared.
No examples provided.
screen_sanctions_eu ~178
Sanctions screening (AML/KYC) against three official lists in one call: EU (European Commission FSF), UN Security Council, and UK (HM Treasury OFSI) - over 12,000 listed entities, 50,000 name variants, re-indexed daily. Fuzzy matching tolerates transliteration and spelling variants. Each hit states its list, programme, reference number, regulation, countries, birth dates and the list generation date, so the result is auditable; optional lists=eu,un,uk narrows the search. Result carries a signed, freely verifiable receipt. Paid tool: $0.05 per check via x402 (USDC on Base).
| Name | Type | Req | Description |
|---|---|---|---|
| country | string | — | — |
| lists | string | — | — |
| name | string | yes | — |
| threshold | number | — | — |
No output schema declared.
No examples provided.
validate_einvoice_eu ~129
Validate an electronic invoice against EN 16931 (XRechnung, ZUGFeRD/Factur-X, Peppol BIS, UBL or CII): detects syntax and profile, checks mandatory fields, the arithmetic consistency of all totals, the VAT breakdown and category rules (reverse charge, intra-Community supply, export). Every finding carries its official business-rule code (BR-..). The result comes with a signed, independently verifiable compliance receipt. Paid tool: $0.02 per invoice via x402 (USDC on Base).
| Name | Type | Req | Description |
|---|---|---|---|
| xml | string | yes | — |
No output schema declared.
No examples provided.
validate_iban ~35
FREE, no payment required: validate an IBAN (checksum and country structure, all countries).
| Name | Type | Req | Description |
|---|---|---|---|
| iban | string | yes | — |
No output schema declared.
No examples provided.
validate_vat ~76
FREE, no payment required: validate an EU VAT ID against the live EU VIES register and get the registered name and address where the member state publishes them. Free entry tool - the paid tools in this server add sanctions screening, counterparty due diligence, VAT rules and e-invoice validation.
| Name | Type | Req | Description |
|---|---|---|---|
| vat_id | string | yes | — |
No output schema declared.
No examples provided.
verify_compliance_receipt ~91
FREE, no payment required: verify a compliance receipt issued by eucompliance.tools. Pass the full JSON result (including its 'receipt' field) and get back whether the document is authentic, unmodified and still valid, plus the recovered signer address. Lets any third party - an auditor, another agent - check a compliance result without trusting or paying anyone.
| Name | Type | Req | Description |
|---|---|---|---|
| document_json | string | yes | — |
No output schema declared.
No examples provided.