MCP server
NACHA Navigator MCP server
Connect Claude, ChatGPT, Cursor or another MCP client to NACHA Navigator: look up NACHA, BAI2 and X9.37 record layouts and codes, decode a line of a NACHA file, and check or build NACHA files from JSON. Free, with no sign-in.
Last updated
https://nacha-navigator.com/mcp- Transport: Streamable HTTP.
- Sign-in: none. No account, no API key.
- Protocol: MCP 2026-07-28, and the earlier revisions back to 2024-11-05 that start with an initialize handshake.
- Tools: 9, all read-only.
What it does
The Model Context Protocol (MCP) is an open standard for connecting AI apps to tools. With this server connected, an app such as Claude or ChatGPT can look things up in NACHA Navigator’s reference instead of answering from memory: record layouts, codes and validation rules for NACHA (ACH), BAI2 and X9.37 files. It can also decode a single record of a NACHA file, and check or generate a NACHA file from JSON with the same rules as the REST API.
Every tool is read-only: it computes its answer from what it is sent and the reference data bundled with the server, and changes nothing. Answers link to the pages on this site they come from, so you can check them.
Connect your AI app
Each client below needs only the server URL. Pick yours; the setup follows each client’s own documentation.
Claude
- In Claude, open Customize, then Connectors, and choose Add custom connector.
- Enter the server URL,
https://. If you are asked about authentication, choose No sign-in. Then choose Add.nacha-navigator.com/mcp - In a chat, open the + menu, choose Connectors and turn NACHA Navigator on.
The Free plan allows one custom connector. On Team and Enterprise plans, an Owner adds it under Organization settings › Connectors › Add › Custom › Web, and members then connect to it.
Claude Code
Add the server from a terminal:
claude mcp add --transport http nacha-navigator https://nacha-navigator.com/mcpAdd --scope user to make it available in all your projects:
claude mcp add --transport http --scope user nacha-navigator https://nacha-navigator.com/mcpOr share it with everyone on a project in .mcp.json at the project’s root. A remote server needs its type: an entry without one is skipped.
{
"mcpServers": {
"nacha-navigator": {
"type": "http",
"url": "https://nacha-navigator.com/mcp"
}
}
}ChatGPT
- In ChatGPT, open Plugins (chatgpt.com/plugins), choose +, then Add custom MCP server.
- Enter a name and a description. Under Connection, choose Public endpoint, enter
https://and choose no authentication.nacha-navigator.com/mcp - Confirm I understand and want to continue, then choose Create as a plugin.
Your workspace’s policies decide whether custom MCP servers are allowed.
Cursor
Add the server to ~/.cursor/mcp.json for all projects, or to .cursor/mcp.json in one project:
{
"mcpServers": {
"nacha-navigator": {
"url": "https://nacha-navigator.com/mcp"
}
}
}Or, with Cursor installed, use the install link: Add NACHA Navigator to Cursor.
VS Code
With GitHub Copilot, run MCP: Add Server from the Command Palette, choose HTTP and enter https://.
To add it by hand, use a workspace .mcp.json in the format shown for Claude Code, or VS Code’s own .vscode/mcp.json:
{
"servers": {
"nacha-navigator": {
"type": "http",
"url": "https://nacha-navigator.com/mcp"
}
}
}Devin Desktop (formerly Windsurf)
From a terminal:
devin mcp add nacha-navigator https://nacha-navigator.com/mcpOr add it to ~/.config/devin/mcp_config.json for all projects, or to .devin/mcp_config.json in one project:
{
"mcpServers": {
"nacha-navigator": {
"url": "https://nacha-navigator.com/mcp",
"transport": "http"
}
}
}Gemini CLI
gemini mcp add --transport http nacha-navigator https://nacha-navigator.com/mcpThis adds it to the current project; add -s user to add it to ~/.gemini/settings.json for all projects. In a settings file the entry looks like this, where httpUrl means Streamable HTTP:
{
"mcpServers": {
"nacha-navigator": {
"httpUrl": "https://nacha-navigator.com/mcp"
}
}
}Antigravity
Antigravity’s CLI and editor read ~/.gemini/config/mcp_config.json for all workspaces, or .agents/mcp_config.json in one workspace:
{
"mcpServers": {
"nacha-navigator": {
"serverUrl": "https://nacha-navigator.com/mcp"
}
}
}MCP Inspector
To try the server without an AI app, use the MCP Inspector’s command-line mode. List the tools:
npx @modelcontextprotocol/inspector --cli --transport http --server-url https://nacha-navigator.com/mcp --method tools/listCall one:
npx @modelcontextprotocol/inspector --cli --transport http --server-url https://nacha-navigator.com/mcp \
--method tools/call --tool-name lookup_nacha_code --tool-args-json '{"code":"R01"}' --format jsonAdd --protocol-era modern to use the 2026-07-28 revision instead of the initialize handshake:
npx @modelcontextprotocol/inspector --cli --transport http --server-url https://nacha-navigator.com/mcp --protocol-era modern --method tools/listTools
Your AI app picks the tool that fits your question. Each one is read-only and returns structured data, a text copy of it, and links to the matching pages on this site.
| Tool | What it does |
|---|---|
get_ | Lists the fields of a NACHA record type, such as the batch header or the entry detail for a given SEC code, with their positions, lengths, formats and meanings. |
explain_ | Decodes one 94-character line of a NACHA file field by field and reports the problems the validator finds in that line on its own. |
lookup_ | Looks up NACHA codes, such as transaction, SEC, service class, return reason and NOC codes, by code or by words in their meanings. |
explain_ | Explains one of the NACHA validator’s checks by its code, such as ROUTING_CHECK_DIGIT: its severity, what it checks and the part of the Nacha Operating Rules it comes from. |
validate_ | Checks a NACHA Generator request, the same JSON the REST API takes, and returns its errors and warnings without building the file. |
generate_ | Builds a NACHA file from that JSON, with the control totals, entry hashes and block fill calculated, and returns it as text. |
lookup_ | Looks up BAI2 type codes by code, by words in their descriptions, or by level and direction. |
get_ | Lists the fields of a BAI2 record type, from the 01 file header to the 99 file trailer, in order, with their meanings. |
get_ | Lists the fields of an X9.37 record type with their positions, lengths, usage and code values, for X9.100-187 and DSTU X9.37-2003 files. |
Privacy and limits
- Processed in memory. The arguments of a tool call, such as a record or a file request, are used to compute the answer and are never stored or logged. Our server keeps only anonymous counts of connections and tool calls, and an error log line with the method and path when a request fails, as the privacy policy describes.
- Nothing goes to a bank.
generate_nacha_filereturns the file to your AI app. It moves no money. - Use test data. Prefer test or redacted values to real account numbers and names.
- Whole files stay in your browser. No tool reads a whole file. To check a real file privately, open it in the NACHA Viewer, which reads it on your device.
- Limits. A file request can be up to 128 KB of JSON (about 500 entries). The rate limit, counted per network address, is generous, because hosted AI apps share addresses. When it is reached, the server asks the app to wait a minute.
- Informational. NACHA Navigator is independent and not affiliated with or endorsed by Nacha. Answers are informational, not legal or compliance advice: the Nacha Operating Rules, and for BAI2 and X9.37 files their specifications, are authoritative. The terms apply.
Other files for AI agents
- /llms.txt is a short guide to the site for language models, and /llms-full.txt holds the Markdown versions of the pages in one file.
- The site’s pages have Markdown versions: add
.mdto a page’s address, as in /nacha-file-format.md, or request the page with anAccept: text/markdownheader. - /openapi.json is the OpenAPI 3.1 description of the REST API’s generate and validate endpoints, which the API documentation explains.
- /.well-known/api-catalog is the site’s API catalog (RFC 9727). It links that description and the documentation.
- /mcp/server-card is this server’s MCP Server Card, listed in /.well-known/ai-catalog.json, for directories and clients that find servers on their own.
- Sample NACHA, BAI2 and X9.37 files to test with.
Routing numbers and ACH dates
For bank lookups by routing number, ACH dates and payment codes, the sister site PayOps Kit runs its own MCP server. Add it the same way, with its URL:
https://payopskit.com/mcp