Skip to content

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.

Changes · 3

6 tools: 3 change things and 3 only read.

Scanned Oct 21, 2026

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/herramientas

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "calculate_modelo_303" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":false}; The description's first verb is "add": a word for a change.

    What this check looks for

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".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":false}; The description's first verb is "add": a word for a change.

      What this check looks for
    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/herramientas

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.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.