The address
https://api.dataworkscommons.org/mcpThat address is all your assistant needs. It finds the sign-in on its own: you sign in with your DataWorks email and allow the connection, and it is connected.
Before you connect
- A seat. The MCP connector is a service your organization buys from DataWorks (what we sell); its admin adds your email to its DataWorks account in the portal (each member email is a seat). No account yet? Ask us.
That is all. The seat reads the DataWorks data and Google Data Commons' data alike; no key of your own is needed.
Connect
Menu names move between releases of each app; if a step does not match what you see, the app's own help names the current place for custom connectors.
Gemini (the app)
- In the left menu choose Customize, then Connectors, then Custom.
- Under Add a custom app link paste the address. Leave Advanced settings (client ID, client secret) empty: the DataWorks Commons registers the connection itself.
- Choose Next, sign in with your DataWorks email, then Allow.
Gemini then lists DataWorks Commons under its connected apps; ask as you would ask a colleague.
Gemini CLI
Add the server to ~/.gemini/settings.json (or a project's .gemini/settings.json):
{ "mcpServers": { "dataworks": { "httpUrl": "https://api.dataworkscommons.org/mcp" } } }
Then run /mcp auth dataworks in the CLI; a browser opens for the sign-in.
Claude (claude.ai and the desktop app)
- Open Settings, then Connectors, and choose Add custom connector.
- Name it
DataWorks Commonsand paste the address. Leave the OAuth client fields empty. - Choose Connect, sign in with your DataWorks email, then Allow.
On Team and Enterprise plans an owner may add the connector once for everyone; each member then connects with their own email.
ChatGPT
- In Settings, under Apps & Connectors (Advanced), turn on Developer mode if your ChatGPT plan asks for it.
- Create a connector: name
DataWorks Commons, the address above, authentication OAuth. - Sign in with your DataWorks email and Allow. ChatGPT asks you to confirm each tool call.
Claude Code
claude mcp add --transport http dataworks https://api.dataworkscommons.org/mcp
Then run /mcp in Claude Code, choose dataworks and sign in.
VS Code and Cursor
VS Code, .vscode/mcp.json in your project (or your user settings):
{ "servers": { "dataworks": { "type": "http", "url": "https://api.dataworkscommons.org/mcp" } } }
Cursor, ~/.cursor/mcp.json:
{ "mcpServers": { "dataworks": { "url": "https://api.dataworkscommons.org/mcp" } } }
Start the server from the editor; a browser opens for the sign-in.
The MCP Inspector (for testing)
npx @modelcontextprotocol/inspector
Add a server: transport streamable-http, the address above; connect, sign in, then open Tools.
What to ask
- "What is the poverty rate and the violent crime count in Tulsa?"
- "How has median household income changed in Oklahoma County since 2015?"
- "Compare home values in Tulsa and Oklahoma City."
Your assistant uses four tools: search_variables (find measures),
find_places (place names to ids), get_data (the numbers, each with its source) and
describe_variable (what a measure means and where it is published).
What it can read
- DataWorks data and Google Data Commons data, on the same seat: every public measure, for any place, without limit. Each answer names its source.
- Your own place's data. An organization's Insights, its row-level data and the data built for it are read for its own place only. A measure whose source allows it on this site only is listed as not served, with the page to read it on.
If it does not connect
| You see | What it means |
|---|---|
| "is not a member of a DataWorks account" | Your email holds no seat: ask your organization's admin to add it, or ask us. |
| The connection stops working | Your seat was removed or your organization's account paused: your admin, or we, can tell you which. Access ends within a minute of a removal. |
Questions: info@thedataworks.org. Building your own code instead? See the API guide.