Skip to main content
Glama

EU Compliance Tools (pay-per-call, x402)

Server Details

Agent bookkeeping, sanctions, KYB, VAT and e-invoice checks - pay per call in USDC

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
PatrickPi1312/eucompliance-tools
GitHub Stars
0
Server Listing
EU Compliance Tools MCP Server

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.1/5 across 10 of 10 tools scored.

Server CoherenceA
Disambiguation3/5

Tools overlap in underlying checks: check_counterparty_eu, must_verify_before_pay, screen_sanctions_eu, and validate_vat all perform sanctions or VAT validation, but their distinct purposes (KYB, payment authorization, pure sanctions screening, pure VAT validation) are clarified by descriptions. Some ambiguity remains, especially between check_counterparty_eu and must_verify_before_pay.

Naming Consistency3/5

Most tools follow a verb_noun pattern (e.g., check_counterparty_eu, validate_einvoice_eu), but some deviate: eu_vat_rules and agent_spend_statement are noun phrases, and must_verify_before_pay is an imperative sentence. This mixed style makes the set slightly less predictable.

Tool Count5/5

With 10 tools, the server is well-scoped for its domain. Each tool addresses a distinct compliance need (VAT, sanctions, e-invoice, company lookup, payment gating) without excessive bloat or thin coverage.

Completeness4/5

The tool set covers the main compliance workflows: identity checks, sanctions screening, VAT validation and rules, e-invoice validation, and spend accounting. Minor gaps exist, such as lack of direct currency conversion (only embedded in agent_spend_statement) and no tool for generating e-invoices, but these are not critical for the stated purpose.

Available Tools

10 tools
agent_spend_statementAInspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
daysNo
formatNojson
walletYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full weight. It discloses several behavioral traits: reads all USDC payments from Base, uses ECB reference rates, applies VAT rules (reverse charge, Art. 44/196), and returns a signed receipt. It also discloses the cost via x402, which is important for an agent. Missing details like rate limits or failure behavior, but substantive transparency is present.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is packed with useful information in three sentences. The first sentence is long but front-loaded with the core purpose and key details. No redundant or filler content; every sentence contributes unique value (purpose, use case, cost).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and no annotations, the description covers the main return values (auditable statement, CSV export, signed receipt) and the processing pipeline. It also mentions the VAT treatment specifics. It lacks prerequisites (e.g., wallet must have USDC on Base, x402 payment needs) and error/edge cases, but the core functionality is well described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains the 'wallet' parameter as the AI agent's own wallet ('reads every USDC payment of the wallet from Base'). It does not explain 'days' or 'format', though these are somewhat self-explanatory from their names and defaults. The mention of CSV export hints at format but does not explicitly map it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Turn an AI agent's own crypto spending into a bookkeeping statement' and details the process (reads USDC payments from Base, converts to EUR, groups by payee, states VAT treatment, returns auditable statement). This distinguishes it from sibling validation tools like validate_vat or screen_sanctions_eu.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear use case: 'Use it to make agent micro-payments bookable.' It also mentions the cost structure, implying when it's appropriate to use (paid, $0.10 per statement). However, it does not explicitly mention when not to use it or compare to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_counterparty_euAInspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
vatNo
ibanNo
nameNo
countryNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses the data sources (VIES, official EU consolidated sanctions list), the output structure (verdict with reasons and recommendation), and even the cost and payment method. It does not cover failure modes or rate limits, but for a read-only verification tool, the key behavioral aspects are transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences that front-load the core function, followed by usage guidance and cost. Every sentence provides distinct value with no redundancy or padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main functionality, use case, output type, and cost, which is substantial. However, it leaves the country parameter unexplained and does not describe the exact response schema, which is more important since no output schema is provided. These gaps keep it from being truly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It implicitly maps three parameters: vat ('validates an EU VAT ID'), name ('screens the name'), and iban ('checks the IBAN'). However, it does not explain the country parameter, nor does it clarify that all parameters are optional or whether at least one is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool validates an EU VAT ID against VIES, screens names against the EU consolidated sanctions list, checks the IBAN, and returns a traffic-light verdict. This specific verb+resource combination distinguishes it from sibling single-purpose tools like validate_vat or screen_sanctions_eu.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use before onboarding a new supplier, customer or payee', giving clear when-to-use guidance. It also frames the tool as 'in one call', implying it is the aggregated alternative to multiple individual checks, though it does not explicitly name those alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

