Prototype · Preview: every server in the official registry, synced every 30 minutes. Sign in with Google to write reviews.
PopNx MCPMCP servers for people who use AI · explained in plain words

Census MCP Server

by cyanheadsversion 0.7.2i★ 3iComputer or cloud
Registry nameio.github.cyanheads/census-mcp-server

How to install

Overview

Description from the maker (original English)

Query U.S. Census Bureau data, variables, and geography via MCP.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

Install

Pick the AI app you use, then copy the settings.

Passed 5/5 checks · What you ask goes through the maker’s server (census.caseyjhand.com)

First: which AI do you use?

Pick your app and the steps appear below.

Works with Claude · about 2 min

No key, nothing to install · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1

  1. Open Claude’s Connectors page

    CustomizeConnectors

    CustomizeConnectors1+ Add2https://…3Add4
  2. Click “+ Add” → “Add custom connector” and fill in these 2 fields

    Copy each value into the field with the same name in Claude, then click Continue

    Name · NameCensus MCP Server
    Remote MCP server URL · Addresshttps://census.caseyjhand.com/mcp

    Leave Authentication as Claude detected it, then click Add

  3. Turn it on in a chat

    +ConnectorsCensus MCP Server

  4. Try it

    Use Census MCP Server and tell me what you can do for me, then show me one thing

    ✓ If Claude says it is using Census MCP Server or shows a Census MCP Server tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with ChatGPT on business plans only

ChatGPT Business, Enterprise or Edu on the web, added by a workspace admin or owner · On Free, Plus or Pro: your ChatGPT plan cannot connect MCP yet

  1. Open ChatGPT’s add-MCP page on the web

    Plugins+Add custom MCP server

    ChatGPTPlugins1+2https://…3Create4
  2. Fill in the name and address

    Enter a name, paste the address under Connection, tick the risk warning and click Create as a plugin

    Name · NameCensus MCP Server
    Connection · Addresshttps://census.caseyjhand.com/mcp
  3. Pick Census MCP Server in a chat

    Start a new chat and pick Census MCP Server from your plugins before typing

  4. Try it

    Use Census MCP Server and tell me what you can do for me, then show me one thing

    ✓ If ChatGPT says it is using Census MCP Server or shows a Census MCP Server tool in the answer, you are connected

Menu names checked against OpenAI’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Claude Code · about 2 min

No key, nothing to install

  1. Open Terminal

    Mac: press Command+Space and type Terminal · Windows: open PowerShell

  2. Paste this command and press Enter

    claude mcp add --transport http census https://census.caseyjhand.com/mcp
  3. Type /mcp in Claude Code

    You should see Census MCP Server listed as connected

  4. Try it

    Use Census MCP Server and tell me what you can do for me, then show me one thing

    ✓ If Claude Code says it is using Census MCP Server or shows a Census MCP Server tool in the answer, you are connected

Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with Cursor · about 2 min

No key, nothing to install

  1. Click this button to open Cursor

    Open in Cursor

    Cursor asks you to confirm; click Install

  2. Open the AI chat in Cursor in Agent mode

  3. Try it

    Use Census MCP Server and tell me what you can do for me, then show me one thing

    ✓ If Cursor says it is using Census MCP Server or shows a Census MCP Server tool in the answer, you are connected

Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Works with VS Code · about 2 min

No key, nothing to install

  1. Click this button to open VS Code

    Open in VS Code

    VS Code asks you to confirm; click Install

  2. Open the AI chat in VS Code in Agent mode

  3. Try it

    Use Census MCP Server and tell me what you can do for me, then show me one thing

    ✓ If VS Code says it is using Census MCP Server or shows a Census MCP Server tool in the answer, you are connected

Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version

Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.

See every app that uses MCP →

Address for apps that connect over the web

Addresshttps://census.caseyjhand.com/mcp

JSON settings are under “For developers” below

Stuck? Ask people who use Census MCP Server💬 Discussion →
For developers: Terminal commands and JSON settings

Over the web

Claude Code

claude mcp add --transport http census https://census.caseyjhand.com/mcp

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "census": {
      "url": "https://census.caseyjhand.com/mcp"
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "census": {
      "type": "http",
      "url": "https://census.caseyjhand.com/mcp"
    }
  }
}

Installed on your computer

Claude Code

