Skip to main content
Glama

VerifyDesk

Server Details

Verify companies in the French registry, EU VAT numbers and IBANs, and screen US and UN sanctions.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
agenttoolworks/mcp-servers
GitHub Stars
0

TDQS

A4.1/5.0

Scored across 6 tools

Disambiguation4/5

Most tools target clearly distinct resources/actions: sanctions screening, IBAN checks, VAT validation, usage, and company registry lookup. The main overlap is verify_company vs enrich_company, which both accept a registration number and return registry fields (legal form, activity, address), so an agent could occasionally misselect; descriptions help but the boundary isn't razor sharp.

Naming Consistency5/5

All six tools follow a consistent verb_noun snake_case pattern: enrich_company, get_usage, screen_sanctions, validate_iban, verify_company, verify_vat. The verbs are varied but semantically appropriate and the convention is uniform throughout.

Tool Count5/5

Six tools is well-scoped for a verification/compliance service, and each one earns its place: company verify, company enrich, VAT check, IBAN check, sanctions screen, and account usage. No dead weight and nothing conspicuously missing from the count.

Completeness4/5

The surface covers the core KYC/verification lifecycle: company verification (FR/GB), extended company data, VAT validation, IBAN validation, and sanctions screening, plus usage tracking. Minor gaps remain common to the domain, such as PEP/adverse-media screening and batch operations, but agents can work around these.

Available Tools

6 tools
enrich_companyEnrich a company with officers and registry detailsAInspect

Returns extended registry data for one company identified by its registration number: officers/directors (name and role), legal form, activity, address, headcount range when available. Input: country (FR or GB) and the exact registration number (SIREN for FR, company number for GB). Costs 1 credit.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryYesRegistry to query: FR (France, SIRENE/RNE) or GB (UK Companies House)
registration_numberYesExact SIREN (FR) or company number (GB)

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses the billing cost ('Costs 1 credit') and hedges that headcount is returned 'when available', which tells the agent some fields may be null. It says nothing about auth requirements, rate limits, or whether the call is idempotent/read-only.

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?

Front-loaded with the return payload, then the input contract, then cost — a sensible priority order in three tight sentences. Slightly dense in the first sentence, but nothing 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?

With no output schema, the description does the necessary work by enumerating the returned fields (officers with name/role, legal form, activity, address, headcount range). Missing only edge-case behavior such as what happens when the registration number is not found.

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 100% and the schema already documents the country enum (FR = SIRENE/RNE, GB = Companies House) and the registration number format. The description restates 'SIREN for FR, company number for GB' without adding new constraints, so the baseline 3 applies.

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

Purpose4/5

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

States a clear verb+resource: returns extended registry data (officers, legal form, activity, address, headcount) for one company by registration number. Strong on scope, but it never distinguishes itself from the sibling verify_company, which plausibly covers overlapping registry territory.

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?

Usage is implied by the phrase 'extended registry data' and the 1-credit cost signal, which hints this is the heavier/paid option versus a plain verification call. However, it never states when to prefer this over verify_company or verify_vat, nor any prerequisites for the lookup.

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

get_usageGet usage and credit balanceAInspect

Returns your current plan, remaining credit balance and call volume over the last 30 days. Free to call.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses the cost profile ('Free to call') and the data window ('last 30 days'), which are genuine behavioral facts beyond the schema. It does not mention auth requirements or rate limits, so it falls short of a 5.

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?

Two tight sentences with the contents front-loaded and the cost note appended. Every clause earns its place; nothing is repeated from the schema or title.

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?

There is no output schema, so the description must hint at the return shape, and it does by naming the three returned fields and their window. No annotations exist either, and the 'free to call' note covers the main behavioral concern. Minor gap: no mention of formatting or staleness.

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 tool takes zero parameters, which is the baseline-4 case. The description adds no parameter semantics because none exist, and needs none.

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?

States a specific verb (get) and resource (usage) and enumerates exactly what is returned: plan, remaining credit balance, and call volume over the last 30 days. It is clearly distinguishable from the invoice-oriented siblings (extract_invoice, generate_invoice, validate_invoice, describe_coverage).

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?

