Skip to main content
Glama

Census ACS Demographics

Server Details

Population, income, poverty, education, housing, and commuting from the US Census ACS

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.5/5 across 5 of 5 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct subject area (commuting, demographics, economics, education) or geographic level (tract). No two tools overlap in purpose, making selection unambiguous.

Naming Consistency4/5

All tools start with 'get_' and mostly follow a 'get_county_<topic>' pattern, but 'get_commuting_data' and 'get_tract_data' deviate slightly from the fully consistent pattern. Still, the convention is predictable and readable.

Tool Count5/5

Five tools is well-scoped for a Census ACS demographics server. Each thematic area and geographic level earns its place without unnecessary bloat or redundancy.

Completeness4/5

The four county-level tools cover key demographic, economic, education, and commuting themes, and the flexible tract-level tool can query any ACS variable, covering niche needs. A minor gap is the lack of a dedicated county-level variable query, but the tract tool compensates.

Available Tools

5 tools
get_commuting_dataAInspect

Get means of transportation to work data for counties.

Returns worker counts and percentages for: drove alone, carpooled,
public transit, walked, bicycle, taxi/motorcycle/other, and worked from home.

Args:
    state: Two-letter state abbreviation (e.g. 'WA', 'CA') or 2-digit FIPS code.
    county_fips: Three-digit county FIPS code (e.g. '033' for King County).
                 Omit to get all counties in the state.
    year: ACS 5-year estimate year (default 2022).
ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
stateYes
county_fipsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses that the tool returns worker counts and percentages for seven transportation categories, and specifies that omitting county_fips returns all counties in the state. It does not mention potential limitations or error handling, but for a read-only data retrieval tool, this level of transparency is adequate.

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 compact and well-organized with an introductory sentence, a list of returned categories, and a clear Args section. No unnecessary words, and each sentence serves a purpose.

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?

The tool has moderate complexity with 3 parameters and no annotations. The description covers purpose, parameter semantics, and return values sufficiently. An output schema exists, so return format details are not required in the description.

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

Parameters5/5

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

Schema coverage is 0%, so the description fully compensates by explaining the format and behavior of each parameter: state accepts abbreviation or 2-digit FIPS, county_fips is optional with a specific 3-digit format and scope, year defaults to 2022 and refers to ACS 5-year estimates. This adds significant meaning 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?

The description uses a specific verb 'Get' with a clear resource: 'means of transportation to work data for counties.' It explicitly lists the data categories returned (drove alone, carpooled, public transit, etc.), which clearly differentiates it from sibling tools focused on demographics, economics, education, or tract-level data.

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 gives clear context for when to use this tool (when commuting data is needed) and explains parameter usage (state, county_fips, year). It does not explicitly name alternatives or state when not to use it, but the purpose is distinct enough that the intended usage is unambiguous.

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

get_county_demographicsAInspect

Get demographic data for counties: population, median age, race, Hispanic origin, income, and poverty.

Returns one record per county with total population, median age, racial breakdown
(White, Black, American Indian, Asian, Pacific Islander, Other, Two+),
Hispanic/Latino percentage, median household income, and poverty rate.

Args:
    state: Two-letter state abbreviation (e.g. 'WA', 'CA') or 2-digit FIPS code.
    county_fips: Three-digit county FIPS code (e.g. '033' for King County).
                 Omit to get all counties in the state.
    year: ACS 5-year estimate year (default 2022). Data covers year-4 through year.
ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
stateYes
county_fipsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations, the description carries the full transparency burden. It discloses that it returns one record per county, specifies the year range coverage, and explains parameter defaults (e.g., county_fips omitted returns all counties). It doesn't address error handling or auth, but for a read-only data retrieval tool, the core behavior is well covered.

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-structured with a clear purpose statement, a returns list, and an Args section. No sentence is wasted; the length is appropriate for the number of parameters and the data richness described.

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?

The description is highly complete for a data-retrieval tool. It covers return shape, parameter semantics, defaults, and behavior. The existence of an output schema further reduces the need to detail return values in the description, but the description already does so thoroughly.

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

