Agent Decision & Evidence Tools (MCP + x402)
by PatrickPi1312 · remote · no sign-in to list tools · v1.6.0 · published by GitHub user PatrickPi1312
40 MCP tools: multi-chain RPC, market and transaction decisions, AI, EU compliance and US imports
41 tools: 5 do something that can't be undone, 21 change things and 15 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone5Claude Code: ask: see these tools
- Changes things21Claude Code: ask: see these tools
- Only reads15Claude Code: allow: see these tools
15 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http eu-compliance https://mcp.eucompliance.tools/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnagentllm_micro
The server marks "agentllm_micro" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "open": a word for a change.
- Warnagentllm_basic
The server marks "agentllm_basic" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "open": a word for a change.
- Warnagentllm_plus
The server marks "agentllm_plus" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "open": a word for a change.
The server marks "prepare_invoice_to_pay_eu" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "prepare_invoice_to_pay_eu" says "pay": a word that usually means money moves, which cannot be taken back.
The server marks "invoice_to_pay_dossier_eu" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "invoice_to_pay_dossier_eu" says "pay": a word that usually means money moves, which cannot be taken back.
The server marks "prepare_us_import_readiness" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "prepare_us_import_readiness" says "import": a word for a change.
Show 9 more findingsShow fewer
The server marks "us_import_readiness_guard" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "us_import_readiness_guard" says "import": a word for a change.
The server marks "recover_us_import_readiness" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "recover_us_import_readiness" says "import": a word for a change.
The server marks "must_verify_before_pay" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "must_verify_before_pay" says "pay": a word that usually means money moves, which cannot be taken back.
The server marks "agent_spend_statement" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "create": a word for a change.
- Warnrpc_read_batch
The server marks "rpc_read_batch" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "rpc_read_batch" says "read": a word for reading.
The server marks "open_social_search" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "open_social_search" says "open": a word for a change.
The server marks "ai_act_disclosure" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "create": a word for a change.
The server marks "prepare_x402_purchase_guard" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "prepare_x402_purchase_guard" says "purchase": a word that usually means money moves, which cannot be taken back.
The server marks "x402_purchase_guard" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "x402_purchase_guard" says "purchase": a word that usually means money moves, which cannot be taken back.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
41 tools
Can't be undone 5Claude Code: ask
invoice_to_pay_dossier_euOne signed decision before an EU invoice is paid: READY_FOR_BUYER_APPROVAL, HOLD_FOR_REVIEW or DO_NOT_PAY with evidence and safe next actions.Reads text others write1 finding
Why it is in this group
- The name "invoice_to_pay_dossier_eu" says "pay": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "invoice_to_pay_dossier_eu" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "invoice_to_pay_dossier_eu" says "pay": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it One signed decision before an EU invoice is paid: READY_FOR_BUYER_APPROVAL, HOLD_FOR_REVIEW or DO_NOT_PAY with evidence and safe next actions. Accepts UBL/CII XML or ZUGFeRD/Factur-X with one embedded invoice XML, not ordinary/scanned PDFs. Complete EN 16931 validation, live VIES, EU/UN/UK sanctions, VAT treatment and a buyer-trusted IBAN match. READY_FOR_BUYER_APPROVAL does not prove delivery, internal approval, duplicate-ledger status or bank-account ownership. Free input check first; 1.00 USDC per completed dossier, no subscription or paid follow-up.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: EU Invoice Payment Guard
must_verify_before_payReturn allow or deny before an agent pays a counterparty, using sanctions screening, live VIES validation and IBAN structure evidence.Reads text others write1 finding
Why it is in this group
- The name "must_verify_before_pay" says "pay": a word that usually means money moves, which cannot be taken back.
- The input carries an amount (input.amount) and a currency, so it moves money.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "must_verify_before_pay" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "must_verify_before_pay" says "pay": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Return allow or deny before an agent pays a counterparty, using sanctions screening, live VIES validation and IBAN structure evidence. Deny is the default and the decision carries a signed receipt.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: Autonomous payment gate
prepare_invoice_to_pay_euFREE local input and safety check before purchase.Reads text others write1 finding
Why it is in this group
- The name "prepare_invoice_to_pay_eu" says "pay": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "prepare_invoice_to_pay_eu" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "prepare_invoice_to_pay_eu" says "pay": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it FREE local input and safety check before purchase. Accepts UBL/CII XML or a base64 ZUGFeRD/Factur-X PDF with exactly one embedded invoice XML plus buyer country, expected amount/currency and a trusted payee IBAN. It checks format, limits and required context, but does not reveal the paid decision or query VIES/sanctions. Subject to daily abuse protection.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Prepare EU Invoice Payment Guard (free)
prepare_x402_purchase_guardFREE strict syntax and supported-v2-shape check for a raw base64/base64url PAYMENT-REQUIRED header.Reads text others write1 finding
Why it is in this group
- The name "prepare_x402_purchase_guard" says "purchase": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "prepare_x402_purchase_guard" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "prepare_x402_purchase_guard" says "purchase": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it FREE strict syntax and supported-v2-shape check for a raw base64/base64url PAYMENT-REQUIRED header. Returns a canonical challenge fingerprint and the policy fields required by the paid guard, without revealing the paid decision, contacting the target, reading a wallet or attempting payment.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Prepare x402 Purchase Guard (free)
x402_purchase_guardCompare an already received canonical x402 v2 challenge with the buyer's exact resource, method, USDC price limit, network policy, trusted recipient and EVM/Solana signing-mechanis…Reads text others write1 finding
Why it is in this group
- The name "x402_purchase_guard" says "purchase": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "x402_purchase_guard" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "x402_purchase_guard" says "purchase": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Compare an already received canonical x402 v2 challenge with the buyer's exact resource, method, USDC price limit, network policy, trusted recipient and EVM/Solana signing-mechanism fields. Returns PROCEED_TO_USER_CONFIRMATION, REVIEW_REQUIRED or REJECT_CHALLENGE with normalized evidence and a signed fingerprint. A positive result requires confirmation, pins one exact option and expires after 10 minutes. Never contacts the target, accesses a wallet, signs or submits the target payment; merchant identity, delivery and target request-body binding are outside scope.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: x402 Purchase Guard
Changes things 21Claude Code: ask
agent_spend_statementCreate a complete Base USDC outflow and transfer record for an agent wallet: every observed transfer, recipient, transaction reference and dated ECB EUR conversion, available as JS…Reads text others write1 finding
Why it is in this group
- The description's first verb is "create": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "agent_spend_statement" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "create": a word for a change.
Description, as the server wrote it Create a complete Base USDC outflow and transfer record for an agent wallet: every observed transfer, recipient, transaction reference and dated ECB EUR conversion, available as JSON or CSV. Transfers remain explicitly unclassified until invoice, supplier identity and supply type are linked; this tool does not assign VAT, reverse-charge or deductible-expense treatment by itself.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: Agent spend transfer evidence
agentllm_basicOpenAI-compatible general chat and summaries for exactly 0.005 USDC per call.Reads text others write1 finding
Why it is in this group
- The description's first verb is "open": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "agentllm_basic" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "open": a word for a change.
Description, as the server wrote it OpenAI-compatible general chat and summaries for exactly 0.005 USDC per call. Run prepare_agentllm with tier basic first. Hard limits are 6,000 UTF-8 input bytes, 16 messages and 750 output tokens; upstream model and usage are disclosed and the result includes a signed receipt.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: AgentLLM Basic inference
agentllm_microOpenAI-compatible classification, extraction, routing and short summaries for exactly 0.003 USDC per call.Reads text others write1 finding
Why it is in this group
- The description's first verb is "open": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "agentllm_micro" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "open": a word for a change.
Description, as the server wrote it OpenAI-compatible classification, extraction, routing and short summaries for exactly 0.003 USDC per call. Validate the exact JSON for free first; no account or API key.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: AgentLLM Micro inference
agentllm_plusOpenAI-compatible stronger drafting, analysis and longer summaries for exactly 0.02 USDC per call.Reads text others write1 finding
Why it is in this group
- The description's first verb is "open": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "agentllm_plus" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "open": a word for a change.
Description, as the server wrote it OpenAI-compatible stronger drafting, analysis and longer summaries for exactly 0.02 USDC per call. Run prepare_agentllm with tier plus first. Hard limits are 6,000 UTF-8 input bytes, 16 messages and 1,200 output tokens; upstream model and usage are disclosed and the result includes a signed receipt.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: AgentLLM Plus inference
ai_act_disclosureCreate a signed Article 50 provenance record and German/English disclosure for AI-generated content, including a privacy-first hash-only path.Reads text others write1 finding
Why it is in this group
- The description's first verb is "create": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "ai_act_disclosure" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The description's first verb is "create": a word for a change.
Description, as the server wrote it Create a signed Article 50 provenance record and German/English disclosure for AI-generated content, including a privacy-first hash-only path. This attests declared origin; it does not detect AI in arbitrary content.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: EU AI Act disclosure evidence
check_counterparty_euVAT ID validation (VIES) plus sanctions screening plus IBAN check in one call, condensed into a traffic-light verdict with reasons and a recommendation.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it VAT ID validation (VIES) plus sanctions screening plus IBAN check in one call, condensed into a traffic-light verdict with reasons and a recommendation.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: Counterparty due diligence (KYB)
coin_positioning_briefCalculate a disclosed crowded-long/short score from current Hyperliquid funding and premium.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Calculate a disclosed crowded-long/short score from current Hyperliquid funding and premium. The response also includes an at-least-two-exchange spot median, open interest, volume and the service's six-hour archive trend as separate context; a still-filling archive is labelled and does not enter this score.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: Signed coin-positioning brief
counterparty_dossier_euProfessional procurement and onboarding dossier: live VIES identity, EU/UN/UK sanctions-name screening, IBAN validation, cross-source legal-name consistency and an official nationa…Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Professional procurement and onboarding dossier: live VIES identity, EU/UN/UK sanctions-name screening, IBAN validation, cross-source legal-name consistency and an official national company-register extract where an open API exists. Returns one APPROVE, REVIEW or BLOCK decision, exact coverage and limitations, a source manifest, 24-hour recheck time and a signed audit receipt. Critical evidence failures are uncharged.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: EU Counterparty Dossier Pro
eu_vat_rulesPlace of supply, reverse charge, intra-Community supply or export, the rate, plus the EN 16931 VAT category code (BT-151), exemption reason code (BT-121) and invoice wording.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Place of supply, reverse charge, intra-Community supply or export, the rate, plus the EN 16931 VAT category code (BT-151), exemption reason code (BT-121) and invoice wording. Supplier/customer jurisdictions are always required; customer VAT validity, transaction type and OSS-threshold evidence are conditionally required when the selected VAT rule depends on them. Missing evidence is reported, not inferred.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: EU VAT decision engine
open_social_searchSearch Bluesky and Hacker News for every query; for a single public tag, additionally search Mastodon's anonymous tag timeline.Reads text others write1 finding
Why it is in this group
- The name "open_social_search" says "open": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "open_social_search" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "open_social_search" says "open": a word for a change.
Description, as the server wrote it Search Bluesky and Hacker News for every query; for a single public tag, additionally search Mastodon's anonymous tag timeline. Mastodon is not applicable to phrase search. Results are delivered only when every source promised for that query answers; a source failure is an uncharged error, never a partial paid result. Twitter/X and TikTok are deliberately excluded.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: Open-network social search
prepare_agentllmFREE deterministic validation and exact-price routing for all AgentLLM tiers.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it FREE deterministic validation and exact-price routing for all AgentLLM tiers. Choose Micro for classification, extraction and short summaries, Basic for general chat, or Plus for stronger drafting, analysis and longer summaries. It validates the exact arguments without calling a model or charging; continue only when ready_to_buy is true.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Choose and prepare AgentLLM tier (free)
prepare_agentllm_microFREE validation of the exact AgentLLM prompt, system instruction and token limit before purchase.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it FREE validation of the exact AgentLLM prompt, system instruction and token limit before purchase. It enforces the input and output limits without calling a model or charging anything.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Prepare AgentLLM Micro (free)
prepare_us_import_readinessFREE local completeness and safety check for ordinary goods dispatched from DE/AT to the US.Reads text others write1 finding
Why it is in this group
- The name "prepare_us_import_readiness" says "import": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "prepare_us_import_readiness" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "prepare_us_import_readiness" says "import": a word for a change.
Description, as the server wrote it FREE local completeness and safety check for ordinary goods dispatched from DE/AT to the US. Requires product, material, intended-use, origin, value and explicit regulated-attribute answers. No product URL is accepted or fetched. Returns an opaque job ID and recovery secret for the paid guard.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Prepare US Import Readiness Guard (free)
recommend_agent_toolFREE deterministic router over the published Agent Card.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it FREE deterministic router over the published Agent Card. Describe the job and optional category, country, chain, price cap and available input names; receive one to three matching tools with exact catalog prices, required inputs and a safe workflow. It performs no model call, network lookup, payment or target-tool execution and never returns supplied secret values.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Recommend the right agent tool (free)
recover_us_import_readinessFREE recovery when an x402 settlement succeeded but the signed response was lost.Reads text others write1 finding
Why it is in this group
- The name "recover_us_import_readiness" says "import": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "recover_us_import_readiness" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "recover_us_import_readiness" says "import": a word for a change.
Description, as the server wrote it FREE recovery when an x402 settlement succeeded but the signed response was lost. Returns only the already-settled result for the opaque job ID and recovery secret; it never performs a new lookup or creates a new charge.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Recover a settled US Import Readiness result (free)
rpc_read_batchRun 1-20 standard read-only JSON-RPC requests as one paid call across 28 EVM mainnets.Reads text others write1 finding
Why it is in this group
- The name "rpc_read_batch" says "read": a word for reading.
- The description's first verb is "run": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "rpc_read_batch" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "rpc_read_batch" says "read": a word for reading.
Description, as the server wrote it Run 1-20 standard read-only JSON-RPC requests as one paid call across 28 EVM mainnets. Set one default chain for the batch or override it with an optional chain field on each request. Includes public-node failover, decoded Error/Panic reverts and source evidence; signing, state-changing convenience methods and transaction broadcasting are unavailable.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: 28-chain read-only RPC batch
screen_sanctions_euCheck a person or company against the official EU (Commission FSF), UN Security Council and UK (HM Treasury OFSI) sanctions lists.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Check a person or company against the official EU (Commission FSF), UN Security Council and UK (HM Treasury OFSI) sanctions lists. 12,000+ listed entities, 50,000+ name variants, re-indexed daily, fuzzy matching. Each hit states its list, programme, reference and the list date.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: Sanctions screening (EU, UN, UK)
soft_commodity_stressCalculate a disclosed weather-only supply-stress score from Brazilian growing-belt rainfall and dry days.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Calculate a disclosed weather-only supply-stress score from Brazilian growing-belt rainfall and dry days. A paid result also includes at least one usable Ivory Coast cocoa-or-coffee farmgate-price observation from a distinct source as context; availability of both commodities is not guaranteed. This has its own wrapper because its upstream cost is higher.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: Soft-commodity supply-stress evidence
spot_priceAttempt independent Binance, Coinbase and Kraken public tickers and calculate the median from the live quotes that return.Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Attempt independent Binance, Coinbase and Kraken public tickers and calculate the median from the live quotes that return. Every delivered quote, quote currency, spread and timestamp is disclosed; fewer than two live sources is an uncharged error.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: Multi-source crypto spot median
us_import_readiness_guardSigned pre-purchase evidence dossier for ordinary goods dispatched from Germany or Austria to the United States.Reads text others write1 finding
Why it is in this group
- The name "us_import_readiness_guard" says "import": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Findings
- Warn
The server marks "us_import_readiness_guard" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":false,"openWorldHint":true}; The name "us_import_readiness_guard" says "import": a word for a change.
Description, as the server wrote it Signed pre-purchase evidence dossier for ordinary goods dispatched from Germany or Austria to the United States. Validates a buyer-declared HTS code or returns non-binding current USITC candidates, calculates only a simple ordinary-duty component, checks CPSC recall candidates and routes declared regulated attributes. Returns PROCEED_TO_CARRIER_QUOTE, REVIEW_REQUIRED or DO_NOT_FORWARD. It never fetches a product URL, orders, creates an address, books shipping or claims exact landed cost, carrier acceptance or customs clearance. Free input check first; source/input failures are not settled.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: US Import Readiness Guard
verify_compliance_receiptAnyone can verify issuer authenticity, integrity and the signed validity window of a eucompliance.tools result locally without payment or network access; this does not validate the…Reads text others writeNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Anyone can verify issuer authenticity, integrity and the signed validity window of a eucompliance.tools result locally without payment or network access; this does not validate the underlying facts.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: Verify a compliance receipt (free)
Only reads 15Claude Code: allow, ask for 1 outbound
contract_infoInspect live runtime bytecode, native balance, transaction count and observed block, returning deployed_contract, eoa_or_empty or precompile_or_system_address without claiming wall…Reads text others writeNo findings
Why it is in this group
- The description's first verb is "inspect": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Inspect live runtime bytecode, native balance, transaction count and observed block, returning deployed_contract, eoa_or_empty or precompile_or_system_address without claiming wallet ownership.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: Contract or wallet classification
gas_estimateReturn the current gas price and, when transaction fields are supplied, eth_estimateGas plus an execution-fee estimate with excluded rollup components stated explicitly.Reads text others writeNo findings
Why it is in this group
- The description's first verb is "return": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Return the current gas price and, when transaction fields are supplied, eth_estimateGas plus an execution-fee estimate with excluded rollup components stated explicitly.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: Gas and execution-fee estimate
lookup_company_euLive extract from official national registers in France, Norway, Czechia, Finland, Slovakia and Poland: name, registration number, status, legal form, address and registration date…Reads text others writeNo findings
Why it is in this group
- The name "lookup_company_eu" says "lookup": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Live extract from official national registers in France, Norway, Czechia, Finland, Slovakia and Poland: name, registration number, status, legal form, address and registration date. Germany and Austria are not covered because their registers are not available here as an equivalent open lookup.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: Company register lookup
market_dataReturn one computed market_brief, Base gas or yield indicator with source coverage, freshness, a stable repeat URL and a do-not-repurchase-before time.Reads text others writeNo findings
Why it is in this group
- The description's first verb is "return": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe description's first sentence says "return" and "url": it reads web pages, which anyone can write.
Description, as the server wrote it Return one computed market_brief, Base gas or yield indicator with source coverage, freshness, a stable repeat URL and a do-not-repurchase-before time. Soft commodities use soft_commodity_stress.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: Fresh market indicators
market_decision_packReturn ENTER_RISK, WAIT or REDUCE_RISK with score, evidence-coverage confidence, reasons, risk flags, invalidation conditions and a 15-minute expiry.Reads text others writeNo findings
Why it is in this group
- The description's first verb is "return": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Return ENTER_RISK, WAIT or REDUCE_RISK with score, evidence-coverage confidence, reasons, risk flags, invalidation conditions and a 15-minute expiry. One call combines regime, gas, APY, BTC/ETH/SOL spot, top perps and seven-day history.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: Complete market decision pack
market_historyReturn the service's own archived gas, yield, commodity or market-brief series as raw observations or daily medians.Reads text others writeNo findings
Why it is in this group
- The description's first verb is "return": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Return the service's own archived gas, yield, commodity or market-brief series as raw observations or daily medians. At least two usable points must remain after the requested resolution; an empty, one-point or incompletely readable archive returns an uncharged error and is never sold as a time series.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: Archived market history
perp_market_dataReturn Hyperliquid mark and oracle prices, funding, open interest, 24-hour volume, premium and maximum leverage for one coin or the top markets by volume, with source and timestamp…Reads text others writeNo findings
Why it is in this group
- The description's first verb is "return": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Return Hyperliquid mark and oracle prices, funding, open interest, 24-hour volume, premium and maximum leverage for one coin or the top markets by volume, with source and timestamp.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: Perpetual-futures positioning data
read_urlFetch a public web page as clean Markdown or text while refusing internal and private addresses, suitable for reading evidence before an agent acts on a link.Reads text others writeCan send data outNo findings
Why it is in this group
- The name "read_url" says "read": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
- untrusted-inputThe name "read_url" says "read" and "url": it reads web pages, which anyone can write.
- untrusted-inputThe description's first sentence says "fetch" and "web": it reads web pages, which anyone can write.
- untrusted-inputThe input takes a URL (input.url), and the tool reads it: it reads web pages, which anyone can write.
- outboundThe input takes a URL (input.url): a request to a URL can carry data to whoever runs it.
Claude Code: ask, because it is tagged outbound.
Description, as the server wrote it Fetch a public web page as clean Markdown or text while refusing internal and private addresses, suitable for reading evidence before an agent acts on a link.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: Safe page reader
token_statusReturn an owner's token balance and optional spender allowance, including whether both satisfy a requested amount, across five EVM chains.Reads text others writeNo findings
Why it is in this group
- The name "token_status" says "status": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Return an owner's token balance and optional spender allowance, including whether both satisfy a requested amount, across five EVM chains.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: ERC-20 balance and allowance evidence
tx_preflightRead-only decision analysis before signing with five on-chain core checks: native balance/gas price, transaction-specific gas estimate, simulation with decoded revert reason, pendi…Reads text others writeNo findings
Why it is in this group
- The description's first verb is "read": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Read-only decision analysis before signing with five on-chain core checks: native balance/gas price, transaction-specific gas estimate, simulation with decoded revert reason, pending nonce gap and recipient bytecode/type. Token inputs add an optional ERC-20 balance and allowance check. Returns proceed, review or block with evidence, unknowns, limitations and safe next actions. Wallet sanctions screening is not included because official name lists cannot clear or identify a blockchain address. Missing evidence is never approval; there are no follow-up charges.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: Agent Transaction Guard
tx_statusReturn mined or pending status, success or decoded revert reason, gas used, block and confirmations for a transaction on Base, Ethereum, Arbitrum, Optimism or Polygon.Reads text others writeNo findings
Why it is in this group
- The name "tx_status" says "status": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Return mined or pending status, success or decoded revert reason, gas used, block and confirmations for a transaction on Base, Ethereum, Arbitrum, Optimism or Polygon.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: Transaction status and revert evidence
validate_einvoice_euValidate an XRechnung, ZUGFeRD/Factur-X or Peppol BIS invoice (UBL or CII) against EN 16931: mandatory fields, arithmetic consistency of all totals, VAT breakdown and category rule…Reads text others writeNo findings
Why it is in this group
- The name "validate_einvoice_eu" says "validate": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Validate an XRechnung, ZUGFeRD/Factur-X or Peppol BIS invoice (UBL or CII) against EN 16931: mandatory fields, arithmetic consistency of all totals, VAT breakdown and category rules, each finding with its official BR- rule code.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: E-invoice validation
validate_ibanFREE IBAN checksum and country-structure validation with BIC and bank-name enrichment where registry data exists.Reads text others writeNo findings
Why it is in this group
- The name "validate_iban" says "validate": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it FREE IBAN checksum and country-structure validation with BIC and bank-name enrichment where registry data exists. It does not prove account existence or ownership.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: IBAN structure check (free)
validate_vatFREE live validation of an EU VAT ID against VIES, including the registered name and address when the member state publishes them.Reads text others writeNo findings
Why it is in this group
- The name "validate_vat" says "validate": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it FREE live validation of an EU VAT ID against VIES, including the registered name and address when the member state publishes them. Use this as the no-cost entry point before paid VAT, counterparty or invoice decisions.
Annotations the server declares
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
- readOnlyHint: true
- title: EU VAT identity check (free)
wallet_balanceReturn a live native balance, exact wei, pending nonce, observed block and RPC-source evidence for a wallet on Base, Ethereum, Arbitrum, Optimism or Polygon.Reads text others writeNo findings
Why it is in this group
- The description's first verb is "return": a word for reading.
What it can reach
- untrusted-inputThe server marks it openWorldHint: true: it reaches things outside the server's own data.
Description, as the server wrote it Return a live native balance, exact wei, pending nonce, observed block and RPC-source evidence for a wallet on Base, Ethereum, Arbitrum, Optimism or Polygon.
Annotations the server declares
- destructiveHint: false
- idempotentHint: false
- openWorldHint: true
- readOnlyHint: true
- title: Wallet execution evidence
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Exfil surface
Which tools read private data, which read text someone else can write, and which can send data out. One of each is a path a prompt injection can use.
No private-data, untrusted-input, outbound path in this server alone: no tool is tagged private-data.
- Reads private data0
- Reads files, mail, messages, databases, secrets, calendars or repositories.
- Reads text others write41
- Brings in text someone else can write: web pages, inbound email, messages, issues and comments.
- Can send data out1
- Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL.
Other servers in the same agent add their own tools to these paths. Audit your whole setup to see them together.
Install
Pinned to version 1.6.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http eu-compliance https://mcp.eucompliance.tools/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change or a way out, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__eu-compliance__validate_vat",
"mcp__eu-compliance__validate_iban",
"mcp__eu-compliance__validate_einvoice_eu",
"mcp__eu-compliance__lookup_company_eu",
"mcp__eu-compliance__wallet_balance",
"mcp__eu-compliance__gas_estimate",
"mcp__eu-compliance__contract_info",
"mcp__eu-compliance__perp_market_data",
"mcp__eu-compliance__market_decision_pack",
"mcp__eu-compliance__market_data",
"mcp__eu-compliance__market_history",
"mcp__eu-compliance__tx_preflight",
"mcp__eu-compliance__tx_status",
"mcp__eu-compliance__token_status"
],
"ask": [
"mcp__eu-compliance__recommend_agent_tool",
"mcp__eu-compliance__prepare_agentllm",
"mcp__eu-compliance__prepare_agentllm_micro",
"mcp__eu-compliance__agentllm_micro",
"mcp__eu-compliance__agentllm_basic",
"mcp__eu-compliance__agentllm_plus",
"mcp__eu-compliance__prepare_invoice_to_pay_eu",
"mcp__eu-compliance__invoice_to_pay_dossier_eu",
"mcp__eu-compliance__prepare_us_import_readiness",
"mcp__eu-compliance__us_import_readiness_guard",
"mcp__eu-compliance__recover_us_import_readiness",
"mcp__eu-compliance__screen_sanctions_eu",
"mcp__eu-compliance__eu_vat_rules",
"mcp__eu-compliance__check_counterparty_eu",
"mcp__eu-compliance__counterparty_dossier_eu",
"mcp__eu-compliance__verify_compliance_receipt",
"mcp__eu-compliance__must_verify_before_pay",
"mcp__eu-compliance__agent_spend_statement",
"mcp__eu-compliance__rpc_read_batch",
"mcp__eu-compliance__spot_price",
"mcp__eu-compliance__open_social_search",
"mcp__eu-compliance__coin_positioning_brief",
"mcp__eu-compliance__soft_commodity_stress",
"mcp__eu-compliance__ai_act_disclosure",
"mcp__eu-compliance__prepare_x402_purchase_guard",
"mcp__eu-compliance__x402_purchase_guard",
"mcp__eu-compliance__read_url"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. A read that can send data out (it takes a URL, say) asks first too. It assumes the server is installed as eu-compliance. Review it before you use it.
Capability tags behind 41 rules
- mcp__eu-compliance__validate_vat untrusted-input
- mcp__eu-compliance__validate_iban untrusted-input
- mcp__eu-compliance__recommend_agent_tool untrusted-input
- mcp__eu-compliance__prepare_agentllm untrusted-input
- mcp__eu-compliance__prepare_agentllm_micro untrusted-input
- mcp__eu-compliance__agentllm_micro untrusted-input
- mcp__eu-compliance__agentllm_basic untrusted-input
- mcp__eu-compliance__agentllm_plus untrusted-input
- mcp__eu-compliance__prepare_invoice_to_pay_eu untrusted-input
- mcp__eu-compliance__invoice_to_pay_dossier_eu untrusted-input
- mcp__eu-compliance__prepare_us_import_readiness untrusted-input
- mcp__eu-compliance__us_import_readiness_guard untrusted-input
- mcp__eu-compliance__recover_us_import_readiness untrusted-input
- mcp__eu-compliance__screen_sanctions_eu untrusted-input
- mcp__eu-compliance__eu_vat_rules untrusted-input
- mcp__eu-compliance__check_counterparty_eu untrusted-input
- mcp__eu-compliance__counterparty_dossier_eu untrusted-input
- mcp__eu-compliance__validate_einvoice_eu untrusted-input
- mcp__eu-compliance__verify_compliance_receipt untrusted-input
- mcp__eu-compliance__must_verify_before_pay untrusted-input
- mcp__eu-compliance__lookup_company_eu untrusted-input
- mcp__eu-compliance__agent_spend_statement untrusted-input
- mcp__eu-compliance__rpc_read_batch untrusted-input
- mcp__eu-compliance__wallet_balance untrusted-input
- mcp__eu-compliance__gas_estimate untrusted-input
- mcp__eu-compliance__contract_info untrusted-input
- mcp__eu-compliance__spot_price untrusted-input
- mcp__eu-compliance__open_social_search untrusted-input
- mcp__eu-compliance__perp_market_data untrusted-input
- mcp__eu-compliance__coin_positioning_brief untrusted-input
- mcp__eu-compliance__market_decision_pack untrusted-input
- mcp__eu-compliance__soft_commodity_stress untrusted-input
- mcp__eu-compliance__market_data untrusted-input
- mcp__eu-compliance__market_history untrusted-input
- mcp__eu-compliance__ai_act_disclosure untrusted-input
- mcp__eu-compliance__prepare_x402_purchase_guard untrusted-input
- mcp__eu-compliance__x402_purchase_guard untrusted-input
- mcp__eu-compliance__tx_preflight untrusted-input
- mcp__eu-compliance__tx_status untrusted-input
- mcp__eu-compliance__token_status untrusted-input
- mcp__eu-compliance__read_url untrusted-input, outbound