eu_vat_rulesAInspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
b2bNo
typeNoservice
customerYes
supplierYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently mentions the paid nature ($0.005 per call via x402), which is a key behavioral trait. However, it does not disclose rate limits, error behavior, edge cases (e.g., non-EU countries), or whether the tool performs any state-changing actions. The read-only decision nature is implied but not explicitly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is composed of two dense but efficient sentences. The first sentence front-loads the main function and then summarizes the output in a compact list, while the second adds the crucial pricing detail. No filler or redundancies. Every clause contributes unique information, making it appropriately concise for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex decision engine with no output schema and no annotations, the description does a strong job of contextualizing behavior by enumerating outputs in prose and clarifying the domain. Minor gaps remain: it doesn't specify the expected format for country parameters (e.g., ISO codes), explain the x402 payment flow, or mention how to handle unsupported input combinations (e.g., non-EU supplier). Overall, it is sufficiently complete for most users.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% coverage (no descriptions for any parameter), so the description must compensate. It maps all four parameters to plain terms: supplier (supplier country), customer (customer country), b2b (B2B/B2C), and type (goods/service). This adds semantic meaning beyond the raw schema. Missing are format details such as ISO country codes or exact allowed values for 'type', but the basics are covered.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description starts with a clear noun phrase 'EU VAT decision engine' that signals a determiner/calculator, and then enumerates specific inputs (supplier country, customer country, B2B/B2C, goods/service) and outputs (place of supply, VAT rate, EN 16931 category code, exemption reason, wording, legal article). This level of detail makes the tool's purpose unmistakable and clearly differentiates it from siblings like validate_einvoice_eu or validate_vat, which focus on validation rather than decision.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool by listing required inputs and the domain (EU VAT for e-invoicing), but it does not explicitly state when to use it over alternatives or include any exclusions. It also does not mention any prerequisites such as needing a valid EU country code or a specific invoice context. Usage context is present but only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookup_company_euAInspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
nameNo
countryYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses the paid nature ($0.01 via x402, USDC on Base), the output format (one normalized shape with a signed receipt), and the restriction on name searches for Poland. This goes beyond a simple read-only lookup by explaining cost and output receipt, which are critical for an AI agent to invoke correctly.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with zero redundancy. It front-loads the core purpose, then lists the countries, output fields, search modes, and cost in a compact list-style sentence. Every clause carries distinct information, and the structure is easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the main features (countries, output, cost, search modes) but lacks critical details about parameter values, especially the expected country format (e.g., 'NO' vs 'Norway') and whether id/name are mutually exclusive or one is required. With no output schema and no annotations, this leaves gaps for an agent to call the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, so the description must compensate. It mentions 'name' and 'registration number' but does not explicitly map them to the 'id' and 'name' parameters, nor clarify that country is required or what values to use for the countries. The multiple countries are named but no enum or format hints are provided, leaving ambiguity for required inputs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with 'Company register lookup straight from the official national registers' – a specific verb and resource, followed by the exact list of countries (Norway, Czechia, Finland, Slovakia, Poland). It clearly differentiates from sibling tools like validate_vat or screen_sanctions_eu by focusing on official company register data, and states the returned fields.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description makes the use case obvious: lookup a company in the EU/EEA national registers. It specifies search modes (by name or registration number) and notes a key exception ('not for PL' by name). It also discloses the cost and payment method, giving context for when to use it. However, it does not explicitly name alternative tools or state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

