Skip to main content
Glama

fdic-banks-mcp-server

Get Summary of Deposits branches and market share

fdic_get_deposits
Read-onlyIdempotent

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. Branches and rankings come a page at a time, continued with offset; at offset 0 a set larger than the page is also staged as a dataframe for fdic_dataframe_query. Defaults to the latest survey year. Dollar amounts are in thousands.

Input 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.
limitNoPositive count of rows per page, sliced from the already-fetched branches or ranking at offset. At offset 0 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.
offsetNoBranches or ranked institutions to skip; pass next_offset from the previous page. Only offset 0 stages a dataframe.
msa_codeNoFive-digit CBSA (metropolitan area) code, 10180–49740; branch rows (returned when cert is given) carry msa_code values to reuse. Non-metropolitan branches have no code.

Output Schema

NameRequiredDescriptionDefault
capNoThe limit applied to this page.
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 on this page.
marketNoMarket modes: the whole market in the geography.
noticeNoGuidance when nothing matched, more pages remain, the page is past the end, or where the full collection is staged.
datasetNoThe staged full collection; present only at offset 0 when it exceeded limit and this deployment staged it as a dataframe.
branchesNoInstitution modes: one page of the branches in scope by branch number (main office first), starting at offset.
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 rows remain past this page (next_offset is set).
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.
next_offsetNoOffset of the next page; present while rows remain past this page.
institutionsNoMarket mode: one page of the institutions ranked by deposits (ties by CERT), starting at offset.
year_defaultedNoTrue when year was omitted and the latest survey was used.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changed
    • changedInput schema / properties / limit / description
      Previous value: -"Positive inline preview count, bounded by the already-fetched branches or ranking. A larger set is staged whole as a dataframe when this deployment stages dataframes."New value: +"Positive count of rows per page, sliced from the already-fetched branches or ranking at offset. At offset 0 a larger set is also staged whole as a dataframe when this deployment stages dataframes."
    • changedInput schema / properties / msa_code / description
      Previous value: -"Five-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."New value: +"Five-digit CBSA (metropolitan area) code, 10180–49740; branch rows (returned when cert is given) carry msa_code values to reuse. Non-metropolitan branches have no code."
    • addedInput schema / properties / offset
      Added value: +{
      +  "default": 0,
      +  "description": "Branches or ranked institutions to skip; pass next_offset from the previous page. Only offset 0 stages a dataframe.",
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • changedOutput schema / properties / branches / description
      Previous value: -"Institution modes: branches in scope, main office first (preview)."New value: +"Institution modes: one page of the branches in scope by branch number (main office first), starting at offset."
    • changedOutput schema / properties / cap / description
      Previous value: -"The limit applied to the preview."New value: +"The limit applied to this page."
    • changedOutput schema / properties / dataset / description
      Previous value: -"The staged full collection; present only when it exceeded the preview and this deployment staged it as a dataframe."New value: +"The staged full collection; present only at offset 0 when it exceeded limit and this deployment staged it as a dataframe."
    • changedOutput schema / properties / institutions / description
      Previous value: -"Market mode: institutions ranked by deposits (preview)."New value: +"Market mode: one page of the institutions ranked by deposits (ties by CERT), starting at offset."
    • addedOutput schema / properties / next_offset
      Added value: +{
      +  "description": "Offset of the next page; present while rows remain past this page.",
      +  "maximum": 9007199254740991,
      +  "minimum": -9007199254740991,
      +  "type": "integer"
      +}
    • changedOutput schema / properties / notice / description
      Previous value: -"Guidance when nothing matched, or where the full collection is staged."New value: +"Guidance when nothing matched, more pages remain, the page is past the end, or where the full collection is staged."
    • changedOutput schema / properties / shown / description
      Previous value: -"Rows in the preview."New value: +"Rows on this page."
    • changedOutput schema / properties / truncated / description
      Previous value: -"True when the preview holds fewer rows than total_rows."New value: +"True when rows remain past this page (next_offset is set)."
  2. Changed2 schema fields changed
    • changedInput schema / properties / limit / description
      Previous value: -"Branches or ranked institutions returned inline (1–200). A larger set is also staged whole as a dataframe when this deployment stages dataframes."New value: +"Positive inline preview count, bounded by the already-fetched branches or ranking. A larger set is staged whole as a dataframe when this deployment stages dataframes."
    • changedInput schema / properties / limit / maximum
      Previous value: -200New value: +9007199254740991
  3. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover read-only/idempotent/open-world, so the description's real contribution is pagination mechanics (page-at-a-time, continue with offset, only offset 0 stages a dataframe), the June 30 annual cadence, and units in thousands. It stops short of describing empty-market behavior or error conditions, which keeps it off a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, front-loaded with the dataset and scope, then the mode matrix, then pagination and defaults. Dense but nearly waste-free; the long 'With both' sentence is slightly overpacked but still parseable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter, no-required-parameter tool with an output schema and full schema coverage, this covers what remains: mode selection, defaulting, pagination protocol, unit conventions, and a pointer to the dataframe handoff. Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description earns a bump by explaining the interaction semantics the schema only states per-field — which geography types are accepted and what cert adds when combined. It does not restate syntax details already in the schema, which is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the specific dataset (FDIC Summary of Deposits, branch-level domestic deposits, annual as of June 30 from 1994) and then enumerates the three result shapes by parameter combination. An agent can tell exactly what comes back for cert-only, geography-only, and combined calls without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly maps each parameter combination to its output mode, states the default (latest survey year) and that branches/rankings are paged via offset. It names fdic_dataframe_query as the consumer of staged dataframes, but does not point to a sibling for nearby questions (e.g. drill-down on an institution identified here).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.