claude mcp add census --env CENSUS_API_KEY=your-value --env MCP_LOG_LEVEL=your-value -- npx -y @cyanheads/census-mcp-server

Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "census": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/census-mcp-server"
      ],
      "env": {
        "CENSUS_API_KEY": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "census": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/census-mcp-server"
      ],
      "env": {
        "CENSUS_API_KEY": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

VS Code (mcp.json)

{
  "servers": {
    "census": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/census-mcp-server"
      ],
      "env": {
        "CENSUS_API_KEY": "your-value",
        "MCP_LOG_LEVEL": "your-value"
      }
    }
  }
}

Values you fill in

  • CENSUS_API_KEY env
    Census Bureau API key from api.census.gov/data/key_signup.html. Required for census_query_data and census_compare_geographies, and for census_list_predicate_values on a dimension it enumerates live;…
  • MCP_LOG_LEVEL env
    Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

At a glance

Downloads per weeki
532/wk
Licencei
Apache-2.0
Connection
Computer or cloud
Transport
stdio, streamable-http
Latest versioni
0.7.2
Published to registryi
Nov 4, 2026
Code last changedi
Nov 4, 2026
Maker
cyanheads
Packages
npm: @cyanheads/census-mcp-server
npm: @cyanheads/census-mcp-server
Registry status
Active

Which apps can use it

Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.

Connect over the internet in

ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast

Run on your computer in

ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast

All apps, with pros and cons →

Related guides

What it can do

Tool names and descriptions exactly as the server reported them on Nov 11, 2026. The maker wrote them, not us; we show them as plain text.

  • census_list_datasets

    Browse available Census Bureau datasets with their supported vintage years. Use as the starting point when the right dataset is unknown — ACS5, ACS1, and their profile, subject, and comparison tables, population estimates, the decennial census files, and the business datasets (Co

  • census_list_geographies

    List the geography levels available for a given Census dataset and year, along with the parent geographies each level requires. Use before querying to confirm that the target geography level exists — ACS1 omits many sub-state levels, and not all datasets support tracts or block g

  • census_search_variables

    Search Census variables by keyword across variable labels and concept groups, or look one up by its code. Returns variable codes with human-readable labels — use this to go from a concept like "median household income" to the variable code B19013_001E needed for data queries. A q

  • census_get_variable

    Fetch full metadata for one or more Census variable codes — label, concept group, predicate type, the table's universe, and margin-of-error sibling references. Use to confirm a variable code before building a query, or to look up what a known code means. On ACS datasets it return

  • census_list_predicate_values

    List the codes a Census filter dimension accepts, so a predicates map can be written without guessing. Answers the question left open when census_query_data or census_compare_geographies reports that a dimension was left unset. Which route a dimension takes depends on the vintage

  • census_resolve_geography

    Resolve a place name, ZIP code, or street address to Census FIPS identifiers. Converts names like "King County, WA", "Seattle, WA", or "Seattle-Tacoma-Bellevue, WA", and ZIPs like "98109", to the codes required by census_query_data and census_compare_geographies. Use before query

  • census_query_data

    Query a Census dataset for one or more variables at one geography, a list of geographies at the same level, or every geography at a level. Accepts FIPS codes for the target geography — use census_resolve_geography to convert place names to FIPS when needed. On ACS datasets, label

  • census_compare_geographies

    Compare one or more variables across multiple geographies at the same level — all counties in a state, all states nationally, or a named set of specific geographies — ranked on the value of one of them. Covers queries like "compare median income across WA counties" or "which stat

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 11, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account cyanheads, which owns the repo

  • ✓ Pass

    Still maintained

    Code last changed 8 days ago

  • ✓ Pass

    Has a licence

    Uses Apache-2.0

  • ✓ Pass

    Endpoint responds

    Responded in 579 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 8 tool descriptions and found no hidden instructions to the AI

Discussion

Ask, share a tip or report that it does not work. Sorted by what people marked helpful.

No posts yet. Be the first to ask or share.

Posts here are written by users, not the PopNx team.

Sign in with Google to post

User reviews

No reviews yet

Sign in with Google to write a review

Compared with others in Law & government datai

  • More stars than 94% of the other 1809 servers in this category
  • Published to the registry more recently than 85% of the other 1809 servers in this category
  • Basic checks equal to or better than 100% of the other 1809 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Census MCP Server safe?

It passed 5 of 5 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed 8 days ago, and the latest version (0.7.2) reached the registry 8 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT Business and above.

What can I use instead?

In the same category: Korean Law MCP, Global law, Tw Legal Rag

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Korean Law MCP

Korean law: statutes, precedents, ordinances, treaties and citation verification (법제처 API).

by chrisryugjWidely used★ 2.9KUpdated 8 days ago

Runs in the cloud

Global law

The law of nearly every country on earth, any date: read it, see what changed it, check citations.

by lexifinaGrowing★ 1.9KUpdated yesterday

Runs in the cloud✓ lexifina.com

Tw Legal Rag

Taiwan law MCP server: 22M court judgments, statutes, agency rulings, with citation checks

by aa0101181514Growing★ 346Updated yesterday

Runs in the cloud

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

@cyanheads/census-mcp-server Query U.S. Census Bureau data, variables, and geography via MCP. STDIO or Streamable HTTP. 8 Tools

Public Hosted Server: https://census.caseyjhand.com/mcp


Overview

US Census Bureau demographic, economic, and housing data. Find datasets and variables, resolve place names or addresses to FIPS codes, and query or rank estimates across any set of geographies.

Tools
ToolDescription
census_list_datasetsBrowse available Census Bureau datasets (ACS5 and ACS1 with their profile, subject, and comparison tables, ACS Supplemental Estimates and Selected Population Profiles, Population Estimates, Decennial, County Business Patterns, Economic Census, Nonemployer Statistics) with vintage years and dataset codes.
census_list_geographiesList the geography levels supported by a dataset and year, with parent requirements and example FIPS values.
census_search_variablesKeyword search across variable labels and concept groups, or lookup by variable or table code. On ACS, returns estimate and margin-of-error codes together.
census_get_variableFetch full metadata for one or more variable codes — label, concept, predicate type, universe, MOE sibling — including the annotation and flag columns the data tools accept.
census_list_predicate_valuesList the codes a filter dimension accepts (EMPSZES, LFO, POPGROUP, NAICS2017…), from the dataset dictionary or a live wildcard enumeration.
census_resolve_geographyConvert place names (e.g., "King County, WA"), ZIP codes, or street addresses to Census FIPS identifiers via TIGERweb and Census Geocoder.
census_query_dataQuery a Census dataset for variables at one geography, a comma-separated list of them, or every geography at a level. Returns estimates with MOE, Census sentinel values and withheld business values resolved to their published meanings, and predicate filtering for the business datasets.
census_compare_geographiesRank and compare variables across multiple geographies — all counties in a state, all states nationally, or a named set. Sorted table output, with the same predicate filtering.

Capability reference

census_list_datasets tool
  • Returns dataset codes, names, descriptions, and available vintage years, with an optional keyword filter. Covers ACS5 and ACS1 (data profiles, subject tables, comparison profiles, and acs/acs1/spp), acs/acsse, Population Estimates, the 2020 Decennial files (Redistricting (P.L. 94-171), dec/dhc, dec/dp, dec/sdhc, dec/ddhca, dec/ddhcb), cbp, ecnbasic, and nonemp
  • Each description names the filter predicates the dataset requires and the geography levels it publishes
  • Dataset codes (e.g., acs/acs5) are what the other tools take. Case is ignored and a two-part code works by its last part alone (acs5, pl); three-part codes such as acs/acs5/profile must be given in full
  • available_years is exhaustive: any other year fails with year_not_available, naming the years that work

census_list_geographies tool
  • Returns one row per geography level and parent hierarchy: geography_level, whether a parent is required, required_parent_levels, and an example FIPS value. totalLevels counts each level once
  • geography_level values are the exact inputs to census_query_data and census_compare_geographies; year defaults to the latest vintage
  • Fails with dataset_not_found or year_not_available (naming the years served)

census_search_variables tool
  • Whole-word search across label and concept: every query word must match, otherwise the closest matches come back with a notice. A variable or table code in any case returns that variable, or the whole table in code order, first (B19013 returns B19013_001E then B19013_001M)
  • A code the dataset does not publish gets a notice naming the sibling dataset that holds it (S1701 in acs/acs5 points to acs/acs5/subject) or census_get_variable for an attribute column such as B19013_001EA
  • On ACS datasets, estimate (E suffix) and margin-of-error (M suffix) codes come back together; comparison profiles and the other families publish no margins of error. Also finds predicate codes by keyword (naics) or code (NAICS2017 in cbp)
  • limit is an integer from 1 to 100 (default 20), rejected rather than clamped when out of range. offset pages the complete match ordering; totalMatches counts matches before paging, truncated means another page exists, and nextOffset names it. variables.json is cached per dataset+year (default TTL 24h)

census_get_variable tool
  • Takes one or more variable codes (case-insensitive) and returns label, concept, predicate type, and the table's universe, in the order given. If groups.json can't be fetched, variables come back without universe and a notice says to retry
  • Resolves annotation and flag columns such as B19013_001EA and EMP_F, with attribute_of naming the column each belongs to and attribute_type its kind (ANNOTATION, FLAG, MARGIN_OF_ERROR). On ACS datasets it also returns estimate_code/moe_code sibling references
  • Confirms predicate dimension codes (NAICS2017, SEX) exist in a dataset; census_list_predicate_values lists their values. dataset defaults to acs/acs5 and year to the latest vintage
  • variable_not_found when a code isn't defined, naming the sibling dataset that publishes it when one is found (DP03_0062E in acs/acs5 points to acs/acs5/profile)

census_list_predicate_values tool
  • Lists the codes a filter dimension accepts, read from the dataset dictionary when it publishes a list and enumerated live otherwise. NAICS* and POPGROUP have long lists (thousands of codes; narrow with query); EMPSZES, LFO, RCPSZES, TAXSTAT, and TYPOP are live-only
  • Dictionary lists are checked against the rows the dataset actually publishes and unpublished codes are dropped; source says whether the check ran and the notice gives the number withheld. A dictionary list does not validate publication at a supplied geography level
  • Live enumeration takes geography_level (default us) and echoes that scope. Codes vary by level; only levels whose dataset metadata permits an unparented wildcard are accepted
  • query matches code and label; results are sorted by code before offset/limit paging (limit 1 to 500, default 50). totalCount counts all matches; truncated means another page exists, with nextOffset only then. On ecnbasic, within_naics scopes TAXSTAT and TYPOP to one industry
  • The live route and the dictionary check read the data endpoint, so they need CENSUS_API_KEY: without a working key a live-only dimension fails with missing_api_key, while a dictionary list still answers, unchecked, with a notice naming the key

census_resolve_geography tool
  • Named places (e.g., "King County, WA") resolve via TIGERweb; street addresses resolve to tract level via Census Geocoder, with block_group_fips and place_fips. A 5-digit ZIP (or ZIP+4) resolves to its ZIP Code Tabulation Area (zip code tabulation area)
  • Auto-detects geography_type for state, county, place, tract, and ZIP. Metropolitan/micropolitan statistical areas, combined statistical areas, consolidated cities, and economic places need an explicit geography_type; economic place returns the 8-digit ecnbasic code (Seattle 03363000)
  • The place level includes census-designated places, which answer a name only when no incorporated place or county matches exactly; use the full name ("Arlington CDP, VA") or geography_type: "place" to reach one. Optional county_fips scopes county and tract resolution (county_scope_unsupported for any other level or an address)
  • Matching ignores case, accepts a state abbreviation or full name, and tolerates Saint/St. and accent differences. New York City boroughs resolve to their counties ("Brooklyn, NY" → Kings County 047) with a notice
  • A name matching several geographies returns ambiguous_name with every candidate's FIPS code and state. Results carry state_fips (→ parent_fips) and fips_summary (→ geography_fips) for the next tool; statistical areas and ZCTAs omit state_fips

census_query_data tool
  • Requires FIPS codes (use census_resolve_geography for place names). geography_fips: "*" returns every geography at the level within the parent; each row carries geography_fips and the nationally unique geography_geoid. Wildcards return up to limit rows (default 50, max 500) in GEOID order, with offset for paging and totalCount for all matches. truncated is true only when another page exists; nextOffset names that page
  • A comma-separated list ("06,53", or "033,061" with parent_fips: "53") returns one row per listed code at the same level, in GEOID order and paged the same way; codes take the level's width, no "*" member, and the parents a single code needs. The notice names each listed code no row came back for
  • Up to 49 variable codes per call, fewer on datasets that add label or record columns (too_many_variables states the maximum). Unknown codes fail with variable_not_found; level and parent problems fail with parent_required or parent_not_accepted. Optional tract_fips (6 digits, with a concrete county_fips) scopes a block-group or decennial block query to one tract
  • Optional predicates map filters the business, pep, and dec datasets and acs/acs1/spp (e.g., {"NAICS2017": "5112"}). Unset dimensions take a Census default, echoed per row in applied_filters; "*" returns one row per category, labelled in record. pep/charv returns several rows per geography, so pin one (e.g., {"MONTH": "7"})
  • ACS se

Only the beginning is shown; read the rest in the repo