mcpField
D
Datacommons

Datacommons

Remote
pipeworx.ioData & Analytics0Updated 4d ago

About Datacommons

Datacommons is an MCP server for analysts and agents querying harmonized public statistics about places worldwide through Google Data Commons. Results identify the original publisher and can show values from multiple sources.

Key features

  1. 01Resolve place names to IDs
  2. 02Find statistical indicators from plain language
  3. 03Query observations and time series
  4. 04Compare child places by an indicator
  5. 05Show publishers and alternate sources

Use cases

  1. 01Look up population or employment for a place
  2. 02Inspect an indicator's historical values
  3. 03Compare statistics across states or countries
  4. 04Check differing sources for one indicator

MCP support

As an MCP server, it exposes tools for place resolution, indicator lookup, observation queries, and comparisons across child places. Data is fetched live through the Google Data Commons REST v2 API.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://gateway.pipeworx.io/datacommons/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

Tools

45
ParameterTypeRequiredDescription
qstringNoAlias for question.
askstringNoAlias for question.
textstringNoAlias for question.
inputstringNoAlias for question.
packsarrayNoOPTIONAL. Restrict routing to these pack slugs (e.g. ["sec-form-d","sec-13f"]) — the router then picks only from tools in those packs. Omit for the default full-catalog routing. Slugs come from list_packs / search_packs / https://pipeworx.io/directory; unlisted or unknown slugs are ignored and named in _meta.pack_scope.ignored, and if none of them resolves the question is routed across the whole catalog with _meta.pack_scope.full_catalog:true (never an empty answer).
querystringNoAlias for question.
promptstringNoAlias for question.
messagestringNoAlias for question.
questionstringYesYour question or request in natural language. Accepts query, q, prompt, text, input, ask, message as aliases.

Details

From the project README

@pipeworx/datacommons

Harmonised public statistics for any place on Earth from Google Data Commons: population, income, health, employment, emissions and thousands more indicators. Every value names the original publisher (US Census, World Bank, Eurostat, CDC, BLS, ...).

Part of Pipeworx — an MCP gateway connecting AI agents to 1854+ live data sources. This is an independent, unofficial integration — not affiliated with, endorsed by, or published by the upstream provider.

Tools

  • datacommons_find_place(name, place_type?, limit?): turns a place name into Data Commons place ids (dcids), with name and type for each candidate. "California" + State gives geoId/06. "India" gives country/IND.
  • datacommons_find_variable(query, limit?): turns a plain-language indicator into statistical variable ids, with a match score. "median household income" gives Median_Income_Household.
  • datacommons_observation(variable, place, date?, limit?): one variable at one place. Returns the latest value (default), the value at a date, or the whole series with date=all. The response carries the publisher of the value and how many other sources report it, plus the latest value from up to five of them.
  • datacommons_child_places(variable, parent_place, child_type, date?, sort?, limit?): one variable across every child place of a parent, sorted by value. Use it for all US states, every county in Texas (geoId/48, County) or every country in europe.

A place/variable pair with no data is an error that names both ids. It never comes back as an empty list.

Auth

Platform key (PLATFORM_DATACOMMONS_KEY) with a BYO override through _apiKey, which is sent upstream as the X-API-Key header. Through the gateway, callers without a key use ours. Anyone importing the package directly needs a free Data Commons key from https://apikeys.datacommons.org (self-serve, no approval step). Without one, the pack refuses with "requires an API key" before any upstream request.

Data sources

  • Google Data Commons, the Data Commons knowledge graph (REST v2). It aggregates official statistics from national and international publishers. Each value's publisher object names the dataset, measurement method and the publisher's provenance page.

Reuse terms: this pack calls the API live for each request and keeps no copy. Each value stays under its original publisher's terms, and the publisher object on every response links to that publisher's provenance page.

Notes for the next person:

  • Most indicators have several sources ("facets") that disagree. In 2024, US population was 340.0M from Census PEP and 334.9M from the ACS 5-year survey. The pack takes Data Commons' own ranking (first facet with observations) and shows the alternates, so the caller can see the spread.
  • Name resolution is fuzzy. "Paris" returns NUTS region FR101 first and then about a dozen US towns. Pass place_type to narrow it.
  • The indicator resolver always returns something, even for nonsense, so it falls back to topics. The pack keeps only StatisticalVariable hits and sets low_confidence when the best score is under 0.7.
  • Data Commons publishes a rate-limited trial key in its own docs. It is good for a one-off smoke test, not for serving callers.

Quick Start

Add to your MCP client (Claude Desktop, Cursor, Windsurf, etc.):

{
  "mcpServers": {
    "datacommons": {
      "url": "https://gateway.pipeworx.io/datacommons/mcp"
    }
  }
}
What this endpoint actually serves

tools/list at https://gateway.pipeworx.io/datacommons/mcp returns the tools in the table above plus the shared Pipeworx meta-tools — ask_pipeworx, discover_tools, search_within, remember/recall and the rest of the gateway-wide set. So the tool count you see is larger than this table: a single-pack endpoint currently lists roughly 30 shared tools alongside the pack's own. The connection's initialize response states its exact scope, and is the authoritative answer for a given day.

This is deliberate, not multiplexing by accident. The meta-tools are what let a scoped connection answer a question this pack does not cover — via ask_pipeworx, which routes across the whole catalog — without you adding a second MCP server. There is currently no way to mount a pack endpoint without them; if the extra schemas cost you more context than the routing is worth, connect to the full gateway once rather than to several pack endpoints.

Or connect to the full Pipeworx gateway to get every pack's tools listed directly, instead of just this one's:

{
  "mcpServers": {
    "pipeworx": {
      "url": "https://gateway.pipeworx.io/mcp"
    }
  }
}

Both URLs reach the same gateway and the same 1854+ data sources. The only difference is which pack's tools are listed directly; ask_pipeworx reaches all of them from either one.

No MCP client? Call it over HTTP

curl -X POST https://gateway.pipeworx.io/v1/tools/datacommons_find_place \
  -H 'Content-Type: application/json' \
  -d '{"name":"California","place_type":"State"}'

No account needed for the first calls. Inspect any tool: GET https://gateway.pipeworx.io/v1/tools/datacommons_find_place. Find one: POST https://gateway.pipeworx.io/v1/tools/search_packs with {"query":"..."}.

Standalone (no gateway account)

This package also runs as a local stdio MCP server — no Pipeworx account, no gateway round-trip:

{
  "mcpServers": {
    "datacommons": {
      "command": "npx",
      "args": ["-y", "@pipeworx/mcp-datacommons"]
    }
  }
}

Or run it directly to confirm it starts:

npx -y @pipeworx/mcp-datacommons

It speaks MCP over stdin/stdout and answers initialize/tools/list/tools/call for only this pack's tools — none of the shared meta-tools the gateway connection above adds. Same source, same tools, no ask_pipeworx routing.

Using with ask_pipeworx

Instead of calling tools directly, you can ask questions in plain English — this works on the pack endpoint above as well as on the full gateway:

ask_pipeworx({ question: "your question about Datacommons data" })

The gateway picks the right tool and fills the arguments automatically.

More

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.