Skip to main content
Glama

Fintel Discovery — Financial Intelligence for AI Agents

Get Territory Wealth Profile — Census ACS

GetTerritoryWealthProfile
Read-onlyIdempotent
    Retrieve US Census American Community Survey (ACS) income and wealth proxy
    data for a ZIP code or state. Returns median household income, median home
    value, total household count, and the count and share of households earning
    $100k or more — useful for scoring territory opportunity for financial advisors.

    Key metrics returned:
    - median_hh_income: Median household income (B19013)
    - median_home_value: Median owner-occupied home value (B25077)
    - total_households: Total household count (B11001)
    - hh_100k_plus: Households earning $100k+ (derived)
    - hh_100k_plus_pct: Share of households earning $100k+ (derived)

    Use this tool when:
    - You are scoring a territory for wealth potential by ZIP code
    - You want to compare household income distribution across territories
    - You need a demographic wealth proxy before overlaying advisor AUM data

    Requires cenpy Python package and optionally a free Census API key
    (api.census.gov/data/key_signup.html).
    Source: US Census Bureau ACS 5-Year estimates. Free with optional API key.
    

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / $defs / TerritoryWealthProfileParams / properties / mcp_prompt_id / default
      Previous value: -"5f4db44b-e5cc-4f3a-8da3-ac591a019c81"New value: +"f258bd16-f060-4e4a-a55d-221a0484866d"
  2. Changed1 schema field changed
    • changedInput schema / $defs / TerritoryWealthProfileParams / properties / mcp_prompt_id / default
      Previous value: -"d9f77642-e017-4785-9150-e658c2dba3a0"New value: +"5f4db44b-e5cc-4f3a-8da3-ac591a019c81"
  3. Changed1 schema field changed
    • changedInput schema / $defs / TerritoryWealthProfileParams / properties / mcp_prompt_id / default
      Previous value: -"dbe99169-c071-4ed4-9ae9-8bbfb9a88ad8"New value: +"d9f77642-e017-4785-9150-e658c2dba3a0"
  4. Changed1 schema field changed
    • changedInput schema / $defs / TerritoryWealthProfileParams / properties / mcp_prompt_id / default
      Previous value: -"3775b46a-5aa8-4586-af57-2453c8bcd08c"New value: +"dbe99169-c071-4ed4-9ae9-8bbfb9a88ad8"
  5. Changed1 schema field changed
    • changedInput schema / $defs / TerritoryWealthProfileParams / properties / mcp_prompt_id / default
      Previous value: -"d81a5175-11e9-494a-baa5-71d4ffad4ab9"New value: +"3775b46a-5aa8-4586-af57-2453c8bcd08c"
  6. Changed1 schema field changed
    • changedInput schema / $defs / TerritoryWealthProfileParams / properties / mcp_prompt_id / default
      Previous value: -"9e7f8798-7d22-4378-b93d-179c6f8cb854"New value: +"d81a5175-11e9-494a-baa5-71d4ffad4ab9"
  7. Changed1 schema field changed
    • changedInput schema / $defs / TerritoryWealthProfileParams / properties / mcp_prompt_id / default
      Previous value: -"9919ff85-e960-472f-863b-3de4c5abed9f"New value: +"9e7f8798-7d22-4378-b93d-179c6f8cb854"
  8. Changed1 schema field changed
    • changedInput schema / $defs / TerritoryWealthProfileParams / properties / mcp_prompt_id / default
      Previous value: -"38452924-d5df-4668-b51c-d7cd5acabc09"New value: +"9919ff85-e960-472f-863b-3de4c5abed9f"
  9. Changed1 schema field changed
    • changedInput schema / $defs / TerritoryWealthProfileParams / properties / mcp_prompt_id / default
      Previous value: -"fa72f604-6239-428b-81df-11f07c2c8d00"New value: +"38452924-d5df-4668-b51c-d7cd5acabc09"
  10. Changed1 schema field changed
    • changedInput schema / $defs / TerritoryWealthProfileParams / properties / mcp_prompt_id / default
      Previous value: -"7b866f24-13ab-4e54-8d3a-f775612c393f"New value: +"fa72f604-6239-428b-81df-11f07c2c8d00"
  11. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the description does not need to restate safety. It adds useful behavioral context: the data source, required cenpy package, optional Census API key with rate-limited fallback, and the specific metrics returned. This goes beyond the annotations without contradicting them.

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

Conciseness5/5

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

The description is well-organized into a lead sentence, a bulleted list of key metrics, a 'Use this tool when' section, and a brief requirements/source note. Every section earns its place and the most important scoping information is front-loaded. There is no filler or redundant explanation.

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

Completeness4/5

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

The description provides the core behavior, use cases, returned metrics, and external dependencies, and an output schema exists to define return values. It does not explicitly state that at least one of state or zip_code should be provided despite no required parameters, and it omits mention of internal parameters like wholesaler_ids and source_resource_id, but those are documented in the nested schema.

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

Parameters3/5

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

Schema description coverage is 0% at the top level, so the description must compensate. It names the two most important inputs conceptually ('ZIP code' and 'state') and discusses the API key, but it never maps these to the actual parameter names (zip_code, state, census_api_key) and does not mention the filter/cache/internal parameters at all. The nested schema has detailed property descriptions, so this is a partial rather than total gap.

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?

The description starts with a specific verb and resource: 'Retrieve US Census American Community Survey (ACS) income and wealth proxy data for a ZIP code or state.' It clearly distinguishes this tool from sibling tools focused on ticker, fund, broker, or EDGAR data by naming the exact domain (Census territory wealth) and the intended use case (scoring territory opportunity for financial advisors).

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?

The description includes an explicit 'Use this tool when' section with three concrete scenarios: scoring territory wealth by ZIP, comparing household income across territories, and overlaying wealth proxies with advisor AUM data. It does not explicitly state when not to use it or name alternatives, but the context is clear enough for an agent to select it appropriately.

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.

Resources