No explicit when-to-use or when-not-to-use guidance and no named alternatives, but for a zero-parameter, cost-free read tool the implied usage ('check your balance/usage') is reasonably self-evident. It provides no routing conditions.

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

screen_sanctionsScreen a name against sanctions listsAInspect

Screens a person or company name against open sanctions lists: OFAC SDN and OFAC Consolidated (US Treasury) plus the UN Consolidated List, aliases included. Returns potential matches with their list, programs and a similarity score, and always reports which lists answered, how many entries were screened and when each list was last published to us. Keep 'data_as_of' with the result: a screening record without the vintage of the list it screened against cannot be checked later. A match is a signal for enhanced due diligence, not a legal determination. Costs 1 credit.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPerson or company name to screen, e.g. 'Acme Trading LLC'

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does substantial work: it discloses the return contents (matches, list, programs, similarity score), the always-present metadata (lists that answered, entries screened, per-list publish date), and the credit cost. It omits auth requirements, rate limits, and error behavior, so not a 5.

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?

Front-loaded with what the tool screens and against which lists, followed by return shape, retention guidance, caveat, and cost. Sentences are dense but each carries information; the 'keep data_as_of' sentence is somewhat operational advice but justified by the tool's audit purpose.

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?

With no output schema, the description must explain returns, and it does: matches with list, programs and similarity score, plus coverage metadata and list vintages. The data_as_of retention warning and the legal-caveat framing make it complete for correct downstream use.

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?

Single parameter with 100% schema description coverage, so the schema already documents the 'name' field and its example. The description adds only the notion that aliases are included in matching, which is marginal parameter-level value; baseline 3 is appropriate.

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?

States a specific verb (screens) and resource (person or company name) plus exact scope: OFAC SDN, OFAC Consolidated, UN Consolidated, aliases included. This is clearly distinguishable from the sibling verification/enrichment tools without opening any schema.

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?

Gives clear context for when this applies (sanctions screening of a name) and important interpretive guidance that a match is a due-diligence signal, not a legal determination, plus a cost note. It does not name alternatives or state when NOT to use it, so it falls short of 5.

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

validate_ibanValidate an IBANAInspect

Validates an IBAN offline: country-specific length and ISO 7064 mod-97 checksum, for 60+ countries. Returns valid true/false with the country and, when invalid, an actionable reason. This checks structure, not account existence. Light read: costs 0.2 credit.

ParametersJSON Schema
NameRequiredDescriptionDefault
ibanYesIBAN to validate, spaces allowed, e.g. 'DE89 3704 0044 0532 0130 00'

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses the operation is fully offline, the precise validation rules applied, coverage scope, the return shape (valid true/false, country, actionable reason when invalid), the key limitation (structure only, not account existence), and even the cost (0.2 credit). These are exactly the traits an agent cannot infer from the schema.

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?

Three short sentences, tightly front-loaded: capability first, return contract second, limitation and cost last. No filler and no restatement of the tool name or title.

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?

No output schema exists, yet the description fully specifies the return contract (boolean valid, country, reason on failure), the semantic limitation, and the cost. For a single-parameter, offline validation tool this leaves nothing material unstated.

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 100% and the single parameter already documents that spaces are allowed with a worked example, so the baseline is 3. The description adds nothing about parameter format, normalization, or casing beyond what the schema states.

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?

States a specific verb (validate) and resource (IBAN) and goes further by naming the exact mechanisms: country-specific length rules and the ISO 7064 mod-97 checksum, plus the 60+ country coverage. An agent can distinguish this from every sibling (verify_vat, verify_company, screen_sanctions) without opening a schema.

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?

Provides a clear usage boundary: 'This checks structure, not account existence,' which prevents the agent from over-trusting a positive result. It does not name an alternative tool or state prerequisites, but none of the siblings overlap with IBAN validation, so the context is sufficient without an explicit routing statement.

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

verify_companyVerify a company in an official registryAInspect

Verifies a company against its official state registry and returns its legal status. France (SIREN/SIRET) works out of the box. The United Kingdom is supported but only on deployments configured with a Companies House key, and returns an actionable error otherwise. Input: country and a query that is either a registration number or a company name. Returns up to 5 normalized records: registration number, legal name, active/closed status, legal form, activity code, registered address, creation date. Costs 1 credit.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesRegistration number or company name, e.g. '552032534' or 'Danone'
countryYesRegistry to query: FR (France, SIRENE/RNE) or GB (UK Companies House)

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does so well: it discloses registry verification, country-specific availability and error behavior, a cap of up to 5 normalized records, the returned fields, and a credit cost. There is no contradiction and no major unstated behavior for the agent to guess.

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 generally front-loaded and efficient, opening with the core purpose and then covering country constraints, input, output, and cost. It is slightly repetitive in mentioning the return of legal status before later listing the full returned fields.

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 two-parameter registry-verification tool with no output schema, the description supplies the missing return-value information, record cap, supported-country caveats, error behavior, and cost. An agent has enough context to invoke it correctly without further clarification.

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 100%, and both parameters are already documented in the schema with examples and an enum. The description restates that query is a registration number or company name and country selects the registry, but adds no syntax or format details beyond the schema.

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?

States a specific verb and resource: verifies a company against its official state registry and returns legal status. This is clearly distinct from sibling tools like verify_vat and enrich_company, and an agent can understand the core operation without opening the schema.

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?

Provides important usage context: France works out of the box, while the UK requires a configured Companies House key and otherwise returns an actionable error. It also notes the cost of 1 credit. However, it does not explicitly say when to choose this over enrich_company or screen_sanctions.

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

verify_vatValidate an EU VAT number (VIES)AInspect

Validates an EU VAT number against VIES (European Commission) and returns whether it is currently valid, with the registered name and address when the member state provides them. Input: the full VAT number with country prefix, e.g. 'FR40303265045'. Light read: costs 0.2 credit.

ParametersJSON Schema
NameRequiredDescriptionDefault
vat_numberYesFull VAT number with country prefix, e.g. 'FR40303265045'

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that this is a light read, its cost (0.2 credit), the upstream source, and that name/address are returned only when the member state supplies them. It stops short of failure modes (VIES downtime, malformed input) or rate-limit behavior.

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?

Three tight sentences: purpose/source first, then input format, then cost. Every sentence earns its place and the most important information (what it validates and what it returns) is front-loaded.

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 one-parameter validator with no output schema, the description covers the essential return semantics (valid flag plus name/address when available) and the input format. Only ancillary details like error/indeterminate results are unaddressed.

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 100% and the single parameter is fully documented with the same example ('FR40303265045') repeated in the description. The description adds no formatting or edge-case detail beyond what the schema already provides, so baseline 3 applies.

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?

States a specific verb (validates), resource (EU VAT number), and the authoritative external source (VIES / European Commission). It is clearly distinguishable from siblings like validate_iban and verify_company without opening any schema.

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?

Usage is implied by the purpose — validate a VAT number when you need its current validity — and the cost note hints it is a cheap check. However, there is no explicit when-to-use/when-not guidance and no routing to or from alternatives such as validate_iban or verify_company.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 6 tool updates
    • First observedenrich_company
    • First observedget_usage
    • First observedscreen_sanctions
    • First observedvalidate_iban
    • First observedverify_company
    • First observedverify_vat

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    eu-verify lets AI agents verify any European business partner: company existence (official French SIREN registry), insolvency records (BODACC), EU VAT validation before invoicing (VIES), SIRET/IBAN/LEI checks, address and email verification, French business-day deadlines and EU public tenders. 10 paid MCP tools + a free catalog tool, plus 81 HTTP endpoints. Each call costs $0.001-$0.01 in USDC on
    1
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Cross-checks company/entity records against 23 national commercial registries (GLEIF, SIRENE, VIES, TED, Companies House) to flag missing or inconsistent registrations. Free tier: 100 calls/month via hosted API.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.