Versioned boundary sets (states, counties, congressional districts, voting precincts) joined to the Census American Community Survey, with full provenance metadata, citable URLs, and spreadsheet / GeoJSON / Parquet export. Every analysis is reproducible — your collaborators get the exact same boundary edition a year later.
A typical workflow for research, academia & think tanks teams. Each line is one operation; together they take a few minutes and produce a published map plus a downloadable dataset.
# A policy researcher —
# "Compare median income by county across 2010-2020 Census editions."
mcp.call("list_shape_versions", { collection: "us-counties" })
→ tiger-2010, tiger-2015, tiger-2020, tiger-2024
(each tag is a specific Census boundary edition)
# census_acs takes one year + one boundary version per call.
# Loop the editions to build a comparable time series:
for (const [year, version] of [[2010, "tiger-2010"], [2015, "tiger-2015"], [2020, "tiger-2020"]]) {
await mcp.call("census_acs", {
collection: "us-counties", version,
year,
variables: ["B19013_001E"], // median household income
slug: `counties-mhi-${year}`,
});
}
→ 3 workspace datasets, one per edition, each version-pinned
mcp.call("compare_shape_versions", {
collection: "us-counties",
v1: "tiger-2010", v2: "tiger-2020",
})
→ which counties changed boundaries (e.g. Connecticut's 2022 planning-region switch)
# Publish three sibling reports — a small-multiples panel in your content
# management system from the three embed iframes (Maps MCP doesn't render
# multi-panel server-side yet).
for (const year of [2010, 2015, 2020]) {
await mcp.call("create_report", {
slug: `county-mhi-${year}`,
name: `U.S. county median household income — Census ${year}`,
public: true,
config: {
collection: "us-counties", version: `tiger-${year}`,
datasets: [{ slug: `counties-mhi-${year}`, field: "B19013_001E",
palette: "sequential",
classify: { method: "natural_breaks", bins: 7 } }],
}
});
}
→ /v/county-mhi-2010 /v/county-mhi-2015 /v/county-mhi-2020
mcp.call("build_geojson", { slug: "county-mhi-2020" })
→ reproducible map file for the paper appendix
census_acsdisaggregate_acslist_shape_versionscompare_shape_versionscreate_reportbuild_geojsonrender_maplist_shape_collectionsvs. raw Census boundary files + IPUMS NHGIS: same data, but the joins are pre-built and every boundary edition is provenance-pinned. vs. ArcGIS Online: open licensing, citable URLs, spreadsheet / GeoJSON / Parquet downloads. The disaggregate_acs tool does area-weighted interpolation in one call — no manual database SQL. Free for 50 calls per month, forever — enough to ship a paper.
Single researchers fit on Free or Starter. Labs and centers run on Pro ($50/month) for sub-workspaces per project or co-author. Full pricing details.
Free tier — pilot it on your next paper.
Get an API keyThe same toolkit also covers grassroots organizing platforms & campaign tooling · healthcare & life sciences · civic tech & journalism · real estate & property tech · retail, consumer brands & site selection · insurance & risk modeling · logistics, delivery & field service · pollsters & survey research firms — one U.S.-geography surface for any team whose question comes down to where.