Parameters5/5

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

The description adds significant meaning beyond the schema's type-only definitions. It explains valid formats ('WA', 'CA', or 2-digit FIPS), the exact length of county_fips ('033'), the omission behavior for county_fips, and the time range implied by year ('data covers year-4 through year'). This fully compensates for the 0% schema description coverage.

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 uses a specific verb ('Get') and resource ('demographic data for counties'), then enumerates the exact data fields returned. This clearly distinguishes it from sibling tools like get_county_economics or get_commuting_data.

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 clearly communicates the tool's context by specifying the demographic focus and the return fields. It doesn't explicitly name alternatives or say when not to use it, but the scope is evident 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.

get_county_economicsAInspect

Get economic data for counties: income, poverty, home values, rent, and health insurance.

Returns median household income, poverty rate, median home value, median gross rent,
and health insurance coverage rates (insured vs uninsured).

Args:
    state: Two-letter state abbreviation (e.g. 'WA', 'CA') or 2-digit FIPS code.
    county_fips: Three-digit county FIPS code (e.g. '033' for King County).
                 Omit to get all counties in the state.
    year: ACS 5-year estimate year (default 2022).
ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
stateYes
county_fipsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

No annotations exist, so the description carries the full burden. It discloses the data source (ACS 5-year estimates), what metrics are returned, and the effect of omitting county_fips. This is transparent for a read-only data retrieval tool, though it does not discuss rate limits or auth.

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 with a brief summary, a returns list, and clear parameter documentation. Every sentence adds useful information without redundancy, making it easy to scan.

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?

Given the tool's moderate complexity, the presence of an output schema, and absence of annotations, the description is complete. It covers purpose, return metrics, parameter specifics, data source, and defaults, enabling correct selection and invocation. No critical context is missing.

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

Parameters5/5

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

The schema has 0% coverage, but the description thoroughly explains all three parameters: state with examples ('WA', 'CA' or FIPS), county_fips with format and omission behavior, and year with default and meaning. This fully compensates for the schema's lack of descriptions.

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 clearly states the tool gets economic data for counties and enumerates specific metrics (income, poverty, home values, rent, health insurance). This verb+resource+scope structure distinguishes it from sibling tools focusing on commuting, demographics, education, and tract data.

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

Usage Guidelines3/5

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

The description provides usage details like omitting county_fips for all counties and the default year, but it does not explicitly explain when to choose this tool over sibling tools such as get_county_demographics or get_county_education. Usage context is implied by the listed metrics but no alternatives are mentioned.

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

get_county_educationAInspect

Get educational attainment for counties (population 25+).

Returns counts and percentages for: less than high school, high school diploma/GED,
some college/associate degree, bachelor's degree, and graduate/professional degree.

Args:
    state: Two-letter state abbreviation (e.g. 'WA', 'CA') or 2-digit FIPS code.
    county_fips: Three-digit county FIPS code (e.g. '033' for King County).
                 Omit to get all counties in the state.
    year: ACS 5-year estimate year (default 2022).
ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
stateYes
county_fipsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It explains what is returned (counts and percentages for five categories) and notes that the data source is ACS 5-year estimates. It also clarifies the county_fips omission behavior. More detail on edge cases (e.g., invalid FIPS) is missing, but the core behavior is well communicated.

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-structured and concise. It opens with a clear one-line summary, then lists the returned metrics, and follows with a compact 'Args' section. Every sentence adds value with no fluff or redundancy.

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 is complete for a read-only data retrieval tool given the presence of an output schema and explanation of all parameters. It covers the data source (ACS 5-year), the geographic level (counties), and the omission behavior. Slight gaps remain around handling of missing data or output formatting, but these are partially addressed by the output schema.

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

Parameters5/5

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

The schema provides no descriptions (coverage 0%), so the description is essential. It fully defines each parameter: state accepts either two-letter abbreviation or 2-digit FIPS, county_fips is a three-digit code with a note that omission returns all counties, and year specifies ACS 5-year estimate with a default of 2022. This adds substantial meaning beyond the bare 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?

