Skip to content

Conversor IAE-CNAE

by conversoriaecnae · remote · no sign-in to list tools · v1.0.1 · published by GitHub user conversoriaecnae

The first fiscal MCP server for Spain: IAE/CNAE 2025, AEAT modelos, IRPF/IVA, RETA quota.

Changes · 18

19 tools: 18 change things and 1 only read.

Scanned Oct 21, 2026

10 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http conversor-iae-cnae https://www.conversoriaecnae.es/api/mcp/mcp

Findings

Matches of fixed checks, with the text they matched.

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

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

    What this check looks for
  • The server marks "detalle_cnae" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

    What this check looks for
  • The server marks "detalle_cnae_2009" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

    What this check looks for
  • The server marks "calendario_fiscal" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

    What this check looks for
  • The server marks "obligaciones_fiscales" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

    What this check looks for
  • The server marks "modulos_irpf_iva" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

    What this check looks for
Show 4 more findings
  • The server marks "empresas_por_actividad" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

    What this check looks for
  • The server marks "subvenciones_por_actividad" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

    What this check looks for
  • The server marks "tarifa_at_ep" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

    What this check looks for
  • The server marks "consulta_dgt" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

    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.

19 tools

Changes things 18Claude Code: ask
  • buscar_codigoBusca códigos IAE/CNAE por descripción (búsqueda semántica).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
    Busca códigos IAE/CNAE por descripción (búsqueda semántica). Cada resultado incluye la URL canónica de su página (url). Sin clave.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • buscar_doctrina_teacBusca resoluciones y criterios del Tribunal Económico-Administrativo Central (TEAC) por tema o texto (IVA, IRPF, sociedades, procedimiento…).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
    Busca resoluciones y criterios del Tribunal Económico-Administrativo Central (TEAC) por tema o texto (IVA, IRPF, sociedades, procedimiento…). Devuelve número, asunto, criterio y enlace. Sin clave.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calendario_fiscalModelos AEAT y próximos plazos para un código IAE/CNAE.1 finding

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

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

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

      What this check looks for
    Description, as the server wrote it
    Modelos AEAT y próximos plazos para un código IAE/CNAE. Sin clave.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • consulta_dgtBusca consultas vinculantes de la Dirección General de Tributos (DGT) por texto libre en español (stemming/acentos).1 finding

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

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

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

      What this check looks for
    Description, as the server wrote it
    Busca consultas vinculantes de la Dirección General de Tributos (DGT) por texto libre en español (stemming/acentos). Gratis: el resumen de la consulta más relevante. Con un plan de pago: la lista completa ordenada por relevancia y el filtro por código IAE. Solo doctrina pública, sin datos personales. Sin clave.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • consulta_masivaHasta 50 fichas IAE o CNAE en una llamada.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
    Hasta 50 fichas IAE o CNAE en una llamada. Requiere un plan de pago.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • cuota_irpfCalcula la cuota íntegra ESTATAL del IRPF por suma marginal de tramos a partir de una base liquidable.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
    Calcula la cuota íntegra ESTATAL del IRPF por suma marginal de tramos a partir de una base liquidable. No incluye escala autonómica ni mínimos. Datos públicos. Sin clave.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • cuota_retaCalcula el tramo y la cuota mínima estimada de autónomos (RETA) por rendimiento neto.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
    Calcula el tramo y la cuota mínima estimada de autónomos (RETA) por rendimiento neto. Datos públicos. Sin clave.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • detalle_cnaeFicha de un código CNAE 2025: título, descripción, categoría, sector y correspondencia con IAE y CNAE 2009, con la URL canónica de la página (url).1 finding

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

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

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

      What this check looks for
    Description, as the server wrote it
    Ficha de un código CNAE 2025: título, descripción, categoría, sector y correspondencia con IAE y CNAE 2009, con la URL canónica de la página (url). Sin clave. El enriquecimiento con IA (ai_summary, fiscal_signals) requiere un plan de pago.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • detalle_cnae_2009Ficha de un código CNAE 2009 (obsoleto): título, descripción y correspondencia a CNAE 2025, con la URL canónica de la página (url).1 finding

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

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

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

      What this check looks for
    Description, as the server wrote it
    Ficha de un código CNAE 2009 (obsoleto): título, descripción y correspondencia a CNAE 2025, con la URL canónica de la página (url). Sin clave. El enriquecimiento con IA (ai_summary, fiscal_signals) requiere un plan de pago.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • detalle_iaeFicha de un epígrafe IAE: título, descripción, elegibilidad de módulos y correspondencia IAE↔CNAE 2025, con la URL canónica de la página (url).1 finding

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

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

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

      What this check looks for
    Description, as the server wrote it
    Ficha de un epígrafe IAE: título, descripción, elegibilidad de módulos y correspondencia IAE↔CNAE 2025, con la URL canónica de la página (url). Sin clave. El enriquecimiento con IA (ai_summary, fiscal_signals) requiere un plan de pago. Acepta un código cualificado (p. ej. B831) para desambiguar epígrafes con varias secciones.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • empresas_por_actividadDevuelve estadísticas de constitución de empresas (recuento, capital medio/mediano, tendencia mensual, provincias) para un código CNAE-2025.1 finding

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

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

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

      What this check looks for
    Description, as the server wrote it
    Devuelve estadísticas de constitución de empresas (recuento, capital medio/mediano, tendencia mensual, provincias) para un código CNAE-2025. Datos a nivel de empresa (Ley 37/2007), sin datos personales. Sin clave. La lista completa de constituciones recientes (denominación social) requiere clave Profesional; sin clave se devuelve una muestra de 3.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • escala_irpfTramos de la escala IRPF estatal (general o ahorro), año 2026.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
    Tramos de la escala IRPF estatal (general o ahorro), año 2026. Datos públicos. Sin clave.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • gastos_deduciblesGastos deducibles del IRPF del autónomo (todos o por categoría).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
    Gastos deducibles del IRPF del autónomo (todos o por categoría). Datos públicos. Sin clave.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • modulos_irpf_ivaRégimen de estimación objetiva (módulos) de un IAE.1 finding

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

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

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

      What this check looks for
    Description, as the server wrote it
    Régimen de estimación objetiva (módulos) de un IAE. Acepta un slug opcional para desambiguar códigos con varias actividades. Datos públicos. Sin clave.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • obligaciones_fiscalesModelos AEAT aplicables a un código (confianza, motivo, periodicidad, plazo).1 finding

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

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

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

      What this check looks for
    Description, as the server wrote it
    Modelos AEAT aplicables a un código (confianza, motivo, periodicidad, plazo). Datos públicos. Sin clave.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • subvenciones_por_actividadDevuelve subvenciones/ayudas públicas ABIERTAS (convocatorias BDNS) para un código CNAE-2025: total abiertas, cuántas son para autónomos/PYME, y una muestra (título, órgano, ámbito…1 finding

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

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

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

      What this check looks for
    Description, as the server wrote it
    Devuelve subvenciones/ayudas públicas ABIERTAS (convocatorias BDNS) para un código CNAE-2025: total abiertas, cuántas son para autónomos/PYME, y una muestra (título, órgano, ámbito, dotación, enlace oficial). Con plan de pago: lista completa y filtro solo_actividad. Solo convocatorias públicas, sin datos personales. Sin clave.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • tarifa_at_epTarifa de cotización por accidentes de trabajo y enfermedades profesionales (AT/EP) de una actividad CNAE-2025.1 finding

    Why it is in this group

    • The input takes a statement or command to run (input.code), which can change anything it can reach.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

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

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The input takes a statement or command to run (input.code), which can change anything it can reach.

      What this check looks for
    Description, as the server wrote it
    Tarifa de cotización por accidentes de trabajo y enfermedades profesionales (AT/EP) de una actividad CNAE-2025. Gratis: el tipo total + la nota de aplicación (por cuenta ajena; el autónomo cotiza al 1,30 %). El desglose IT/IMS y la cita normativa (source_anchor) requieren un plan de pago.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • texto_normativaTexto consolidado y VIGENTE de un artículo del BOE (norma, rango, estado, texto legal, fecha de vigencia y enlace).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
    Texto consolidado y VIGENTE de un artículo del BOE (norma, rango, estado, texto legal, fecha de vigencia y enlace). Sin articulo: devuelve el índice de artículos vigentes de la norma. Solo texto en vigor (no histórico), citable como fuente oficial. Sin clave. Con clave: hechos + texto completo.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
Only reads 1Claude Code: allow
  • describe_conversorAuto-descripción del servicio: catálogos, RPCs y frescura de datos.No findings

    Why it is in this group

    • The name "describe_conversor" says "describe": a word for reading.
    Description, as the server wrote it
    Auto-descripción del servicio: catálogos, RPCs y frescura de datos. Sin clave.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • 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.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http conversor-iae-cnae https://www.conversoriaecnae.es/api/mcp/mcp

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__conversor-iae-cnae__describe_conversor"
    ],
    "ask": [
      "mcp__conversor-iae-cnae__buscar_codigo",
      "mcp__conversor-iae-cnae__detalle_iae",
      "mcp__conversor-iae-cnae__detalle_cnae",
      "mcp__conversor-iae-cnae__detalle_cnae_2009",
      "mcp__conversor-iae-cnae__calendario_fiscal",
      "mcp__conversor-iae-cnae__escala_irpf",
      "mcp__conversor-iae-cnae__gastos_deducibles",
      "mcp__conversor-iae-cnae__obligaciones_fiscales",
      "mcp__conversor-iae-cnae__modulos_irpf_iva",
      "mcp__conversor-iae-cnae__cuota_reta",
      "mcp__conversor-iae-cnae__cuota_irpf",
      "mcp__conversor-iae-cnae__buscar_doctrina_teac",
      "mcp__conversor-iae-cnae__empresas_por_actividad",
      "mcp__conversor-iae-cnae__subvenciones_por_actividad",
      "mcp__conversor-iae-cnae__tarifa_at_ep",
      "mcp__conversor-iae-cnae__texto_normativa",
      "mcp__conversor-iae-cnae__consulta_dgt",
      "mcp__conversor-iae-cnae__consulta_masiva"
    ],
    "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 conversor-iae-cnae. Review it before you use it.