Skip to main content
Glama

NCUA credit union data

find_credit_union

Find credit unions by name, state, charter type (federal/state) or asset peer group, in a given quarter (default: latest). Name matching ignores case, punctuation and the words 'federal credit union' / 'FCU', so 'SRP Federal Credit Union' finds 'SRP'; partial names work. It also matches former names (a credit union that was renamed shows up under the old name, match = former_name, with its current name) and a few brand names (BECU, PenFed, SECU). Results are ranked: match = exact, starts_with, contains, former_name, then larger assets first. Each row has 'ambiguous': true when several different credit unions fit the name. In that case ask the user which one they mean (use city and state to tell them apart) rather than picking the first. If nothing matches, the result is one row with 'no_match' explaining why (for example the credit union merged or closed, with its last reported quarter). Returns cu_number, name, location, total assets, members. Use the returned cu_number in the other tools. Only federally insured credit unions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
limitNo
stateNo
quarterNo
peer_groupNo
charter_typeNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / peer_group / anyOf
      Previous value: -[
      -  {
      -    "type": "integer"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "type": "integer"
      +  },
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does so well: it discloses matching normalization (case/punctuation/'FCU' stripping), former-name and brand-name matching with a match=former_name signal, ranking order, the 'ambiguous' flag, the synthetic 'no_match' row explaining mergers/closures, and the federally-insured-only scope. It omits any statement of read-only/auth/rate-limit behavior, but those are minor for a read-style lookup.

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?

The purpose and filter set are front-loaded, and the dense sentence on match ranking, ambiguity, and no_match all earn their place for an agent that must interpret results. The list of example brand names and the explicit return-field enumeration are mildly redundant given the output schema, so it is a touch longer than strictly necessary.

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 six-parameter search tool with an output schema, the description supplies everything an agent needs to call it and interpret results: filters, defaulting behavior, ranking, the ambiguity escalation rule, and the no_match outcome. Re-stating that it returns cu_number, name, location, assets and members is slight redundancy with the output schema but not a completeness gap.

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 0%, so the description must compensate and largely does: it defines the semantics of name (with fuzzy matching rules), state, charter_type (federal/state), peer_group (asset peer group), and quarter (defaults to latest). The only undocumented parameter is 'limit', whose meaning and default the agent must infer, leaving one gap in otherwise strong compensation.

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 (find) and resource (credit unions) plus the exact filter dimensions (name, state, charter type, asset peer group, quarter), and distinguishes itself from siblings by instructing the agent to 'Use the returned cu_number in the other tools.' An agent can tell this is the lookup/entry-point tool versus credit_union_profile or peer_compare without opening any 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?

Clearly implies when to reach for it (locating a credit union by name/state/charter/peer group) and gives an explicit branch rule: when 'ambiguous' is true, ask the user which one they mean using city/state rather than guessing. It routes downstream by name ('the other tools') but never names credit_union_profile or any sibling explicitly, so the when-not/alternative mapping is slightly weaker than ideal.

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.