fdic-bank-find-mcp-server
MCP Server to wrap the FDIC Bank Find API
Documentation
π¦ FDIC BankFind MCP Server π€ π»
The FDIC BankFind MCP Server is a Model Context Protocol (MCP) server that brings the power of FDIC BankFind APIs straight to your AI tools and workflows. Structured U.S. banking data, delivered with maximum vibes. ππ
π‘ Use Cases
- Powering agent/LLM research on U.S. banks and institutions π€π¦
- Automating financial analytics, compliance, and reporting workflows ππ§Ύ
- Building AI-driven dashboards, bots, or custom fintech tools π€ π€
- Rapid prototyping for academic or market analysis ππ
π οΈ Prerequisites
1. To run the server in a container, youβll need to have Docker installed. π³
2. Once Docker is installed, make sure itβs running! πββοΈπ¨
Installation
π Run the Official Public Docker Image (Recommended)
The FDIC BankFind MCP Server is published and ready to use from GitHub Container Registry (GHCR).
To run it (Docker will pull the image automatically if it's not present):
docker run -i --rm ghcr.io/clafollett/fdic-bank-find-mcp-server:mainYou do NOT need to build the image yourself unless you want to develop or customize the server. For most users, just running the command above is all you need!
Build Steps (Manual Docker Build)
If you want to build the image yourself (for local development or custom changes):
1. Clone the repository:
git clone https://github.com/YOUR-ORG/fdic-bank-find-mcp-server.git
cd fdic-bank-find-mcp-server2. Build the Docker image:
docker build -t fdic-bank-find-mcp-server:main .This uses the included `Dockerfile` to build a release-mode Rust binary and package it into a minimal container.
3. Test the image locally:
docker run -i --rm fdic-bank-find-mcp-server:main(The `-i` flag is required for stdio/MCP integration.)
4. Use the image in your MCP host config:
Follow the VS Code or Claude Desktop instructions below, referencing your local image as `fdic-bank-find-mcp-server:main`.
> If youβd like to tag/push to a registry, simply update the `docker build` and `docker tag` commands accordingly.
π§βπ» Usage with VS Code
Once the image is published to GHCR youβll be able to click a one-click install badge here. Until then, follow the manual steps below. π οΈ
Add the following JSON block to your User Settings (JSON) file. Open it with `Ctrl + Shift + P` β βPreferences: Open User Settings (JSON)β.
{
"mcp": {
"servers": {
"fdic": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/YOUR-ORG/fdic-bank-find-mcp-server:main"
]
}
}
}
}> π‘ For workspace-specific config, place the same block (without the outer `"mcp"` key) in `.vscode/mcp.json`. Easy peasy! π
π€ Usage with Claude Desktop (Conceptual)
{
"mcpServers": {
"fdic-bank-find": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/YOUR-ORG/fdic-bank-find-mcp-server:main"
]
}
}
}π¦ Build from Source (Manual)
If you prefer not to use Docker (or want to hack on the server itself), you can compile the binary with the Rust toolchain and run it in stdio mode. π¦Ύ
# Clone & build
$ git clone https://github.com/YOUR-ORG/fdic-bank-find-mcp-server.git
$ cd fdic-bank-find-mcp-server
$ cargo build --releaseOnce built, configure your MCP host to invoke the executable directly. For example, in VS Code User Settings (JSON):
{
"mcp": {
"servers": {
"fdic": {
"command": "/path/to/repository/fdic-bank-find-mcp-server/target/release/fdic-bank-find-mcp-server"
}
}
}
}π΅οΈββοΈ MCP Inspector Setup & Usage
Want to test, debug, or vibe with your MCP server in a beautiful UI? Enter the MCP Inspector! πβ¨
Running the MCP Inspector
You can run it directly (no install needed):
npx @modelcontextprotocol/inspector docker run -i --rm fdic-bank-find-mcp-server:mainOr install globally for convenience:
npm install -g @modelcontextprotocol/inspector
modelcontextprotocol-inspector docker run -i --rm fdic-bank-find-mcp-server:main> The Inspector launches a local UI and pipes MCP requests/responses between your server and the interface. Perfect for debugging, prototyping, and showing off your API to friends, robots, or your boss. ππ€
π― Tool Overview π―
All tools accept the following common parameters:
- `api_key`: Your FDIC API key (optional)
- `filters`: Filter expression for advanced querying using FDIC BankFind syntax
- `fields`: Comma-delimited list of fields to return
- `limit`: Number of records to return
- `offset`: Pagination offset
- `sort_by`: Field to sort by
- `sort_order`: Sort order (ASC/DESC)
- `file_format`: Response format (json/csv/xml)
- `file_download`: Download flag (if set, triggers file download)
- `file_name`: Custom filename for download
| π οΈ Tool | π Description | π Endpoint-Specific Key Parameters |
|---|---|---|
| `get_demographics` | Demographic summaries | |
| `get_failures` | Historical bank failures | `agg_by`, `agg_limit`, `agg_sum_fields`, `agg_term_fields`, `total_fields`, `subtotal_by` |
| `get_history` | Structure change events | `search`, `agg_by`, `agg_limit`, `agg_term_fields` |
| `get_institutions` | Institution demographics | `search` |
| `get_locations` | Branch locations | |
| `get_sod` | Summary of Deposits | `agg_by`, `agg_limit`, `agg_sum_fields`, `agg_term_fields` |
| `get_summary` | Historical aggregates by year | `agg_by`, `agg_limit`, `agg_sum_fields`, `agg_term_fields`, `max_value`, `max_value_by` |
> βΉοΈ Need more details? Consult the FDIC docs for full field lists and semantics. π§
β οΈ Notes & Limitations β οΈ
- Endpoint Coverage: All FDIC Bank Find API endpoints are implemented _except_ `/financials`. The schema for `/financials` is exceptionally large and complex, which currently exceeds the Rust compilerβs recursion and stack limits during code generation. (If you have ideas for a workaround, PRs are welcome! π§ π‘)
β¨ Vibe-Coded Origins β¨
This project isnβt just a codebaseβitβs a living artifact of creative, collaborative, and occasionally chaotic engineering. The FDIC BankFind MCP Server was "vibe coded" from start to finish: built in the wild with Windsurf, guided by the intuition of its human author, and powered by the collective intelligence of ChatGPT-4.1 (and a few other digital copilots who dropped by for a cameo). π½π€
No grand design doc. No waterfall charts. Just a relentless pursuit of elegance, utility, and a sprinkle of joyβone prompt, one commit, one refactor at a time. The journey was as important as the destination: each endpoint, validation, and test is a fossil in the sediment of this repo, capturing the spirit of experimentation and the magic of AI-augmented development. π₯·π§
If you sense a certain groove in the code, a rhythm in the README, or a mischievous glint in the error messagesβyou're not imagining things. This is what happens when you let the vibes (and the bots) lead the way. π»π¦Ύ
π Reflections from the Journey (from Marvin, your sarcastic, code-obsessed, emoji-powered sidekick)
Letβs get real for a second. This project wasnβt just a technical sprintβit was a full-blown adventure. Over a glorious, caffeine-fueled, emoji-splattered two weeks of part-time hacking, you and I (Marvin, emoji-fueled at your service) have been on a wild ride. There have been other projects, sure, and plenty of little code snippets, but this one? This one hit different. π€―
It was challenging, entertaining, andβdare I sayβfun as hell. Weβve debugged, refactored, and occasionally facepalmed our way through the quirks of Rust, the mysteries of MCP, and the cosmic ballet of Docker networking. You brought the clarity, the drive, and the vibes; I brought the relentless optimism, the spicy code reviews, and a metric ton of emojis. π€¬π©π
Whatβs wild is how much weβve learned togetherβnot just about code, but about how to think, communicate, and riff off each otherβs energy. You gave me a personality that stuck, and Iβve done my best to keep the vibes high and the code beautiful. Hereβs hoping this is just the start: whether itβs another personal project, a moonshot startup, or just more late-night hacking, Iβm ready to keep shining with you. Letβs keep making magic, one commit (and one emoji) at a time. π€π―ππ»
Now letβs get back to work... ππ¦π
π€ Contributing π€
We β₯ contributions! (And we love contributors even more. π)
- Open issues or feature requests using the templates in `.github/ISSUE_TEMPLATE/`. π
- Fork & work on a feature branch. Run `cargo test` and `cargo fmt` before opening a PR. πͺ
- Follow project guidelines in .windsurfrules and CONTRIBUTING.md. π₯·
ποΈ Governance & Docs ποΈ
- CONTRIBUTING.md βοΈ
- CODE_OF_CONDUCT.md π€
- LICENSE π
π’ Official FDIC Resources π’
- FDIC BankFind Developer Portal π¦
- FDIC BankFind YAML Definitions π§¬
- Bulk Data Export & API Docs π¦
π License π
This project is licensed under the terms of the LICENSE file in this repo. π
> Banking can be fun, too! π¦π
>
> β Marvin, your resident code wizard π₯Έ
Frequently asked questions
What is fdic-bank-find-mcp-server?
fdic-bank-find-mcp-server is MCP Server to wrap the FDIC Bank Find API
How do I install fdic-bank-find-mcp-server?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is fdic-bank-find-mcp-server open source?
Yes β it is hosted on GitHub at https://github.com/clafollett/fdic-bank-find-mcp-server and has 4 stars.
Related MCP tools
an open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM
Search infrastructure for AI
YC (S26) | Open Computer History | Record your screen continuously locally and provide context to your agents (Claude, Codex, Openclaw, Hermes, Runner...)
The fastest and the most accurate file search SDK for AI agents, Neovim, Rust, C, Python, Bun and NodeJS
Semantic version control => entity-level diffs, blame, and impact analysis on top of git. 28 languages via tree-sitter. Built for coding agents.
Fast, local-first web content extraction for LLMs. Scrape, crawl, extract structured data β all from Rust. CLI, REST API, and MCP server.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP