# FDIC BankFind MCP Server (remote · bankfind.jflamb.com)

Search FDIC institutions, branches, failures, and peer analysis over MCP.

- Trust score: 75/100 (medium)
- Change this week: +6
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `bankfind.jflamb.com`: 75/100 (this document), [markdown](https://verifymcp.io/servers/jflamb-fdic-mcp-server/bankfind.md), [page](https://verifymcp.io/servers/jflamb-fdic-mcp-server/bankfind)
- npm · `fdic-mcp-server`: 72/100, [markdown](https://verifymcp.io/servers/jflamb-fdic-mcp-server/fdic-mcp-server.md), [page](https://verifymcp.io/servers/jflamb-fdic-mcp-server/fdic-mcp-server)

## Channel facts

- Endpoint: `https://bankfind.jflamb.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.30.2`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 77/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 75/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 7824 tokens (~200/item across 39 items; 29 tools + 10 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.
  - Supports UI / widget rendering.

## Install

### Claude

```bash
claude mcp add --transport http jflamb-fdic-mcp-server https://bankfind.jflamb.com/mcp
```

### Codex

```toml
[mcp_servers.jflamb-fdic-mcp-server]
url = "https://bankfind.jflamb.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "jflamb-fdic-mcp-server": {
      "type": "remote",
      "url": "https://bankfind.jflamb.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add jflamb-fdic-mcp-server --url https://bankfind.jflamb.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  jflamb-fdic-mcp-server:
    url: "https://bankfind.jflamb.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "jflamb-fdic-mcp-server": {
      "type": "http",
      "url": "https://bankfind.jflamb.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 73, +2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-29 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 69, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 68)

First indexed and scored.

## MCP tools (29)

### `fdic_search_institutions` (~329 tokens)

Search FDIC Institutions

Use this when the user needs FDIC-insured institution search results by name, state, CERT, asset size, charter class, or regulatory status. Returns institution profile rows with pagination; use fdic://schemas/institutions for the full field catalog.

Input parameters:

- `fields` (string): Comma-separated list of FDIC field names to return. Leave empty to return all fields. Field names are ALL_CAPS (e.g., NAME, CERT, ASSET, DEP, STALP). Example: NAME,CERT,ASSET,DEP,STALP
- `filters` (string): FDIC API filter using ElasticSearch query string syntax. Combine conditions with AND/OR, use quotes for multi-word values, and [min TO max] for ranges (* = unbounded). Common fields: NAME (institutio…
- `limit` (integer): Maximum number of records to return (1-10000, default: 20)
- `offset` (integer): Number of records to skip for pagination (default: 0)
- `sort_by` (string): Field name to sort results by. Example: ASSET, NAME, FAILDATE
- `sort_order` (string): Sort direction: ASC (ascending) or DESC (descending)

Output parameters:

- `count` (integer)
- `has_more` (boolean)
- `institutions` (array)
- `next_offset` (integer)
- `offset` (integer)
- `total` (integer)
- `truncated` (boolean)

### `fdic_get_institution` (~80 tokens)

Get Institution by Certificate Number

Use this when the user knows an exact FDIC Certificate Number and needs one institution profile. To discover a CERT first, call fdic_search_institutions or fdic_search.

Input parameters:

- `cert` (integer, required): FDIC Certificate Number — the unique identifier for an institution
- `fields` (string): Comma-separated list of fields to return

### `fdic_search_failures` (~326 tokens)

Search Bank Failures

Use this when the user wants details on failed FDIC-insured institutions filtered by name, state, date range, resolution type, or cost. Returns failure records with pagination; see fdic://schemas/failures for the full field catalog.

Input parameters:

- `fields` (string): Comma-separated list of FDIC field names to return. Leave empty to return all fields. Field names are ALL_CAPS (e.g., NAME, CERT, ASSET, DEP, STALP). Example: NAME,CERT,ASSET,DEP,STALP
- `filters` (string): FDIC API filter using ElasticSearch query string syntax. Combine conditions with AND/OR, use quotes for multi-word values, and [min TO max] for ranges (* = unbounded). Common fields: NAME (institutio…
- `limit` (integer): Maximum number of records to return (1-10000, default: 20)
- `offset` (integer): Number of records to skip for pagination (default: 0)
- `sort_by` (string): Field name to sort results by. Example: ASSET, NAME, FAILDATE
- `sort_order` (string): Sort direction: ASC (ascending) or DESC (descending)

Output parameters:

- `count` (integer)
- `failures` (array)
- `has_more` (boolean)
- `next_offset` (integer)
- `offset` (integer)
- `total` (integer)
- `truncated` (boolean)

### `fdic_get_institution_failure` (~92 tokens)

Get Failure Details by Certificate Number

Use this when the user knows the CERT of a failed institution and needs its specific failure record. Returns failure details (date, resolution type, cost, acquirer); responds with `found: false` if the institution did not fail.

Input parameters:

- `cert` (integer, required): FDIC Certificate Number — the unique identifier for an institution
- `fields` (string): Comma-separated list of fields to return

### `fdic_search_locations` (~357 tokens)

Search Institution Locations / Branches

Use this when the user wants branch/office locations for FDIC-insured institutions, filtered by CERT, state, city, county, metro area, or branch type. Returns address, coordinates, branch number, and service-type rows; see fdic://schemas/locations for the full field catalog.

Input parameters:

- `cert` (integer): Filter by FDIC Certificate Number to get all branches of a specific institution
- `fields` (string): Comma-separated list of FDIC field names to return. Leave empty to return all fields. Field names are ALL_CAPS (e.g., NAME, CERT, ASSET, DEP, STALP). Example: NAME,CERT,ASSET,DEP,STALP
- `filters` (string): FDIC API filter using ElasticSearch query string syntax. Combine conditions with AND/OR, use quotes for multi-word values, and [min TO max] for ranges (* = unbounded). Common fields: NAME (institutio…
- `limit` (integer): Maximum number of records to return (1-10000, default: 20)
- `offset` (integer): Number of records to skip for pagination (default: 0)
- `sort_by` (string): Field name to sort results by. Example: ASSET, NAME, FAILDATE
- `sort_order` (string): Sort direction: ASC (ascending) or DESC (descending)

Output parameters:

- `count` (integer)
- `has_more` (boolean)
- `locations` (array)
- `next_offset` (integer)
- `offset` (integer)
- `total` (integer)
- `truncated` (boolean)

### `fdic_search_history` (~353 tokens)

Search Institution History / Structure Changes

Use this when the user wants structural-change events (mergers, acquisitions, name changes, charter conversions, failures) for FDIC-insured institutions, filtered by CERT, type, change code, date range, or state. See fdic://schemas/history for the full field catalog.

Input parameters:

- `cert` (integer): Filter by FDIC Certificate Number to get history for a specific institution
- `fields` (string): Comma-separated list of FDIC field names to return. Leave empty to return all fields. Field names are ALL_CAPS (e.g., NAME, CERT, ASSET, DEP, STALP). Example: NAME,CERT,ASSET,DEP,STALP
- `filters` (string): FDIC API filter using ElasticSearch query string syntax. Combine conditions with AND/OR, use quotes for multi-word values, and [min TO max] for ranges (* = unbounded). Common fields: NAME (institutio…
- `limit` (integer): Maximum number of records to return (1-10000, default: 20)
- `offset` (integer): Number of records to skip for pagination (default: 0)
- `sort_by` (string): Field name to sort results by. Example: ASSET, NAME, FAILDATE
- `sort_order` (string): Sort direction: ASC (ascending) or DESC (descending)

Output parameters:

- `count` (integer)
- `events` (array)
- `has_more` (boolean)
- `next_offset` (integer)
- `offset` (integer)
- `total` (integer)
- `truncated` (boolean)

### `fdic_search_financials` (~421 tokens)

Search Institution Financial Data

Use this when the user wants quarterly Call Report data (balance sheet, income, capital, performance ratios) for FDIC-insured institutions. Filter by CERT and/or REPDTE plus optional ElasticSearch filters. See fdic://schemas/financials for the full 1,100+ field catalog.

Input parameters:

- `cert` (integer): Filter by FDIC Certificate Number to get financials for a specific institution
- `fields` (string): Comma-separated list of FDIC field names to return. Leave empty to return all fields. Field names are ALL_CAPS (e.g., NAME, CERT, ASSET, DEP, STALP). Example: NAME,CERT,ASSET,DEP,STALP
- `filters` (string): FDIC API filter using ElasticSearch query string syntax. Combine conditions with AND/OR, use quotes for multi-word values, and [min TO max] for ranges (* = unbounded). Common fields: NAME (institutio…
- `limit` (integer): Maximum number of records to return (1-10000, default: 20)
- `offset` (integer): Number of records to skip for pagination (default: 0)
- `repdte` (string): Filter by Report Date (REPDTE) in YYYYMMDD format (quarter-end: 0331, 0630, 0930, 1231). If omitted, returns all available dates (sorted most recent first).
- `sort_by` (string): Field name to sort results by. Example: ASSET, NAME, FAILDATE
- `sort_order` (string): Sort direction: DESC (descending, default for most recent first) or ASC (ascending)

Output parameters:

- `count` (integer)
- `financials` (array)
- `has_more` (boolean)
- `next_offset` (integer)
- `offset` (integer)
- `total` (integer)
- `truncated` (boolean)

### `fdic_search_summary` (~357 tokens)

Search Annual Financial Summary Data

Use this when the user wants annual financial-summary snapshots (assets, deposits, ROA, ROE, offices) for FDIC-insured institutions, filtered by CERT and/or year. See fdic://schemas/summary for the full field catalog.

Input parameters:

- `cert` (integer): Filter by FDIC Certificate Number
- `fields` (string): Comma-separated list of FDIC field names to return. Leave empty to return all fields. Field names are ALL_CAPS (e.g., NAME, CERT, ASSET, DEP, STALP). Example: NAME,CERT,ASSET,DEP,STALP
- `filters` (string): FDIC API filter using ElasticSearch query string syntax. Combine conditions with AND/OR, use quotes for multi-word values, and [min TO max] for ranges (* = unbounded). Common fields: NAME (institutio…
- `limit` (integer): Maximum number of records to return (1-10000, default: 20)
- `offset` (integer): Number of records to skip for pagination (default: 0)
- `sort_by` (string): Field name to sort results by. Example: ASSET, NAME, FAILDATE
- `sort_order` (string): Sort direction: ASC (ascending) or DESC (descending)
- `year` (integer): Filter by specific year (e.g., 2022)

Output parameters:

- `count` (integer)
- `has_more` (boolean)
- `next_offset` (integer)
- `offset` (integer)
- `summary` (array)
- `total` (integer)
- `truncated` (boolean)

### `fdic_search_sod` (~364 tokens)

Search Summary of Deposits (SOD)

Use this when the user wants annual branch-level deposit data (SOD, as of June 30 each year) — branch deposits, MSAs, geographic distribution. Filter by CERT and/or year. See fdic://schemas/sod for the full field catalog.

Input parameters:

- `cert` (integer): Filter by FDIC Certificate Number
- `fields` (string): Comma-separated list of FDIC field names to return. Leave empty to return all fields. Field names are ALL_CAPS (e.g., NAME, CERT, ASSET, DEP, STALP). Example: NAME,CERT,ASSET,DEP,STALP
- `filters` (string): FDIC API filter using ElasticSearch query string syntax. Combine conditions with AND/OR, use quotes for multi-word values, and [min TO max] for ranges (* = unbounded). Common fields: NAME (institutio…
- `limit` (integer): Maximum number of records to return (1-10000, default: 20)
- `offset` (integer): Number of records to skip for pagination (default: 0)
- `sort_by` (string): Field name to sort results by. Example: ASSET, NAME, FAILDATE
- `sort_order` (string): Sort direction: ASC (ascending) or DESC (descending)
- `year` (integer): Filter by specific year (1994-present). SOD data is annual.

Output parameters:

- `count` (integer)
- `deposits` (array)
- `has_more` (boolean)
- `next_offset` (integer)
- `offset` (integer)
- `total` (integer)
- `truncated` (boolean)

### `fdic_search_demographics` (~392 tokens)

Search Institution Demographics Data

Use this when the user wants quarterly demographic and market-structure attributes (office counts, metro classification, county/territory codes, geographic reference data) for FDIC-insured institutions. Filter by CERT and/or REPDTE. See fdic://schemas/demographics for the full field catalog.

Input parameters:

- `cert` (integer): Filter by FDIC Certificate Number
- `fields` (string): Comma-separated list of FDIC field names to return. Leave empty to return all fields. Field names are ALL_CAPS (e.g., NAME, CERT, ASSET, DEP, STALP). Example: NAME,CERT,ASSET,DEP,STALP
- `filters` (string): FDIC API filter using ElasticSearch query string syntax. Combine conditions with AND/OR, use quotes for multi-word values, and [min TO max] for ranges (* = unbounded). Common fields: NAME (institutio…
- `limit` (integer): Maximum number of records to return (1-10000, default: 20)
- `offset` (integer): Number of records to skip for pagination (default: 0)
- `repdte` (string): Filter by Report Date (REPDTE) in YYYYMMDD format (quarter-end: 0331, 0630, 0930, 1231).
- `sort_by` (string): Field name to sort results by. Example: ASSET, NAME, FAILDATE
- `sort_order` (string): Sort direction: ASC (ascending) or DESC (descending)

Output parameters:

- `count` (integer)
- `demographics` (array)
- `has_more` (boolean)
- `next_offset` (integer)
- `offset` (integer)
- `total` (integer)
- `truncated` (boolean)

### `fdic_compare_bank_snapshots` (~789 tokens)

Compare Bank Snapshot Trends

Compare FDIC reporting snapshots across a set of institutions and rank the results by growth, profitability, or efficiency changes.

This tool is designed for heavier analytical prompts that would otherwise require many separate MCP calls. It batches institution roster lookup, financial snapshots, optional office-count snapshots, and can also fetch a quarterly time series inside the server.

Good uses:
  \- Identify North Carolina banks with the strongest asset growth from 2021 to 2025
  \- Compare whether deposit growth came with branch expansion or profitability improvement
  \- Rank a specific cert list by ROA, ROE, asset-per-office, or deposit-to-asset changes
  \- Pull a quarterly trend series and highlight inflection points, streaks, and structural shifts

Inputs:
  \- state or certs: choose a geographic roster or provide a direct comparison set
  \- start_repdte, end_repdte: Report Dates (REPDTE) in YYYYMMDD format — must be quarter-end dates (0331, 0630, 0930, 1231)
  \- analysis_mode: snapshot or timeseries
  \- institution_filters: optional extra institution filter when building the roster
  \- active_only: default true
  \- include_demographics: default true, adds office-count comparisons when available
  \- sort_by: ranking field (default: asset_growth). All options: asset_growth, asset_growth_pct, dep_growth, dep_growth_pct, netinc_change, netinc_change_pct, roa_change, roe_change, offices_change, assets_per_office_change, deposits_per_office_change, deposits_to_assets_change
  \- sort_order: ASC or DESC
  \- limit: maximum ranked results to return

Returns concise comparison text plus structured deltas, derived metrics, and insight tags for each institution.

Input parameters:

- `active_only` (boolean): Limit the comparison set to currently active institutions.
- `analysis_mode` (string): Use snapshot for two-point comparison or timeseries for quarterly trend analysis across the date range.
- `certs` (array): Optional list of FDIC certificate numbers to compare directly. Max 100.
- `end_repdte` (string): Ending Report Date (REPDTE) in YYYYMMDD format. Must be a quarter-end date: March 31 (0331), June 30 (0630), September 30 (0930), or December 31 (1231). Must be later than start_repdte. Example: 2025…
- `include_demographics` (boolean): Include office-count changes from the demographics dataset when available.
- `institution_filters` (string): Additional institution-level filter used when building the comparison set. Example: BKCLASS:N or CITY:"Charlotte"
- `limit` (integer): Maximum number of ranked comparisons to return.
- `sort_by` (string): Comparison field used to rank institutions. Valid options: asset_growth, asset_growth_pct, dep_growth, dep_growth_pct, netinc_change, netinc_change_pct, roa_change, roe_change, offices_change, assets…
- `sort_order` (string): Sort direction for the ranked comparisons.
- `start_repdte` (string): Starting Report Date (REPDTE) in YYYYMMDD format. Must be a quarter-end date: March 31 (0331), June 30 (0630), September 30 (0930), or December 31 (1231). Example: 20210331 for Q1 2021. If omitted, d…
- `state` (string): State name for the institution roster filter. Example: "North Carolina"

### `fdic_peer_group_analysis` (~595 tokens)

Peer Group Analysis

Build a peer group for an FDIC-insured institution and rank it against peers on financial and efficiency metrics at a single report date.

Three usage modes:
  \- Subject-driven: provide cert and repdte — auto-derives peer criteria from the subject's asset size and charter class
  \- Explicit criteria: provide repdte plus asset_min/asset_max, charter_classes, state, or raw_filter
  \- Subject with overrides: provide cert plus explicit criteria to override auto-derived defaults

Metrics ranked (fixed order):
  \- Total Assets, Total Deposits, ROA, ROE, Net Interest Margin
  \- Equity Capital Ratio, Efficiency Ratio, Loan-to-Deposit Ratio
  \- Deposits-to-Assets Ratio, Non-Interest Income Share

Rankings use competition rank (1, 2, 2, 4). Rank, denominator, and percentile all use the same comparison set: matched peers plus the subject institution.

Output includes:
  \- Subject rankings and percentiles (when cert provided)
  \- Peer group medians
  \- Peer list with CERTs (pass to fdic_compare_bank_snapshots for trend analysis)
  \- Metric definitions with directionality metadata

Override precedence: cert derives defaults, then explicit params override them.

Input parameters:

- `active_only` (boolean): Limit to institutions where ACTIVE:1 (currently operating, FDIC-insured).
- `asset_max` (number): Maximum total assets ($thousands) for peer selection. Defaults to 200% of subject's report-date assets when cert is provided.
- `asset_min` (number): Minimum total assets ($thousands) for peer selection. Defaults to 50% of subject's report-date assets when cert is provided.
- `cert` (integer): Subject institution CERT number. When provided, auto-derives peer criteria and ranks this bank against peers.
- `charter_classes` (array): Charter class codes to include (e.g., ["N", "SM"]). Defaults to the subject's charter class when cert is provided.
- `extra_fields` (array): Additional FDIC field names to include as raw values in the response. Does not affect peer selection.
- `limit` (integer): Max peer records returned in the response. All matched peers are used for ranking regardless of this limit.
- `raw_filter` (string): Advanced: raw ElasticSearch query string appended to peer selection criteria with AND.
- `repdte` (string): Report Date (REPDTE) in YYYYMMDD format. FDIC data is published quarterly on: March 31, June 30, September 30, and December 31. Example: 20231231 for Q4 2023. If omitted, defaults to the most recent…
- `state` (string): Two-letter state code (e.g., "NC", "TX").

### `fdic_analyze_bank_health` (~291 tokens)

Analyze Bank Health (CAMELS-Style)

Produce a CAMELS-style analytical assessment for a single FDIC-insured institution using the public off-site proxy model.

Scores five components — Capital (C), Asset Quality (A), Earnings (E), Liquidity (L), Sensitivity (S) — using published FDIC financial data and derives a weighted composite rating (1=Strong to 5=Unsatisfactory), plus a proxy model overall band (1.0–4.0 scale).

Output includes:
  \- Composite and component ratings with individual metric scores
  \- Proxy model overall assessment band with capital classification
  \- Management overlay assessment (inferred from public data patterns)
  \- Trend analysis across prior quarters for key metrics
  \- Risk signals flagging critical and warning-level concerns
  \- Structured JSON for programmatic consumption (legacy + proxy fields)

NOTE: Management (M) is omitted from component scoring — cannot be assessed from public data. Sensitivity (S) uses proxy metrics (NIM trend, securities concentration). This is a public off-site analytical proxy, not an official CAMELS rating.

Input parameters:

- `cert` (integer, required): FDIC Certificate Number of the institution to analyze.
- `quarters` (integer): Number of prior quarters to fetch for trend analysis (default 8).
- `repdte` (string): Report Date (YYYYMMDD). Defaults to the most recent quarter likely to have published data.

### `fdic_compare_peer_health` (~380 tokens)

Compare Peer Health (CAMELS Rankings)

Compare CAMELS-style health scores across a group of FDIC-insured institutions.

Three usage modes:
  \- Explicit list: provide certs (up to 50) for a specific comparison set
  \- State-wide scan: provide state to compare all active institutions in that state
  \- Asset-based: provide asset_min/asset_max to compare institutions by size

Optionally provide cert to highlight a subject institution's position in the ranking.

Output: structuredContent includes {model, official_status, report_date, institutions, metrics, peer_context, proxy_summary, proxy, deprecations}. Institutions include proxy scores and name_source. When a subject cert is provided, metrics[] is the preferred subject-vs-peer array for new UI bindings and proxy_summary is a flattened subject proxy. peer_context.subject_percentiles is deprecated, remains for backward compatibility, and is targeted for removal only in a future coordinated major release. Auto-peer selection derives asset bands from report-date financials and broadens the cohort if fewer than 10 peers match.

NOTE: Public off-site analytical proxy — not official supervisory ratings.

Input parameters:

- `asset_max` (number): Maximum total assets ($thousands) for peer selection.
- `asset_min` (number): Minimum total assets ($thousands) for peer selection.
- `cert` (integer): Subject institution CERT to highlight in the ranking. Optional.
- `certs` (array): Explicit list of CERTs to compare (max 50).
- `limit` (integer): Max institutions to return in the response.
- `repdte` (string): Report Date (YYYYMMDD). Defaults to the most recent quarter.
- `sort_by` (string): Sort results by composite or a specific CAMELS component rating.
- `state` (string): Two-letter state code to select all active institutions (e.g., "WY").

Output parameters:

- `deprecations` (array)
- `institutions` (array)
- `metrics` (array)
- `model` (string)
- `official_status` (string)
- `peer_context`
- `proxy`
- `proxy_summary`
- `report_date` (string)
- `returned_count` (integer)
- `sort_by` (string)
- `subject_cert`
- `subject_rank`
- `total_institutions` (integer)

### `fdic_detect_risk_signals` (~366 tokens)

Detect Risk Signals (Early Warning)

Scan FDIC-insured institutions for early warning risk signals using the public_camels_proxy_v1 analytical engine.

Standardized signal codes with severity levels:
  \- Critical: capital_undercapitalized (PCA breach), earnings_loss (ROA < 0), reserve_coverage_low (< 50%)
  \- Warning: capital_buffer_erosion, credit_deterioration, credit_deterioration_trending, earnings_pressure, margin_compression, funding_stress, funding_ltd_stretched, rate_risk_proxy_elevated, wholesale_funding_elevated
  \- Info: merger_distorted_trend, stale_reporting_period

Three scan modes:
  \- State-wide: provide state to scan all active institutions
  \- Explicit list: provide certs (up to 50)
  \- Asset-based: provide asset_min/asset_max

Output: Per-institution risk signals ranked by severity count. The proxy engine drives signal generation internally; the output is signal-shaped, not assessment-shaped.

NOTE: Public off-site analytical proxy — not official supervisory ratings.

Input parameters:

- `asset_max` (number): Maximum total assets ($thousands) filter.
- `asset_min` (number): Minimum total assets ($thousands) filter.
- `certs` (array): Specific CERTs to scan (max 50).
- `limit` (integer): Max flagged institutions to return.
- `min_severity` (string): Minimum severity level to include in results (default: warning).
- `quarters` (integer): Prior quarters to fetch for trend analysis (default 4).
- `repdte` (string): Report Date (YYYYMMDD). Defaults to the most recent quarter.
- `state` (string): Scan all active institutions in this state.

### `fdic_analyze_credit_concentration` (~160 tokens)

Analyze Credit Concentration

Analyze loan portfolio composition and credit concentration risk for an FDIC-insured institution. Computes CRE concentration relative to capital (per 2006 interagency guidance), loan-type breakdown, and flags concentration risks.

Output includes:
  \- Loan portfolio composition (CRE, C&I, consumer, residential, agricultural shares)
  \- CRE and construction concentration relative to total capital
  \- Loan-to-asset ratio
  \- Concentration risk signals based on interagency guidance thresholds
  \- Structured JSON for programmatic consumption

NOTE: This is an analytical tool based on public financial data.

Input parameters:

- `cert` (integer, required): FDIC Certificate Number
- `repdte` (string): Report date (YYYYMMDD). Defaults to most recent quarter.

### `fdic_analyze_funding_profile` (~136 tokens)

Analyze Funding Profile

Analyze deposit composition, wholesale funding reliance, and funding risk for an FDIC-insured institution.

Output includes:
  \- Deposit composition (core, brokered, foreign deposit shares)
  \- Wholesale funding reliance and FHLB advances relative to assets
  \- Cash ratio for near-term liquidity
  \- Funding risk signals based on supervisory thresholds
  \- Structured JSON for programmatic consumption

NOTE: This is an analytical tool based on public financial data.

Input parameters:

- `cert` (integer, required): FDIC Certificate Number
- `repdte` (string): Report date (YYYYMMDD). Defaults to most recent quarter.

### `fdic_analyze_securities_portfolio` (~149 tokens)

Analyze Securities Portfolio

Analyze securities portfolio size, composition, and concentration risk for an FDIC-insured institution.

Output includes:
  \- Securities relative to total assets and capital
  \- MBS concentration within the securities portfolio
  \- AFS/HTM breakdown (when available)
  \- Risk signals for portfolio concentration and interest rate exposure
  \- Structured JSON for programmatic consumption

NOTE: This is an analytical tool based on public financial data. AFS/HTM breakdown is not currently available from the FDIC API.

Input parameters:

- `cert` (integer, required): FDIC Certificate Number
- `repdte` (string): Report date (YYYYMMDD). Defaults to most recent quarter.

### `fdic_ubpr_analysis` (~230 tokens)

UBPR-Equivalent Ratio Analysis

Compute UBPR-equivalent ratio analysis for an FDIC-insured institution. Includes summary ratios (ROA, ROE, NIM, efficiency), loan mix, capital adequacy, liquidity metrics, and year-over-year growth rates. Ratios are computed from Call Report data and are UBPR-equivalent, not official FFIEC UBPR output.

Output includes:
  \- Summary ratios: ROA, ROE, NIM, efficiency ratio, pretax ROA
  \- Loan mix: real estate, commercial, consumer, agricultural shares
  \- Capital adequacy: Tier 1 leverage, Tier 1 risk-based, equity ratio
  \- Liquidity: loan-to-deposit, core deposit ratio, brokered deposits, cash ratio
  \- Year-over-year growth: assets, loans, deposits
  \- Structured JSON for programmatic consumption

NOTE: This is an analytical tool based on public financial data.

Input parameters:

- `cert` (integer, required): FDIC Certificate Number
- `repdte` (string): Report date (YYYYMMDD). Defaults to most recent quarter.

### `fdic_market_share_analysis` (~379 tokens)

Deposit Market Share Analysis

Analyze deposit market share and concentration for an MSA or city market using FDIC Summary of Deposits (SOD) data.

Computes market share for all institutions in a geographic market, ranks them by deposits, and calculates the Herfindahl-Hirschman Index (HHI) for market concentration analysis per DOJ/FTC merger guidelines.

Two entry modes:
  \- MSA market: provide msa as the numeric MSABR code (e.g., msa: 19100 for Dallas-Fort Worth-Arlington, msa: 42660 for Seattle-Tacoma-Bellevue). Use fdic_search_sod to look up MSABR codes.
  \- City market: provide city (branch city name, e.g., "Austin") and state (two-letter code, e.g., "TX").

Output includes:
  \- Market overview with total deposits, institution count, and HHI classification
  \- Optional highlighted institution showing rank and share (provide cert)
  \- Top institutions ranked by deposit market share
  \- Structured JSON for programmatic consumption

Requires at least one of: msa (numeric MSABR code), or city + state.

Input parameters:

- `cert` (integer): Highlight a specific institution in the results.
- `city` (string): City name (e.g., "Austin"). Requires state.
- `msa` (integer): FDIC MSABR numeric code for the Metropolitan Statistical Area (e.g., 19100 for Dallas-Fort Worth-Arlington, 42660 for Seattle-Tacoma-Bellevue). Use fdic_search_sod with MSABR to look up codes.
- `state` (string): Two-letter state abbreviation (e.g., TX). Required when using city filter.
- `year` (integer): SOD report year (1994-present). Defaults to most recent.

### `fdic_franchise_footprint` (~151 tokens)

Institution Franchise Footprint

Analyze the geographic franchise footprint of an FDIC-insured institution using Summary of Deposits (SOD) data.

Shows how an institution's branches and deposits are distributed across metropolitan statistical areas (MSAs), providing a market-by-market breakdown of branch count, deposit totals, and percentage of the institution's total deposits.

Output includes:
  \- Total branch count, deposits, and market count
  \- Market-by-market breakdown sorted by deposits
  \- Structured JSON for programmatic consumption

Branches outside MSAs are grouped under "Non-MSA / Rural".

Input parameters:

- `cert` (integer, required): FDIC Certificate Number
- `year` (integer): SOD report year. Defaults to most recent.

### `fdic_holding_company_profile` (~159 tokens)

Holding Company Profile

Profile a bank holding company by grouping its FDIC-insured subsidiaries and aggregating financial metrics. Look up by holding company name or by any subsidiary's CERT number.

Output includes:
  \- Consolidated summary with total assets, deposits, and asset-weighted ROA/equity ratio
  \- List of all FDIC-insured subsidiaries with individual metrics
  \- Structured JSON for programmatic consumption

NOTE: This is an analytical tool based on public financial data.

Input parameters:

- `cert` (integer): CERT of any subsidiary — looks up its holding company, then profiles the entire HC.
- `hc_name` (string): Holding company name (e.g., "JPMORGAN CHASE & CO"). Uses NAMEHCR field.

### `fdic_regional_context` (~201 tokens)

Regional Economic Context

Overlay macro/regional economic data on a bank's geographic context. Uses FRED (Federal Reserve Economic Data) for state unemployment, national unemployment, and federal funds rate. Provides trend analysis and narrative context for bank performance assessment. Gracefully degrades if FRED API is unavailable.

Output includes:
  \- State and national unemployment rates with trend analysis
  \- Federal funds rate and rate environment classification
  \- Narrative assessment of macro conditions for bank performance
  \- Structured JSON for programmatic consumption

NOTE: Requires FRED_API_KEY environment variable for reliable data access. Degrades gracefully without it.

Input parameters:

- `cert` (integer): FDIC Certificate Number — auto-detects state from institution record.
- `repdte` (string): Reference report date (YYYYMMDD). FRED data fetched for 2 years before this date.
- `state` (string): Two-letter state abbreviation (e.g., TX). Alternative to cert-based lookup.

### `fdic_qbp_lite_data` (~161 tokens)

Generate QBP Lite Data Bundle

Build chart-ready data for a concise QBP Lite report from reproducible public BankFind quarterly financials. Includes executive snapshot metrics, trend series, community-bank comparison data, source notes, and explicit exclusions for non-public or non-BankFind QBP items.

Input parameters:

- `include_community_banks` (boolean): Include a compact community-bank-vs-industry comparison using the public community-bank flag.
- `repdte` (string): Quarter-end Report Date (REPDTE) in YYYYMMDD format. If omitted, the tool searches backward from the latest likely published quarter until data is found.
- `trend_quarters` (integer): Number of quarterly observations to return for trend charts, including the current quarter. Default 20 quarters.

### `search` (~59 tokens)

Search FDIC BankFind

Use this when the model needs citation-friendly FDIC BankFind search results for institutions, failed banks, branches, or schema documentation. Returns up to 8 results with id, title, and source URL.

Input parameters:

- `query` (string, required): Natural-language search query.

Output parameters:

- `results` (array)

### `fetch` (~89 tokens)

Fetch FDIC BankFind Result

Use this when the model needs the full citation text for a result returned by search. Pass the search result id (e.g. 'institution:3511', 'failure:1234', 'branch:<UNINUM>', 'schema:institutions').

Input parameters:

- `id` (string, required): Retrieval item id, such as institution:<CERT>, failure:<CERT>, branch:<UNINUM>, or schema:<endpoint>.

Output parameters:

- `id` (string)
- `metadata` (object)
- `text` (string)
- `title` (string)
- `url` (string)

### `fdic_search` (~61 tokens)

Search FDIC BankFind

Use this when the model needs citation-friendly FDIC BankFind search results for institutions, failed banks, branches, or schema documentation. Returns up to 8 results with id, title, and source URL.

Input parameters:

- `query` (string, required): Natural-language search query.

Output parameters:

- `results` (array)

### `fdic_fetch` (~91 tokens)

Fetch FDIC BankFind Result

Use this when the model needs the full citation text for a result returned by search. Pass the search result id (e.g. 'institution:3511', 'failure:1234', 'branch:<UNINUM>', 'schema:institutions').

Input parameters:

- `id` (string, required): Retrieval item id, such as institution:<CERT>, failure:<CERT>, branch:<UNINUM>, or schema:<endpoint>.

Output parameters:

- `id` (string)
- `metadata` (object)
- `text` (string)
- `title` (string)
- `url` (string)

### `fdic_show_bank_deep_dive` (~106 tokens)

Show Bank Deep Dive Dashboard

Use this when the user wants a scannable single-institution dashboard with identity, public financial metrics, risk signals, and source links. ChatGPT renders an interactive widget; Claude and other MCP clients render the same data as a Markdown table.

Input parameters:

- `cert` (integer, required): FDIC Certificate Number of the institution to render.
- `repdte` (string): Quarter-end report date in YYYYMMDD format. Defaults to the most recent likely published quarter.

Output parameters:

- `assessment` (object)
- `institution` (object)
- `metrics` (object)
- `risk_signals` (array)
- `sources` (array)
- `warnings` (array)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/jflamb-fdic-mcp-server/bankfind#diagnostics

## Score history

- 2026-08-03: 75
- 2026-08-02: 74
- 2026-08-01: 74
- 2026-07-31: 73
- 2026-07-30: 71
- 2026-07-29: 70
- 2026-07-28: 69
- 2026-07-27: 69
- 2026-07-26: 68

## Links

- Remote endpoint: https://bankfind.jflamb.com/mcp
- Changelog RSS feed: https://verifymcp.io/servers/jflamb-fdic-mcp-server/bankfind/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/jflamb-fdic-mcp-server/bankfind/changelog.json
- HTML version of this page: https://verifymcp.io/servers/jflamb-fdic-mcp-server/bankfind
