contix herramientas
by contix.es · remote · no sign-in to list tools · v1.0.0 · published by es.contix
Free no-auth tools for Spain: validate IBAN, EU VAT check (VIES), Modelo 303 sums, Veri*factu dates.
6 tools: 3 change things and 3 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things3Claude Code: ask: see these tools
- Only reads3Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http herramientas https://api.contix.es/api/v1/mcp/herramientasFindings
Matches of fixed checks, with the text they matched.
The server marks "calculate_modelo_303" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The description's first verb is "add": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
6 tools
Changes things 3Claude Code: ask
calculate_modelo_303Add up the boxes (casillas) of the Spanish quarterly VAT return Modelo 303 with the formulas printed on the official AEAT form: 27, 45, 46, 64, 66, 87, 69 and 71.1 finding
Why it is in this group
- The description's first verb is "add": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "calculate_modelo_303" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"openWorldHint":false}; The description's first verb is "add": a word for a change.
Description, as the server wrote it Add up the boxes (casillas) of the Spanish quarterly VAT return Modelo 303 with the formulas printed on the official AEAT form: 27, 45, 46, 64, 66, 87, 69 and 71. Input are the tax amounts (cuotas) per box, e.g. {"09": 17430, "29": 9870}. It only sums what it is given: it does not decide which rate or deduction applies and it is not a tax return.
Annotations the server declares
- title: Sum the Spanish VAT return (Modelo 303)
- readOnlyHint: true
- openWorldHint: false
calculate_vatCompute the taxable base, VAT (IVA) amount, optional recargo de equivalencia and optional IRPF withholding from an amount.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Compute the taxable base, VAT (IVA) amount, optional recargo de equivalencia and optional IRPF withholding from an amount. By default `importe` is the taxable base (sin IVA). With incluye_iva=true, `importe` is the TOTAL with VAT already included and the base is derived backwards (quitar IVA / reverse VAT). It only applies the rates it is given: it does NOT decide which VAT or IRPF rate applies to a case.
Annotations the server declares
- title: Calculate VAT (IVA) and IRPF withholding
- readOnlyHint: true
- openWorldHint: false
check_vat_numberLook up an EU VAT number in the European Commission's VIES registry.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Look up an EU VAT number in the European Commission's VIES registry. Returns what the registry says: whether the number exists and, where the member state publishes it, the name and address. It draws NO tax conclusion. VIES is often down; that is reported as disponible=false, which is NOT the same as an invalid number.
Annotations the server declares
- title: Check an EU VAT number (VIES)
- readOnlyHint: true
- openWorldHint: true
Only reads 3Claude Code: allow
get_obligation_datesDeadlines from the published Spanish rules: Veri*factu (RD 1007/2023, dates of RD-ley 15/2025) and mandatory B2B e-invoicing (RD 238/2026, counted from the ministerial order, provi…No findings
Why it is in this group
- The name "get_obligation_dates" says "get": a word for reading.
Description, as the server wrote it Deadlines from the published Spanish rules: Veri*factu (RD 1007/2023, dates of RD-ley 15/2025) and mandatory B2B e-invoicing (RD 238/2026, counted from the ministerial order, provisional while the order is a draft). Information about the rules, not advice.
Annotations the server declares
- title: Veri*factu and e-invoicing deadlines (Spain)
- readOnlyHint: true
- openWorldHint: false
validate_ibanCheck whether an IBAN is well formed: country length (SWIFT IBAN registry) and ISO 13616 check digits.No findings
Why it is in this group
- The name "validate_iban" says "validate": a word for reading.
Description, as the server wrote it Check whether an IBAN is well formed: country length (SWIFT IBAN registry) and ISO 13616 check digits. For Spanish IBANs also the two account check digits (DC) and the bank (entidad) with its BIC from the Banco de España registry. A 20-digit Spanish account number (CCC) is converted to its IBAN. Pure arithmetic: it does NOT confirm that the account exists or who owns it.
Annotations the server declares
- title: Validate an IBAN
- readOnlyHint: true
- openWorldHint: false
validate_spanish_tax_idTwo modes in one input.No findings
Why it is in this group
- The name "validate_spanish_tax_id" says "validate": a word for reading.
Description, as the server wrote it Two modes in one input. If `valor` is only 1-8 digits, computes the DNI check letter and returns the full 8-digit-plus-letter DNI (digits are left-padded with zeros). If `valor` is a full document, validates its check character: DNI (8 digits + letter), NIE (X/Y/Z + 7 digits + letter) or CIF (entity letter + 7 digits + check digit or letter, with the entity type per Orden EHA/451/2008). Tolerates spaces, dots, dashes and an ES prefix. Pure arithmetic: it does NOT confirm the document exists, is active or belongs to the person who gave it.
Annotations the server declares
- title: Calculate/validate a Spanish DNI, NIE or CIF check character
- readOnlyHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http herramientas https://api.contix.es/api/v1/mcp/herramientasRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__herramientas__validate_spanish_tax_id",
"mcp__herramientas__validate_iban",
"mcp__herramientas__get_obligation_dates"
],
"ask": [
"mcp__herramientas__calculate_vat",
"mcp__herramientas__check_vat_number",
"mcp__herramientas__calculate_modelo_303"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as herramientas. Review it before you use it.