vat_key
French intra-community VAT identifier from SIREN: FR + 2-digit key + SIREN. Key = (12 + 3*(siren%97))%97 (CGI 286 ter). Not a VIES proof. Paid $0.01 USDC Base x402.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
French intra-community VAT identifier from SIREN: FR + 2-digit key + SIREN. Key = (12 + 3*(siren%97))%97 (CGI 286 ter). Not a VIES proof. Paid $0.01 USDC Base x402.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
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 discloses the cost (paid $0.01), the computational formula, and the limitation (not a VIES proof). This goes beyond what structured fields would provide, but it omits how the SIREN input is supplied, which is a minor behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, front-loading the purpose and formula in the first sentence, then adding disclaimers. Every sentence contributes meaningful information: purpose, formula, validation caveat, and cost. There is no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers the formula, limitations, and cost, it does not clarify how the SIREN is provided given the empty input schema. The tool appears to rely on context or an implicit input, but this is not stated. Additionally, the output format is implied (the VAT identifier) but not explicitly described. These gaps reduce completeness for an agent deciding how to invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description doesn't need to explain parameters, and the schema is trivially covered. No additional parameter semantics are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it computes a French intra-community VAT identifier from a SIREN, provides the exact formula, and distinguishes it from a VIES validation tool. This is specific and unambiguous, and it differentiates from sibling tools like check_siret and siren_from_siret by its unique output and formula.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly warns 'Not a VIES proof', which tells the agent when not to use it (for validation). It also mentions the cost, which is a practical usage consideration. However, it doesn't name specific alternative tools or provide detailed when-to-use vs. when-not-to-use guidance beyond the VIES exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Many tools cover adjacent legal concepts such as down payments (acompte/arrhes), payment deadlines (due_date/due_eom/days_late), and identifier checks (check_siret/siren_from_siret/vat_key/eori), which can cause misselection. The descriptions do distinguish them clearly, but the sheer volume of overlapping categories still creates boundary confusion for an agent.
All tool names use lowercase snake_case and are mostly short, readable French legal nouns or noun phrases, so there is a predictable stylistic pattern. The mix of French and English names and the occasional verb-led names like check_siret or siren_from_siret prevent a perfect score.
With 68 tools, this server is far beyond the well-scoped 3-15 tool range and even beyond the 50+ extreme-mismatch threshold. Each tool is a tiny one-purpose helper, but the set as a whole is overwhelming and should be grouped into fewer, broader tools or split into multiple servers.
The tool surface covers an impressively broad range of French legal needs: statutory invoice mentions, payment penalties, holidays, VAT calculations, identifier checks, warranties, withdrawal rights, and dunning steps. There are no obvious dead ends, and mention_fields acts as a completeness checklist for required invoice mentions.