must_verify_before_payAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountNo
countryNo
currencyNoEUR
payee_vatNo
payee_ibanNo
payee_nameNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses critical behavioral traits: 'Deny is the default' and 'a payment is released only when the check comes back clear,' plus the signed receipt for auditability and the free offline verification library. It also transparently states cost. This goes well beyond what structured fields provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded and each sentence adds value: purpose, checks performed, default behavior, receipt, verification method, and cost. No fluff, and the length is appropriate for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a multi-check gate with no output schema or annotations, the description gives a strong high-level view: it explains the decision nature, default deny, receipt, and offline verification. However, it does not explain how all six parameters (especially amount, country, currency) affect the decision, nor what the 'reasons' might look like. Still, the core usage context is covered.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It mentions payee, VAT ID, and IBAN implicitly, but omits amount, country, and currency entirely. No guidance is given on how these influence the decision, nor any format/validation rules beyond what the schema's defaults imply.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Payment gate for autonomous agents: decide whether a payment may go out.' It clearly states the decision outcome (allow/deny) and distinguishes itself from siblings like validate_iban or screen_sanctions_eu by combining multiple checks into a single gate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It establishes clear context: this is a final go/no-go payment gate for autonomous agents, and it implies the user should call this before releasing payment. However, it does not explicitly name alternatives or state when-not-to-use (e.g., if only IBAN validation is needed, use validate_iban), so it lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

screen_sanctions_euAInspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
listsNo
countryNo
thresholdNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full transparency burden and excels. It discloses data coverage (12,000+ entities, 50,000 variants, daily re-indexing), fuzzy matching behavior, result fields for auditability, signed receipt, and pricing/payment method. This far exceeds expected disclosure for a screening tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is information-dense yet well-organized, covering purpose, coverage, output, receipt, and pricing in four sentences. Every sentence adds value without redundancy, and the most critical information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema, the description thoroughly covers return values (list, programme, reference, etc.), auditability, and the receipt mechanism. It also addresses cost and payment, which is essential for a paid tool. The description is complete enough for an agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains the 'lists' parameter (eu,un,uk) and hints at threshold via fuzzy matching, but does not explicitly define 'threshold' as a confidence score or 'country' as a filter. It adds some meaning but leaves key parameters partially under-explained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs sanctions screening (AML/KYC) against three named official lists (EU, UN, UK), which is specific and distinguishes it from siblings like lookup_company_eu or validate_iban. The verb 'Sanctions screening' and the resource 'three official lists' make the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for AML/KYC compliance checks and mentions optional list narrowing, but does not explicitly contrast with alternatives. It provides enough context to infer when to use this tool (sanctions screening) versus siblings like verify_compliance_receipt, but lacks explicit exclusions or alternative guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_einvoice_euAInspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
xmlYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses key behaviors: it checks syntax, profile, totals, VAT breakdown, and category rules, returns BR codes, and provides a signed receipt. It also clearly states the tool is paid ($0.02 per invoice), which is a significant side effect. It does not mention read-only nature, but the validation context implies no data mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but stays on point, front-loading the primary action and then providing details on checks, output, and cost. It is slightly verbose due to the list of formats, but every sentence adds value and no space is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and lack of output schema, the description covers the major functionality: what is validated, the output format (BR codes, receipt), and pricing. It does not detail the receipt structure or error handling, but that may not be necessary for invocation. Sibling context further clarifies its niche.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter is 'xml' with no schema description. The description indirectly clarifies that it expects an XML string of the e-invoice by listing supported formats, but does not explicitly state the parameter purpose, format specifics, or constraints. Since schema coverage is 0%, the description partially compensates but could be more precise.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: validate an electronic invoice against EN 16931, listing specific formats (XRechnung, ZUGFeRD/Factur-X, Peppol BIS, UBL/CII) and key checks. It distinguishes itself from sibling tools like validate_vat and check_counterparty_eu by focusing on full invoice compliance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context: when you need to validate e-invoices against EN 16931. However, it does not explicitly contrast with alternatives or state when not to use it, relying on the purpose to guide selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_ibanAInspect

FREE, no payment required: validate an IBAN (checksum and country structure, all countries).

