nacha-mcp

Un servidor MCP (Model Context Protocol) para analizar y validar archivos NACHA/ACH.

Documentación

nacha-mcp

Un servidor MCP (Model Context Protocol) para analizar y validar archivos NACHA/ACH.

Listed on mcpservers.org

Requisitos

  • Node.js 18 o posterior
  • npm

Configuración

git clone https://github.com/msuresh007/nacha-mcp.git
cd nacha-mcp
npm install
npm run build

Esto compila src/ a dist/. Vuelve a ejecutar npm run build después de obtener cualquier actualización.

Pruébalo

Se incluye un archivo de muestra pequeño y aritméticamente válido en examples/sample.ach. Una vez compilado, puedes ejecutar cualquiera de las dos herramientas directamente desde la línea de comandos sin un cliente MCP, para confirmar que todo funciona:

node -e "const {analyzeNachaFile}=require('./dist/analyze.js');const fs=require('fs');console.log(JSON.stringify(analyzeNachaFile(fs.readFileSync('examples/sample.ach','utf-8')),null,2))"

Deberías ver "valid": true con un arreglo issues vacío, un lote y una entrada.

Herramientas

  • parse_nacha_file — Analiza un archivo NACHA en una ruta determinada y lo convierte en JSON estructurado completo: encabezado de archivo, lotes (encabezado, entradas con addenda y control), y control de archivo.
  • summarize_nacha_file — Analiza un archivo NACHA y devuelve un resumen condensado: cantidad de lotes, total de entradas, total de montos de débito/crédito, códigos SEC presentes y problemas de validación.

Ambas herramientas reciben una única entrada, file_path, una ruta absoluta al archivo en disco.

El análisis incluye:

  • Validación estructural (longitud de registro, orden de tipos de registro, emparejamiento de encabezado/control de lote).
  • Validación aritmética: el hash de entradas, los totales de débito/crédito y los conteos de entradas/addenda se recalculan a partir de las entradas reales y se comparan con los valores declarados en el Control de Lote y el Control de Archivo. Las discrepancias se reportan como problemas de validación en lugar de aceptarse silenciosamente.
  • Lotes IAT (Transacción ACH Internacional) y códigos de tipo de addenda 10-18.

Ejecución independiente

npm start

El servidor se comunica a través de stdio usando el protocolo MCP; no está diseñado para ejecutarse de forma interactiva por sí solo. Úsalo a través de un cliente MCP como se describe a continuación.

Conectar a Claude Code

Desde el directorio del proyecto, después de compilar:

claude mcp add nacha -- node "$(pwd)/dist/index.js"

(En Windows PowerShell: claude mcp add nacha -- node "$PWD\dist\index.js")

Conectar a GitHub Copilot (VS Code)

Crea .vscode/mcp.json en el proyecto desde el que quieras usarlo (o agrégalo si ya existe), reemplazando la ruta con la ruta absoluta a tu clon de este repositorio:

{
  "servers": {
    "nacha": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/nacha-mcp/dist/index.js"]
    }
  }
}

Alternativamente, ejecuta MCP: Add Server desde la Paleta de Comandos (Ctrl+Shift+P / ⇧⌘P), elige Workspace y apúntalo a node con los mismos argumentos: VS Code escribe el mismo .vscode/mcp.json por ti.

Una vez guardado, abre Copilot Chat, cambia al modo Agent y las herramientas parse_nacha_file / summarize_nacha_file estarán disponibles (VS Code inicia el servidor bajo demanda).

Conectar a Claude Desktop u otro cliente MCP

Agrega una entrada a la configuración del servidor MCP del cliente (por ejemplo, claude_desktop_config.json), reemplazando la ruta con la ruta absoluta a tu clon de este repositorio:

{
  "mcpServers": {
    "nacha": {
      "command": "node",
      "args": ["/absolute/path/to/nacha-mcp/dist/index.js"]
    }
  }
}

Reinicia el cliente después de agregar la configuración.

Estructura del proyecto

  • src/constants.ts — códigos SEC, códigos de transacción, búsquedas de país/divisa ISO.
  • src/format.ts — análisis de campos de dinero/fecha/hora.
  • src/parser.ts — validación estructural y análisis de registros (archivo/lote/entrada/addenda).
  • src/validate.ts — validación aritmética (hashes, totales, conteos).
  • src/analyze.ts — combina análisis y validación aritmética.
  • src/summarize.ts — vista de resumen condensado.
  • src/index.ts — servidor MCP y registro de herramientas.

No se incluyen pruebas unitarias por diseño: este servidor está pensado para mantenerse pequeño y fácilmente auditable.

Licencia

MIT — consulta LICENSE.