|
--- |
|
title: ποΈ Mcp Census |
|
emoji: ποΈ |
|
colorFrom: yellow |
|
colorTo: indigo |
|
sdk: gradio |
|
sdk_version: 5.33.0 |
|
app_file: app.py |
|
pinned: false |
|
short_description: MCP server leveraging U.S. Census Bureau tooling |
|
tags: |
|
- mcp-server-track |
|
--- |
|
|
|
# mcp-census |
|
|
|
A work-in-progress MCP server leveraging U.S. Census Bureau tooling for LLM interoperability. |
|
|
|
## Example usage |
|
|
|
Right now, we recommend using `mcp-census` in conjunction with a MCP Client like Claude Desktop or Cursor. If you prefer to run your own client application, check out [Local Agent Quickstart](#local-agent-quickstart). |
|
|
|
**What is the population of Hennepin County, MN for those who are 65 and older?** |
|
|
|
https://github.com/user-attachments/assets/c979b9aa-8299-4eec-ad32-362d28ced5e4 |
|
|
|
**What is the racial/ethnic breakdown of Yolo County?** |
|
|
|
https://github.com/user-attachments/assets/d7c34ecb-4503-4bde-a7eb-b865a6f076c8 |
|
|
|
**Lookup data from the US 2020 Decennial Census and provide a CSV containing data about the number of housing units, total population, and median age for all counties in New York State. For the column containing the county identifier, please provide a complete FIPS containing the state and county as a joined value.** |
|
|
|
https://github.com/user-attachments/assets/cffd80f0-0830-4534-ab1a-9574608967ad |
|
|
|
## Local MCP server quickstart |
|
|
|
We suggest using [`uv`](https://docs.astral.sh/uv/) to manage dependencies, but you can install the required packages directly from the [`pyproject.toml` file](pyproject.toml) |
|
|
|
|
|
```zsh |
|
uv run python app.py |
|
``` |
|
|
|
Assuming you have no other gradio applications running, this will serve your MCP server at http://localhost:7860/gradio_api/mcp/sse |
|
|
|
|
|
## MCP architecture |
|
|
|
<img src="assets/mcp-census.png" alt="MCP Census" width="200" height="auto"> |
|
|
|
## Possible improvements |
|
|
|
### Evaluation |
|
|
|
* We recommend starting here to provide a strong benchmark with which to evaluate improvements. |
|
* MCP server tools can be evaluated via unit tests. Agentic behavior can be evaluated on criteria described [here](https://hamel.dev/blog/posts/evals/) and emerging frameworks such as [RAGAS](https://docs.ragas.io/en/stable/). |
|
|
|
### MCP Client |
|
|
|
* Rather than build tool sets for every Census dataset (decennial, american community survey, etc.), it may be more comprensive to build tooling around the [machine readable dataset discovery tool](https://www.census.gov/data/developers/updates/new-discovery-tool.html). |
|
* The Census Bureau publishes myriad documentation. Enabling semantic retrieval via RAG should provide agents with information to better respond to user queries. |
|
|