The description clearly states the tool retrieves educational attainment for counties, with a specific verb ('Get'), resource ('counties'), and subject ('educational attainment'). It also lists five distinct categories of attainment, which differentiates it from sibling tools like get_county_demographics or get_commuting_data.

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

Usage Guidelines3/5

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

The description provides usage details for parameters (state, county_fips, year) including how to omit county_fips for all counties, but does not explicitly compare with sibling tools or state when to use this tool instead of alternatives. The guidance is present for parameter handling but not for tool selection.

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

get_tract_dataAInspect

Get tract-level ACS data for any variables within a county.

This is a flexible tool for querying any ACS 5-year estimate variables at
the census tract level. Automatically batches requests if more than 50
variables are requested.

Common variable examples:
- B01001_001E: Total population
- B19013_001E: Median household income
- B17001_002E: Population below poverty level
- B25077_001E: Median home value
- B02001_002E-008E: Race breakdown

Args:
    state: Two-letter state abbreviation (e.g. 'WA') or 2-digit FIPS code.
    county_fips: Three-digit county FIPS code (e.g. '033' for King County, WA).
    variables: Comma-separated ACS variable codes (e.g. 'B01001_001E,B19013_001E').
               NAME is always included automatically.
    year: ACS 5-year estimate year (default 2022).
ParametersJSON Schema
NameRequiredDescriptionDefault
yearNo
stateYes
variablesYes
county_fipsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

No annotations are present, so the description carries the burden of disclosing behavior. It adds valuable details: automatic batching for more than 50 variables, automatic inclusion of the NAME variable, and the default year. These behaviors are not evident from the schema. However, it does not disclose potential errors, rate limits, or output structure, which prevents a perfect score.

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 description is well-organized: a one-sentence summary, a note on flexibility, common variable examples, and a clear Args block. Every section serves a purpose, and the length is appropriate for the tool's complexity. It could be slightly more concise by trimming variable examples, but they add practical value.

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?

Given the tool has four parameters, no annotations, and an output schema (which likely documents return values), the description is complete enough. It covers purpose, parameter semantics, and a key behavior (batching). It does not discuss restrictions on year range or possible errors, but these are not critical for a data-query tool.

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

Parameters5/5

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

The schema provides only property names and types with no descriptions. The description fully compensates by explaining each parameter's format and giving concrete examples: state as 'WA' or FIPS, county_fips as a 3-digit code, variables as comma-separated codes, and year with a default. This is far beyond the schema's minimal definitions.

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 opens with 'Get tract-level ACS data for any variables within a county,' clearly stating the action (get), resource (tract-level ACS data), and scope (within a county). It distinguishes itself from sibling tools like get_county_demographics by emphasizing tract-level granularity and arbitrary variable selection.

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?

It describes itself as a 'flexible tool for querying any ACS 5-year estimate variables at the census tract level,' giving clear context for when to use it: when you need tract-level ACS data with custom variables. It does not explicitly name alternatives or exclusions, but the context is strong enough to infer appropriate usage.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • F
    license
    -
    quality
    D
    maintenance
    Enables access to U.S. Census Bureau data including demographics, population, income, and housing statistics. Users can query specific variables, search datasets, and retrieve geographic FIPS codes across various surveys like the American Community Survey and Decennial Census.
    1
  • A
    license
    A
    quality
    A
    maintenance
    Enables looking up U.S. Census data by ZIP code, including income, demographics, housing, and education statistics, using a locally stored dataset from the American Community Survey.
    8
    MIT
  • F
    license
    -
    quality
    C
    maintenance
    A production-grade MCP server for querying U.S. Census Bureau data (ACS 5-Year and Decennial) with tools for geographic fuzzy matching, variable search, and batched data retrieval, backed by a PostgreSQL cache for performance.
  • A
    license
    A
    quality
    F
    maintenance
    Enables natural language queries of U.S. Census Bureau data, translating plain English questions into proper API calls and returning demographic, economic, and housing statistics with proper statistical interpretation and context.
    3
    20
    MIT

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources