Datacommons
Data Commons MCP — harmonised public statistics for places, from Google Data Commons (REST v2).
Que pouvez-vous faire avec Datacommons ?
datacommons_find_place(name, place_type?, limit?): turns a place name intodatacommons_find_variable(query, limit?): turns a plain-language indicatordatacommons_observation(variable, place, date?, limit?): one variable at onedatacommons_child_places(variable, parent_place, child_type, date?, sort?, limit?):
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
claude mcp add --transport http datacommons 'https://gateway.pipeworx.io/datacommons/mcp'
{
"mcpServers": {
"datacommons": {
"type": "http",
"url": "https://gateway.pipeworx.io/datacommons/mcp"
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
Sommaire
@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 givesgeoId/06. "India" givescountry/IND.datacommons_find_variable(query, limit?): turns a plain-language indicator into statistical variable ids, with a match score. "median household income" givesMedian_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 withdate=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 ineurope.
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
publisherobject 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_typeto narrow it. - The indicator resolver always returns something, even for nonsense, so it falls
back to topics. The pack keeps only
StatisticalVariablehits and setslow_confidencewhen 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
Questions fréquentes
Qu'est-ce que Datacommons ?
Data Commons MCP — harmonised public statistics for places, from Google Data Commons (REST v2).
Comment installer Datacommons ?
Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http datacommons 'https://gateway.pipeworx.io/datacommons/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour Datacommons ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
Datacommons est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient Datacommons ?
Il est publié par pipeworx-io. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.