Developer Programs

Learn

Docs

Coding with AI

Getting Started > Coding with AI

AI coding assistants already know a little about Banno — usually enough to be confidently wrong. Pointing your assistant at this documentation gives it the actual Consumer API, Admin API, Plugin Framework, and Authentication Framework references, so the code it writes matches the API you are integrating with.

There are three ways to do that, in increasing order of setup:

  • AI Assist asks questions against this documentation right here in your browser. No setup at all.
  • Documentation index files give your assistant a URL it can read.
  • The documentation MCP server gives your assistant a tool it can use to look things up on its own, from inside your editor.

Documentation index files

This site publishes its content in the llms.txt format — plain text, no navigation chrome, structured so that a model can read it.

FileContents
llms.txtAn index of every page on this site, grouped by section, with a one-line summary and a link for each
llms-full.txtThe full text of every page, plus an endpoint-by-endpoint summary of each OpenAPI specification, in a single file

Both files are regenerated as part of every deployment of this site, so they match the documentation you are reading.

The simplest way to use them is to paste a URL into your assistant and ask it to read the file before answering. Start with llms.txt and let the assistant follow the links it needs — llms-full.txt is roughly 800 KB and will crowd out the rest of your context window if you load the whole thing.

Keeping it in every conversation

If your assistant reads a project instructions file — AGENTS.md, CLAUDE.md, .cursorrules, or similar — add a line pointing at the index so you do not have to repeat yourself:

Banno Digital Toolkit reference: https://jackhenry.dev/open-api-docs/llms.txt
Read this index and fetch the relevant pages before writing any Banno integration code.

Documentation MCP server

The Model Context Protocol is a standard way for AI tools to call external tools. Configuring an MCP server for this documentation means your assistant can look pages up on its own, mid-task, instead of waiting for you to paste a link.

The mcpdoc server does exactly this: you hand it the llms.txt URL above, and it gives your assistant two tools — list_doc_sources to read the index, and fetch_docs to retrieve a page listed in it. There is no search tool; the assistant reads the index and follows the links it needs. Fetching is limited to the domain of the index you configure, so the server can reach jackhenry.dev and no other host.

Prerequisites

mcpdoc runs through uvx, which ships with uv. Install uv if you do not already have it:

Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh

You do not need to install mcpdoc itself — uvx downloads and caches it the first time your assistant starts the server.

Why the configuration pins a version
Every example below passes --with mcp<2. The current release of mcpdoc has not yet been updated for version 2 of the underlying mcp package, and without the pin the server fails to start with ModuleNotFoundError: No module named 'mcp.server.fastmcp'. Once mcpdoc publishes a compatible release, the pin can be dropped.

Every example also passes --follow-redirects, which mcpdoc does not do on its own. A few entries in the index redirect to their canonical address, and without the flag your assistant gets the redirect instead of the page.

Claude Code

By default this registers the server for the directory you run it in, so run it from your project. The --scope user flag below makes the server available in all of your projects instead; drop it if you only want it here. Note that the flag goes before the -- separator — anything after -- is passed straight through to mcpdoc, which rejects arguments it does not recognize.

Add the server to Claude Code
claude mcp add --scope user banno-docs -- uvx --from mcpdoc --with "mcp<2" mcpdoc \
  --urls "BannoDigitalToolkit:https://jackhenry.dev/open-api-docs/llms.txt" \
  --follow-redirects \
  --transport stdio

Cursor

Open Cursor Settings, go to the Tools & MCP tab, choose New MCP Server to open mcp.json, and add the following.

mcp.json
{
  "mcpServers": {
    "banno-docs": {
      "command": "uvx",
      "args": [
        "--from", "mcpdoc",
        "--with", "mcp<2",
        "mcpdoc",
        "--urls", "BannoDigitalToolkit:https://jackhenry.dev/open-api-docs/llms.txt",
        "--follow-redirects",
        "--transport", "stdio"
      ]
    }
  }
}

Visual Studio Code

Create .vscode/mcp.json in your project. Note that Visual Studio Code uses servers rather than mcpServers, and requires an explicit type.

.vscode/mcp.json
{
  "servers": {
    "banno-docs": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "--from", "mcpdoc",
        "--with", "mcp<2",
        "mcpdoc",
        "--urls", "BannoDigitalToolkit:https://jackhenry.dev/open-api-docs/llms.txt",
        "--follow-redirects",
        "--transport", "stdio"
      ]
    }
  }
}

Other tools

Any tool that supports MCP servers over standard input and output can use this server. Adapt one of the configurations above — the command is always uvx and the arguments never change. Only the surrounding key names differ between tools.

Confirm it is working

Restart your assistant, then ask it to list its documentation sources. It should report BannoDigitalToolkit. In Claude Code, the /mcp command lists connected servers and their tools.

The first request is slow, because uvx is downloading mcpdoc and its dependencies. Later requests start immediately.

Example prompts

Once the server is connected, ask for what you are actually trying to build rather than for documentation lookups. Your assistant will fetch the pages it needs.

  • Which OAuth scopes do I need to read a user’s accounts and transactions through the Consumer API?
  • Walk me through the authorization code flow with PKCE against the Garden demo institution, and write the token exchange in Node.
  • What is the Base URL for the Consumer API, and why is it different for each financial institution?
  • Build a minimal plugin that uses the plugin bridge and reads the current user from the identity token.
  • Which Admin API endpoint resets a user’s password, and what does it require for authentication?
  • Compare the Consumer API and the Admin API for reading account details, and tell me which one fits a back-office tool.

Working safely with AI assistants

Never share credentials or member data
Do not paste access tokens, refresh tokens, client secrets, private keys, or any real member data into an AI assistant. Use the Garden demo institution for anything you need to test against, and keep credentials in your environment where they belong.

A few more things worth knowing:

  • The documentation describes the API in general. It does not know your institution’s configuration, enabled abilities, or external application setup — those still come from the Banno People app.
  • OpenAPI specifications are the source of truth for request and response shapes. When an assistant generates a request, check it against the Consumer API or Admin API reference, where you can also send a real request with Try it out.
  • Scopes are enforced at request time regardless of what any tool suggests. If a call returns a permission error, start with the Authentication Framework documentation.
  • If an assistant confidently describes a Banno endpoint you cannot find on this site, it is inventing it. Ask it to cite the page.

Have a Question?

Did this page help you?

Last updated Wed Aug 12 2026