File size: 2,584 Bytes
90e1bbf
c8b54b3
893f9d6
 
 
90e1bbf
 
 
 
893f9d6
06d91a4
 
90e1bbf
 
893f9d6
06d91a4
893f9d6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
06d91a4
 
893f9d6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
---
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.