Access the FDIC BankFind Suite API for banking data and analysis
FDIC BankFind MCP Server
fdic-mcp-server is an MCP (Model Context Protocol) server for the FDIC BankFind Suite API. It gives LLM hosts a clean way to search FDIC-insured institutions, retrieve public banking records, and run common multi-bank analysis workflows without custom FDIC API plumbing.
It is useful when you want an MCP-compatible client to answer questions about banks, failures, branches, quarterly financials, deposit data, or peer performance using a stable tool surface and machine-readable responses.
Project Status
Active development. The server is usable today and the tool surface is covered by tests, but the project is still evolving as client support and analysis workflows improve.
Why This Project Exists
The FDIC BankFind Suite API is public and useful, but it is not packaged for MCP clients out of the box. This project solves that by:
- exposing BankFind datasets as MCP tools
- preserving both human-readable and machine-readable responses
- adding server-side analysis helpers for multi-bank comparison workflows
- supporting both local stdio hosts and remote HTTP hosts
Documentation
Public user docs:
Repo reference docs:
- Reference home
- Technical specification
- Architecture
- Key decisions
- Cloud Run deployment
- Plans and design notes
Project and release info:
Installation
Prerequisites:
- Node.js 20 or later
- npm
Run directly without a global install:
npx fdic-mcp-server
Install globally:
npm install -g fdic-mcp-server
fdic-mcp-server
Install from GitHub Packages:
npm install -g @jflamb/fdic-mcp-server --registry=https://npm.pkg.github.com
fdic-mcp-server
Install from source:
git clone https://github.com/jflamb/fdic-mcp-server.git
cd fdic-mcp-server
npm install
npm run build
Usage
Hosted Endpoint
If your MCP host supports remote MCP URLs, use:
https://bankfind.jflamb.com/mcp
Run Locally
Stdio transport:
node dist/index.js
HTTP transport:
TRANSPORT=http PORT=3000 node dist/index.js
The HTTP MCP endpoint is http://127.0.0.1:3000/mcp by default.
Notes:
- Local HTTP runs bind to
127.0.0.1by default. SetHOSTif you intentionally want a different bind address. - Browser-origin requests are checked against
ALLOWED_ORIGINS. If unset, the server allows the local defaults forlocalhostand127.0.0.1on the configured port, plus non-browser requests with noOriginheader. - The HTTP transport is session-based. Clients initialize once, then reuse
MCP-Session-Idon later POST, GET, and DELETE requests.
Container builds use PORT=8080 by default for Cloud Run compatibility.
Set FDIC_MAX_RESPONSE_BYTES to override the upstream FDIC response-size guard. The default is 5242880 bytes (5 MiB).
Minimal MCP Configuration
{
"mcpServers": {
"fdic": {
"command": "npx",
"args": ["-y", "fdic-mcp-server"]
}
}
}
If you are running from a local clone instead of the published package:
{
"mcpServers": {
"fdic": {
"command": "node",
"args": ["/path/to/fdic-mcp-server/dist/index.js"]
}
}
}
Client-specific setup details are in docs/clients.md.
Usage Examples
Find active banks in North Carolina with assets over $1 billion:
filters: STNAME:"North Carolina" AND ACTIVE:1 AND ASSET:[1000000 TO *]
Get the 10 costliest bank failures since January 1, 2000:
filters: FAILDATE:[2000-01-01 TO *]
sort_by: COST
sort_order: DESC
limit: 10
Compare North Carolina banks between two quarterly report dates:
state: North Carolina
start_repdte: 20211231
end_repdte: 20250630
sort_by: asset_growth
sort_order: DESC
(fdic_compare_bank_snapshots)
Build a peer group for a specific bank:
cert: 29846
repdte: 20241231
(fdic_peer_group_analysis)
More examples are in docs/usage-examples.md.
Available Tools
| Tool | Description |
|---|---|
fdic_search_institutions |
Search FDIC-insured banks and savings institutions |
fdic_get_institution |
Get details for a specific institution by CERT numb |
Tools (2)
fdic_search_institutionsSearch FDIC-insured banks and savings institutionsfdic_get_institutionGet details for a specific institution by CERT numberEnvironment Variables
TRANSPORTTransport protocol (stdio or http)PORTPort for HTTP transportHOSTBind address for HTTP transportALLOWED_ORIGINSAllowed origins for browser-origin requestsFDIC_MAX_RESPONSE_BYTESOverride the upstream FDIC response-size guardConfiguration
{"mcpServers": {"fdic": {"command": "npx", "args": ["-y", "fdic-mcp-server"]}}}