Skip to main content
Glama

Check Vat Number

check_vat_number
Read-onlyIdempotent

Check a UK VAT registration number against HMRC's live Check-a-UK-VAT-number register and return the registered trader name and address. GB only. A "not registered" answer is a real answer from HMRC, not an error. Use this when the user asks whether a VAT number is valid, when adding or editing a supplier or customer with a VAT number, and when a VAT number appears on a document and the user wants it confirmed. Report the registered name back to the user, and point out when it does NOT match the contact's name: a mismatch is the actual thing worth flagging.

Input Schema

NameRequiredDescriptionDefault
companyNoWhich company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
contact_idNoOptional. The contact this VAT number belongs to, so the result can be reported against them.
vat_numberYesUK VAT registration number, 9 digits, with or without the GB prefix.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld, non-destructive, so the safety profile is covered. The description adds genuinely non-obvious behavior: it hits a live external register and a 'not registered' response is a legitimate HMRC answer rather than an error — exactly the kind of detail that prevents an agent from retrying or reporting failure. It stops short of describing service-unavailable or rate-limit 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 it does and where the data comes from, then the caveat, then usage. Every sentence carries information, though the final sentence blends reporting instructions with description and could be marginally tighter.

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?

There is no output schema, yet the description states what comes back (registered trader name and address) and how to interpret a negative result. Combined with full schema coverage, an agent has everything needed to call it and act on the response.

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%, so the schema already documents the 9-digit format, optional GB prefix, company selection, and contact_id purpose. The description adds only the GB-only constraint, which largely restates what the vat_number description implies. Baseline 3 is appropriate when the schema does all the parameter work.

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 (check), a precise resource (a UK VAT registration number), the authoritative source (HMRC's live Check-a-UK-VAT-number register), and the return content (registered trader name and address). The 'GB only' scope and the external-source framing make it clearly distinct from sibling tools like get_hmrc_vat_liabilities or get_vat_summary, which concern the account's own VAT position.

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

Usage Guidelines5/5

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

Enumerates three concrete trigger scenarios (validity question, adding/editing a supplier or customer, confirming a VAT number on a document). It also tells the agent what to do with the result: report the registered name and flag a mismatch with the contact name.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.