Skip to main content
Glama

fdic-banks-mcp-server

Describe staged dataframes

fdic_dataframe_describe
Read-onlyIdempotent

Describe the df_ dataframes that fdic_query_financials and fdic_get_deposits staged when a result at offset 0 was larger than one page, 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.

Input 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

NameRequiredDescriptionDefault
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.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare a read-only, idempotent, closed-world read, so this description clears the lower bar easily by adding substantial context: exactly what the detailed response contains (source tool, call parameters, row count, creation and expiry times, column schema, and unit/basis for amount/ratio/count columns), what the list-mode response contains, ordering (newest first), and page size (50). It also discloses the expiry behavior and the unauthenticated-canvas listing limitation, none of which is in the annotations.

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?

Information is front-loaded: the source and identity of the dataframes come first, then the two modes, then the SQL-prep guidance, then the deployment caveat. The prose is dense and runs as one long paragraph, which slightly hurts scanability, but nearly every clause carries operational information rather than filler.

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?

An output schema exists, yet the description still tells the agent what each mode returns and when to prefer which, and covers the unusual deployment case. For a two-mode read tool with defined lifecycle semantics (expiry), nothing needed 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 schema already documents both parameters, but the description adds operational meaning: the name comes from a dataset field and unlocks the full detail view, while offset is passed as next_offset from the prior page and is ignored when name is set. That cross-parameter interaction is a genuine addition beyond the schema.

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 a specific verb+resource (describe df_<id> dataframes) and precisely names where they come from: staged by fdic_query_financials/fdic_get_deposits on oversized offset-0 results, or saved via fdic_dataframe_query's register_as. It also distinguishes the two modes (named describe vs. unnamed list), so an agent can tell it apart from the sibling query tools without opening a schema.

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

Usage Guidelines5/5

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

Gives explicit when-to-use (read a table's columns this way before writing SQL for fdic_dataframe_query), how to choose between the two modes (pass name vs. omit name), and a concrete deployment exclusion: on unauthenticated HTTP where all callers share one canvas, listing is unavailable, so pass the name from a dataset field. Nothing is left to inference.

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.