ParametersJSON Schema
NameRequiredDescriptionDefault
ibanYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It adds value by disclosing that the tool is free and what it validates (checksum and country structure), but it does not mention output format, side effects, or whether it is purely local validation. For a simple validation tool, this is moderate coverage but leaves room for ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that immediately conveys the free status and purpose. Every word adds value, and there is no redundant information, making it highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 parameter, no output schema), the description is adequate but incomplete. It does not explain what the tool returns (e.g., boolean, error details) or behavior on invalid input. For an agent to invoke it correctly, knowing the output would be valuable, but the description stops short of that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter (iban) with no description. The description clarifies that the parameter is an IBAN and mentions the validation logic, but it does not specify format requirements (e.g., spaces, case sensitivity, length). With 0% schema coverage, this partially compensates but is not thorough.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool validates an IBAN, specifying the validation aspects (checksum and country structure) and scope (all countries). This distinguishes it from sibling tools like validate_vat and validate_einvoice_eu, which target different entities.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for IBAN validation and mentions it is free and covers all countries, but it does not explicitly state when to use this tool over alternatives or provide exclusions (e.g., 'use validate_vat for VAT numbers'). Sibling names provide some context, but the description itself lacks explicit guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_vatAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
vat_idYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It adds valuable behavioral context: the tool is free, performs a live check against the VIES register, and returns name/address only when the member state publishes them. This conditional disclosure is important. It does not mention error handling or rate limits, but for a simple validation tool the key behaviors are disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded with the most important fact ('FREE, no payment required'). It uses two sentences to convey purpose, data availability, and differentiation from paid siblings. Every clause adds value; there is zero fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter validation tool with no output schema, the description covers the essential context: what the tool does, its cost, the live nature of the data, and the conditional availability of name/address. It also positions itself among siblings. It does not describe the response structure or error behavior, but these are less critical for a simple validate operation, so completeness is high.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema only provides the parameter title 'Vat Id' with no description, and schema coverage is 0%. The description adds the semantic context 'EU VAT ID', which makes clear the parameter is a European VAT identification number. However, it does not specify format requirements (e.g., country prefix) or provide examples, so the agent must rely on general knowledge. The description adds some meaning but does not fully compensate for the lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('validate') and direct object ('an EU VAT ID against the live EU VIES register'), and also specifies the result (get registered name and address). It clearly distinguishes itself from sibling tools by positioning as the free entry tool and listing what paid tools add (sanctions screening, counterparty due diligence, VAT rules, e-invoice validation).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use this tool (to validate an EU VAT ID and retrieve published name/address) and differentiates it from paid alternatives by explicitly listing what the paid tools cover. It does not explicitly say 'use this instead of X' or provide a strict when-not-to-use, but the positioning is clear enough for an agent to infer the appropriate use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_compliance_receiptAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_jsonYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It does disclose key outputs (authentic, unmodified, valid, signer address) and the free nature, but lacks explicit statements about data handling, read-only status, or potential side effects. For a verification tool, the core behavior is implied, but privacy and processing details remain undertransparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, front-loaded with 'FREE, no payment required', and every sentence provides distinct value: what the tool does, how to invoke it, and its use case. There is minimal redundancy, making it concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there is no output schema, the description adequately covers expected returns (authenticity, modification, validity, signer address) and defines the input expectations. It does not mention error handling or edge cases, but for a simple verification tool, the essential information is present. Sibling tool context helps situate it among other EU validators.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter (document_json) with zero description coverage, so the description must compensate. It does so by instructing the agent to pass the full JSON result including its 'receipt' field, which adds meaningful semantics beyond the parameter name. While it could include format examples, the guidance is actionable and sufficient for a single parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: verifying a compliance receipt issued by eucompliance.tools and returning authenticity, modification status, validity, and signer address. This specific verb-resource pairing distinguishes it from sibling validation tools like validate_vat or validate_einvoice_eu, which target different document types.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use the tool: by any third party (auditor, agent) to verify a compliance receipt without trusting or paying the issuer. It doesn't explicitly name alternatives or exclusions, but the context strongly implies it's for receipts from eucompliance.tools only, making usage conditions clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.