Skip to main content
Glama

APIEmpresas: Spanish company data

Validar NIF de clientes para facturar

verify_invoice_recipients
Read-onlyIdempotent

Valida una LISTA de clientes (hasta 100) antes de emitirles facturas (Verifactu, factura electrónica): por cada NIF, si el formato es válido, si la sociedad consta, su razón social y domicilio oficiales, su estado y, si das el nombre que tienes guardado, si coincide. Devuelve invoice_hint ok / revisar / no_facturar con los motivos (extinguida, absorbida, en concurso, nombre distinto, NIF de ejemplo...). Úsala para revisar la cartera de clientes de un programa de facturación o ERP; para dar de alta a un solo cliente con más detalle, verify_company. No sustituye al censo de la AEAT. Plan Pro, Business o saldo; gasta 1 consulta por sociedad encontrada (lo que no consta no se cobra). Bulk VAT/tax ID check of invoice recipients.

Input Schema

NameRequiredDescriptionDefault
vatNotrue para comprobar además el NIF-IVA en VIES (solo con 20 clientes o menos)
itemsYesClientes a validar

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=true, so the safety profile is covered. The description's real additions are the output vocabulary (invoice_hint ok / revisar / no_facturar with motives) and the "no sustituye al censo de la AEAT" caveat, but the commercial terms ("Plan Pro, Business o saldo; gasta 1 consulta por sociedad encontrada") duplicate what would sit better in dedicated metadata and leave the billing mechanics underspecified.

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 action is front-loaded and every clause carries information (checked fields, output hints, sibling routing, quota, disclaimer). It is dense and parenthetical-heavy rather than bloated, but the pricing/plan sentence and the bilingual trailing line add length that is not all decision-relevant.

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?

For a read-only bulk validator with full schema coverage and no output schema, the description does explain the returned hint values and their motives, which is the key gap it must fill. It still omits what happens to items with invalid format in the response shape (only hinted at) and how partial failures or >100-item batches behave.

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?

Schema coverage is 100%, so the baseline is 3; the description nevertheless explains the intent of the name field ("si das el nombre que tienes guardado, si coincide") and reinforces the array cap of 100 and the per-item reference round-trip. That is meaningful added semantics on top of the schema, though the vat/VIES ≤20 rule is only in 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 (validate a LIST of clients' NIFs before issuing invoices) plus exactly what is checked per item: format validity, registered company, official name/address, status, and name match. It explicitly distinguishes itself from verify_company, which is the sibling for a single client with more detail.

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?

Gives the concrete use case (reviewing a client portfolio from an invoicing program or ERP), names the alternative (verify_company for a single client in more detail), and adds a boundary ("No sustituye al censo de la AEAT"). Nothing about when to pick it is left to inference.

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.