Skip to main content
Glama

fdic-banks-mcp-server

Server Details

Search FDIC-insured banks, Call Report financials, peer rankings, failures, deposit market share.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
cyanheads/fdic-banks-mcp-server
GitHub Stars
1
Server Listing
@cyanheads/fdic-banks-mcp-server

TDQS

Score is being calculated.

Available Tools

9 tools
fdic_compare_peersCompare an institution with its peers
Read-onlyIdempotent
Inspect

Compare one institution with a peer group for one quarter: for each metric, the institution's value next to the peer median, quartiles, minimum and maximum, and its percentile and rank. The default peer group is every institution in the same asset-size band that reported that quarter; narrow it to one state, widen it to all sizes, or name the peers by CERT. Dollar amounts are in thousands; ratios are percentages.

ParametersJSON Schema
NameRequiredDescriptionDefault
certYesFDIC certificate number of the institution to compare, from fdic_search_institutions.
metricsNoUp to 20 metric names (fdic_list_reference topic metrics). Omit for the default health set.
peer_certsNoAn explicit peer list of up to 200 CERTs, in place of the band and state peer group — pass it without peer_asset_band and peer_state. Fewer than five peers still computes, with a notice.
peer_stateNoLimit peers to one headquarters state: a two-letter code, a full state name, or same for the institution's own state. Omit for nationwide. Not combinable with peer_certs.
report_dateNoQuarter to compare: a quarter-end date (2026-06-30), the same without dashes (20260630), or a quarter label (2026Q2). Omit for the latest quarter FDIC has published.
peer_asset_bandNoPeer size band by total assets: same (the band holding the institution's own assets, default), any (all sizes), under_100m, 100m_1b, 1b_10b, 10b_250b, or over_250b; fdic_list_reference topic peer_asset_bands gives each band's bounds. Not combinable with peer_certs.

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoPresent when the call failed. Absent on success.
noticeNoGuidance when the peer group is empty or a metric has fewer than five peer values.
data_as_ofNoWhen FDIC last rebuilt the financials index (ISO timestamp).
peer_groupNoHow the peer group was built.
comparisonsNoPer-metric comparison, in metric order.
institutionNoThe institution being compared.
report_dateNoQuarter-end date compared (YYYY-MM-DD).
peer_certs_missingNoExplicit peer CERTs that filed no Call Report for the quarter.
report_date_defaultedNoTrue when report_date was omitted and the latest published quarter was used.
fdic_dataframe_describeDescribe staged dataframes
Read-onlyIdempotent
Inspect

Describe the df_ dataframes that fdic_query_financials and fdic_get_deposits staged when a result exceeded its inline preview, plus any that fdic_dataframe_query saved with register_as. Pass name (from a dataset field) for one dataframe in full: source tool, the parameters it was called with, row count, creation and expiry time, column schema, and the unit and basis of each amount, ratio, or count column (thousands of dollars, percent, or count). Read a table's columns this way before writing SQL for fdic_dataframe_query. Omit name to list the live dataframes, newest first, 50 per page, as name, source tool, row count, and expiry only. A deployment that serves HTTP without authentication, where every caller shares one canvas, does not list; there, pass the name a dataset field returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoA dataframe name (df_XXXXX_XXXXX, from a dataset field) for its provenance, columns, and units; omit to list the live dataframes where this deployment allows it.
offsetNoListed dataframes to skip; pass next_offset from the previous page. Ignored when name is set.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoDataframes per page of the listing.
errorNoPresent when the call failed. Absent on success.
shownNoDataframes listed on this page.
totalNoLive dataframes across all pages of the listing; with name, 1 or 0.
noticeNoGuidance when nothing matched, the page is past the end, the page starts past the first dataframe, or more pages remain.
truncatedNoTrue when more dataframes remain beyond this page.
dataframesNoThe named dataframe in full, or one page of the live dataframes as summary rows, newest first; empty when none matched.
next_offsetNoOffset of the next page of the listing; present when more dataframes remain.
fdic_dataframe_queryQuery staged dataframes with SQL
Read-onlyIdempotent
Inspect

Run one read-only SELECT (DuckDB SQL) across the df_ dataframes that fdic_query_financials and fdic_get_deposits staged or an earlier register_as saved; joins, aggregates, window functions, and CTEs work. Before writing SQL, pass each table name to fdic_dataframe_describe to read its columns. DOUBLE columns come back as JSON numbers and dollar columns are thousands of US dollars; BIGINT results such as COUNT(*) come back as strings, so CAST them to INTEGER or DOUBLE for arithmetic. Writes, DDL, file-reading functions, and system catalogs are rejected. register_as materializes the result as a new dataframe with a fresh TTL.

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYesOne SELECT against df_<id> tables named in a dataset field or by fdic_dataframe_describe, up to 20,000 characters.
previewNoRows to return inline (0–10,000); defaults to row_limit, and a value above row_limit is treated as row_limit. Set it low when register_as keeps the full result.
row_limitNoHard cap on rows materialized (1–10,000). A query matching more stops here and row_count_capped comes back true; use register_as to keep the whole result.
register_asNoMaterialize the full result as a new dataframe under this unused name (df_XXXXX_XXXXX: uppercase letters and digits). A name already staged fails as register_as_clash — including on a repeat of a call that already saved it. The live dataframes share a 1,000,000-row budget: the oldest are dropped to make room, and a result over the budget on its own fails as register_as_too_large. Omit to return rows only.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe cap that bound: preview when lower, else row_limit.
rowsNoResult rows, bounded by preview and row_limit.
errorNoPresent when the call failed. Absent on success.
shownNoRows returned inline.
noticeNoGuidance when the query returned no rows or a cap withheld some.
columnsNoColumns in projection order.
row_countNoRows the query produced, up to row_limit; with register_as, the exact count of the new dataframe.
truncatedNoTrue when rows were withheld by preview or row_limit.
expires_atNoWhen the register_as dataframe is dropped (ISO 8601).
registered_asNoName of the dataframe register_as created.
row_count_cappedNoTrue when the query matched more rows than row_limit, so row_count is that cap.
fdic_get_depositsGet Summary of Deposits branches and market share
Read-onlyIdempotent
Inspect

Get Summary of Deposits data (branch-level domestic deposits, annual as of June 30, 1994 onward). With cert only: the institution's branches and its deposit market share in each state where it has offices. With a geography (state, county, city, ZIP, or MSA code): every institution in that market ranked by deposits, with market share and the Herfindahl-Hirschman index. With both: the institution's branches in that market and its rank and share there. Defaults to the latest survey year. Dollar amounts are in thousands.

ParametersJSON Schema
NameRequiredDescriptionDefault
zipNoFive-digit branch ZIP code; leading zeros kept (02110).
certNoFDIC certificate number, from fdic_search_institutions. Alone: its branches and per-state share. With a geography: its position in that market.
cityNoBranch city as FDIC spells it (Seattle, St. Louis), up to 50 characters; matched exactly as given or in title case, with a hyphen, apostrophe, or space between words also tried the other ways FDIC records it (Winston-Salem finds Winston Salem); requires state.
yearNoSurvey year (deposits as of June 30), 1994 on. Omit for the latest survey.
limitNoBranches or ranked institutions returned inline (1–200). A larger set is also staged whole as a dataframe when this deployment stages dataframes.
stateNoBranch state: two-letter code in any case or full name.
countyNoCounty as FDIC spells it (King, not King County — a trailing " County" is stripped), up to 50 characters; matched exactly as given or in title case, with a hyphen, apostrophe, or space between words also tried the other ways FDIC records it; requires state.
msa_codeNoFive-digit CBSA (metropolitan area) code, 10180–49740; branch rows from a state-level call carry msa_code values to reuse. Non-metropolitan branches have no code.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe limit applied to the preview.
modeNoinstitution (cert only), market (geography only), or institution_in_market (both).
yearNoSurvey year (deposits as of June 30).
errorNoPresent when the call failed. Absent on success.
shownNoRows in the preview.
marketNoMarket modes: the whole market in the geography.
noticeNoGuidance when nothing matched, or where the full collection is staged.
datasetNoThe staged full collection; present only when it exceeded the preview and this deployment staged it as a dataframe.
branchesNoInstitution modes: branches in scope, main office first (preview).
positionNoinstitution_in_market: present when the institution has branches in the market.
footprintNoInstitution mode: its deposits and share per state, largest first.
geographyNoThe geography as applied; absent in institution mode.
truncatedNoTrue when the preview holds fewer rows than total_rows.
data_as_ofNoWhen FDIC last rebuilt the Summary of Deposits index (ISO timestamp).
total_rowsNoFull count of the branches (institution modes) or ranked institutions (market).
institutionNoThe institution; present when it reported branches in scope.
institutionsNoMarket mode: institutions ranked by deposits (preview).
year_defaultedNoTrue when year was omitted and the latest survey was used.
fdic_get_institution_financialsGet institution quarterly financials
Read-onlyIdempotent
Inspect

Get one institution's quarterly Call Report financials by CERT — balance sheet, income, returns, credit quality, and capital ratios — most recent quarter first, with its name, status, and holding company. Unsuffixed income and return metrics are single-quarter figures; _ytd metrics accumulate from January 1. Dollar amounts are in thousands. Quarterly data lands about seven weeks after quarter end; history reaches back to 1984.

ParametersJSON Schema
NameRequiredDescriptionDefault
certYesFDIC certificate number, from fdic_search_institutions.
metricsNoUp to 25 metric names (fdic_list_reference topic metrics). Omit for the default health set: assets, deposits, uninsured deposits, equity, net income, ROA, ROE, net interest margin, efficiency, noncurrent-loan and charge-off rates, loans to deposits, and capital ratios.
to_dateNoLatest quarter to include, in the same forms as from_date. Omit for the latest published quarter.
quartersNoMost recent quarters to return (1–200; 200 covers the whole history back to 1984). Within from_date/to_date it caps the count.
from_dateNoEarliest quarter to include: a quarter-end date (2025-03-31), the same without dashes (20250331), or a quarter label (2025Q1).

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe quarters cap applied.
rowsNoQuarterly rows, most recent first.
errorNoPresent when the call failed. Absent on success.
shownNoQuarters returned.
noticeNoGuidance for an empty window, an inactive institution, or quarters left out by the cap.
truncatedNoTrue when more quarters were available than the quarters cap returned.
data_as_ofNoWhen FDIC last rebuilt the financials index (ISO timestamp).
institutionNoInstitution identity, status, holding company, and succession; fdic_search_institutions with certs returns the full record (charter class, regulator, county, dates, latest assets).
metric_definitionsNoField, unit, and basis of each metric in rows.
quarters_availableNoReported quarters in the requested window, before the quarters cap.
fdic_list_referenceList FDIC reference vocabulary
Read-onlyIdempotent
Inspect

List the vocabulary the other fdic_ tools accept and return: every financial metric name with its FDIC field, unit, and basis (single quarter, year-to-date, or point in time), bank charter classes, failure resolution methods, insurance funds, the asset bands fdic_compare_peers uses, and the years each dataset covers. Served from built-in tables; no request to FDIC.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesWhich table to list: metrics (names, FDIC fields, units, basis, default set), bank_classes, failure_methods, insurance_funds, peer_asset_bands, or coverage (years and cadence of each dataset).

Output Schema

ParametersJSON Schema
NameRequiredDescription
errorNoPresent when the call failed. Absent on success.
topicNoThe topic listed.
entriesNoEvery entry of the topic, in table order.
fdic_query_financialsQuery a multi-bank financial panel
Read-onlyIdempotent
Inspect

Pull a multi-institution, multi-quarter Call Report panel — one row per institution per quarter — filtered by CERTs, headquarters state, asset range, and thresholds on any catalog metric. Use it to screen (every bank in a state with a noncurrent-loan rate above 3%) or to build a trend panel for SQL. Returns an inline preview sorted as requested; when the panel exceeds the preview it is staged as a dataframe for fdic_dataframe_query. With no dates it covers the latest published quarter only.

ParametersJSON Schema
NameRequiredDescriptionDefault
certsNoUp to 100 CERTs to include; omit to screen every filer.
limitNoRows returned inline (1–500). A panel with more rows is also staged whole as a dataframe when this deployment stages dataframes.
stateNoHeadquarters state: two-letter code in any case or full name. Branch locations are in fdic_get_deposits.
metricsNoUp to 30 metric names (fdic_list_reference topic metrics) to return. Omit for the default health set.
sort_byNoMetric to order the preview (and the staged table) by; added to metrics when absent. Omit to order by newest quarter, then CERT.
to_dateNoLatest quarter, in the same forms as from_date. Omit for the latest published quarter; beside from_date, a later quarter is cut back to it.
from_dateNoEarliest quarter: a quarter-end date (2024-03-31), the same without dashes, or a quarter label (2024Q1). Omit for to_date alone.
max_assetsNoMaximum total assets in that quarter, thousands of US dollars; applied to each quarter's report.
min_assetsNoMinimum total assets in that quarter, thousands of US dollars (1000000 = $1 billion); applied to each quarter's report.
sort_orderNodesc (default, largest first) or asc; applies to sort_by. Rows without a value sort last.desc
metric_filtersNoUp to 5 metric thresholds, all of which a row must meet. A threshold on a capital ratio or insured_deposit_share skips filers that did not report it. Each filtered metric is added to metrics.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe limit applied to the preview.
rowsNoInline preview of the panel, sorted as requested.
errorNoPresent when the call failed. Absent on success.
shownNoRows in the preview.
noticeNoGuidance for zero matches, a capped panel, or where the full panel is staged.
datasetNoThe staged full panel; present only when the panel exceeded the preview and this deployment staged it as a dataframe.
truncatedNoTrue when the preview holds fewer rows than were fetched.
data_as_ofNoWhen FDIC last rebuilt the financials index (ISO timestamp).
report_datesNoQuarter range as applied.
rows_fetchedNoRows fetched into the panel.
panel_row_capNoThis server's row cap for one panel.
total_matchingNoInstitution-quarter rows at FDIC matching the filters.
panel_truncatedNoTrue when total_matching exceeded the panel row cap. Whole quarters are kept newest first, so a truncated panel is missing its oldest quarters — or, when the newest quarter alone exceeds the cap, the higher-numbered CERTs of that quarter.
metric_definitionsNoField, unit, and basis of each metric in rows.
report_dates_defaultedNoTrue when neither from_date nor to_date was given, so only the latest published quarter was covered.
fdic_search_failuresSearch FDIC bank failures
Read-onlyIdempotent
Inspect

Search FDIC-insured bank failures and assistance transactions since 1934 by name, CERT, headquarters state, failure date range, resolution method, or size. Returns each event with failure date, acquirer, total assets and deposits, and the FDIC's estimated loss to the insurance fund, plus totals over every matching event; group_by adds counts and losses per year, state, method, or fund. Searches failures only unless resolution is set to assistance or all. Dollar amounts are in thousands.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoFailed institution name, up to 100 characters; every word of two or more letters or digits must appear in the name FDIC recorded (e.g. "silicon valley"). Case-insensitive. A standalone NA is ignored beside other words, so it also finds names recorded with N.A.
sortNodate_desc (newest first, default), date_asc, loss_desc (largest estimated loss first), or assets_desc.date_desc
certsNoUp to 50 CERTs of failed institutions. Events before 1977 carry no CERT.
limitNoEvents per page (1–200).
stateNoFailed institution's headquarters state: two-letter code in any case or full name.
offsetNoEvents to skip (0–100,000); pass next_offset from the previous page.
methodsNoHow each event was resolved: PA purchase and assumption of all deposits, PI P&A of insured deposits only, P&A P&A with deposit scope undetermined, IDT insured deposit transfer, ABT asset-backed transfer, PO payout, DINB payout through a Deposit Insurance National Bank, A/A assistance transaction, REP reprivatization, MGR FSLIC management takeover, OBAM undocumented assistance code.
to_dateNoLatest failure date to include (YYYY-MM-DD).
group_byNoAdd counts, assets, deposits, and estimated losses per year, state, method, or insurance_fund over every matching event.
from_dateNoEarliest failure date to include (YYYY-MM-DD, e.g. 2023-03-10).
min_assetsNoMinimum total assets at the last report before failure, in thousands of US dollars.
resolutionNofailure (default), assistance (open-bank assistance and similar transactions), or all. Echoed as resolution_filter.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe limit applied to this page.
errorNoPresent when the call failed. Absent on success.
shownNoEvents returned on this page.
totalNoMatching events across all pages.
groupsNoPresent with group_by. Years run ascending with empty years filled in; other keys by count, largest first.
noticeNoGuidance when nothing matched, the page is past the end, or more pages remain.
summaryNoTotals over every matching event, not just this page.
failuresNoMatching events for this page.
truncatedNoTrue when more events remain beyond this page.
data_as_ofNoWhen FDIC last rebuilt the failures index (ISO timestamp).
next_offsetNoOffset of the next page; present when more events remain.
resolution_filterNoThe resolution filter applied.
fdic_search_institutionsSearch FDIC-insured institutions
Read-onlyIdempotent
Inspect

Find FDIC-insured banks and savings institutions by name, CERT, location, size, charter class, or holding company — including closed, merged, and failed institutions. Name matching is fuzzy, case-insensitive, and also matches former and trade names (a result says which it matched); every word must match. Returns institution records keyed by CERT, the FDIC certificate number every other fdic_ tool takes, with active status, successor CERT for merged or failed institutions, holding company, and latest reported assets and deposits. Credit unions are insured by the NCUA and are not in this data.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoHeadquarters city as FDIC spells it (e.g. Seattle, St. Louis), up to 50 characters; matched exactly, as given or in title case, with a hyphen, apostrophe, or space between words also tried the other ways FDIC records it (Winston-Salem finds Winston Salem, Coeur d'Alene finds Coeur D Alene).
nameNoInstitution name to match, up to 100 characters — current, former, or trade name, case-insensitive, every word required (e.g. "silicon valley"). Punctuation other than & ' . , - is ignored, and so is a standalone N.A. or NA, which then also matches "National Association".
sortNorelevance (active institutions whose current name holds every word of name first, then every other match, each by match score; default when name is given — without name it falls back to assets_desc), assets_desc (largest first; the default otherwise), or name (A–Z).
certsNoExact lookup by up to 50 CERTs; requested CERTs with no record come back in missing_certs.
limitNoInstitutions per page (1–100).
stateNoHeadquarters state: two-letter code in any case (wa) or full name (Washington); DC and territories accepted.
offsetNoMatches to skip (0–100,000); pass next_offset from the previous page.
statusNoactive, inactive (merged, failed, or closed), or any. Default: any when name or certs is given, otherwise active. The applied value is echoed as status_filter.
max_assetsNoMaximum latest reported total assets, in thousands of US dollars.
min_assetsNoMinimum latest reported total assets, in thousands of US dollars (1000000 = $1 billion).
bank_classesNoCharter classes to include: N national bank, NM state nonmember bank, SM state member bank, SB federal savings bank, SI state savings bank, SL state savings and loan, OI insured branch of a foreign bank, NC noninsured non-deposit trust company.
holding_company_rssdNoHolding company RSSD ID from any result's holding_company.rssd; lists the institutions under that top holder. With status any, former subsidiaries are included under the holder they had at closing.

Output Schema

ParametersJSON Schema
NameRequiredDescription
capNoThe limit applied to this page.
errorNoPresent when the call failed. Absent on success.
shownNoInstitutions returned on this page.
totalNoInstitutions matching the filters across all pages.
noticeNoGuidance when nothing matched, the page is past the end, or more pages remain.
truncatedNoTrue when more matches remain beyond this page.
data_as_ofNoWhen FDIC last rebuilt the institutions index (ISO timestamp).
next_offsetNoOffset of the next page; present when more matches remain.
institutionsNoMatching institutions for this page.
missing_certsNoRequested CERTs that match no institution record.
status_filterNoThe status filter applied.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 9 tool updates
    • First observedfdic_compare_peers
    • First observedfdic_dataframe_describe
    • First observedfdic_dataframe_query
    • First observedfdic_get_deposits
    • First observedfdic_get_institution_financials
    • First observedfdic_list_reference
    • First observedfdic_query_financials
    • First observedfdic_search_failures
    • First observedfdic_search_institutions

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables access to quarterly Call Report financials, bank health metrics, failed bank lists, branch maps, and supervisory designations for every US FDIC-insured bank, with no authentication required.
    256 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables querying US bank regulatory filings at line-item level: search institutions, retrieve labeled call reports, track specific items over time, compare banks, and inspect data coverage and code meanings, with amounts normalized to whole dollars.
    26 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Searches U.S. banks and holding companies, and retrieves their ownership hierarchies and merger/acquisition histories from Federal Reserve NIC data.
    47 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides programmatic access to the FDIC BankFind Suite API, enabling users to query public data on FDIC-insured financial institutions, bank failures, and branch locations. It supports advanced filtering for financial reports, demographics, and institutional history without requiring an API key.
    29
    84 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.