
Socrata Mcp Server
Exposes the Socrata SODA API across hundreds of government open data portals, from municipal crime stats to federal spending datasets. You get six tools covering the full workflow: list portals, search datasets by keyword or category, fetch typed column schemas, execute SoQL queries with WHERE/GROUP BY/aggregation, and optionally spill large result sets into DuckDB for analytical SQL. The schema inspection tool is critical because Socrata column types determine query syntax (bare numbers vs. quoted strings). When result sets exceed 5,000 rows, the server can register them with DataCanvas and let you run full SQL instead of paginating through SoQL. Reach for this when you need structured access to civic data without manually navigating web portals or writing raw HTTP calls.
- GitHub stars
- 4
- tools
- 6
- transport
- STDIO, HTTP
- env vars
- 10
- last updated
- Nov 8, 2026
Install
From registry metadata$ npx add-mcp https://socrata.caseyjhand.com/mcp --name socrataRun in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http socrata https://socrata.caseyjhand.com/mcpRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 6 toolsVerified live against the running server on Nov 6, 2026.
socrata_find_datasetsSearch for datasets across all Socrata-powered government open-data portals, or scope to one portal with the domain parameter. Returns dataset IDs, names, domains, update timestamps, and column_names — the API field names SoQL takes, not display labels. Use socrata_get_dataset...8 params
Search for datasets across all Socrata-powered government open-data portals, or scope to one portal with the domain parameter. Returns dataset IDs, names, domains, update timestamps, and column_names — the API field names SoQL takes, not display labels. Use socrata_get_dataset...
categoriesarraydomainstringlimitintegeroffsetintegeronlystringdatasets · maps · files · calendars · storiesorderstringrelevance · page_views_total · created_at · updated_atquerystringtagsarraysocrata_get_datasetFetch full metadata and column schema for a Socrata dataset by ID. Returns field names, data types, descriptions, row count, and licensing. Always call this before writing a socrata_query_dataset — the column types determine correct WHERE clause syntax: Number columns accept b...2 params
Fetch full metadata and column schema for a Socrata dataset by ID. Returns field names, data types, descriptions, row count, and licensing. Always call this before writing a socrata_query_dataset — the column types determine correct WHERE clause syntax: Number columns accept b...
dataset_id*stringdomainstringsocrata_query_datasetExecute a SoQL query against any dataset on any Socrata portal. Use the search parameter for quick full-text lookup, or combine select/where/group/having/order for full analytical control. Returns rows plus the assembled SoQL string so you can learn the pattern. Columns are re...13 params
Execute a SoQL query against any dataset on any Socrata portal. Use the search parameter for quick full-text lookup, or combine select/where/group/having/order for full analytical control. Returns rows plus the assembled SoQL string so you can learn the pattern. Columns are re...
canvas_idstringdataset_id*stringdomainstringgroupstringhavingstringlimitintegeroffsetintegerorderstringsearchstringselectstringstagebooleantable_namestringwherestringsocrata_list_portalsList known Socrata-powered government open-data portals with their domain, organization name, and approximate dataset count. The catalog is a curated list of 39 well-known portals; dataset counts are fetched from the Discovery API and cached for ~24 hours. Filtering is client-...3 params
List known Socrata-powered government open-data portals with their domain, organization name, and approximate dataset count. The catalog is a curated list of 39 well-known portals; dataset counts are fetched from the Discovery API and cached for ~24 hours. Filtering is client-...
limitintegeroffsetintegerquerystringsocrata_dataframe_describeList registered tables in a DataCanvas session — schema, row count, and column names. Shows what datasets are available for SQL queries via socrata_dataframe_query. Meaningful when the server has a DataCanvas. Use after socrata_query_dataset spills a large result set to canvas.1 params
List registered tables in a DataCanvas session — schema, row count, and column names. Shows what datasets are available for SQL queries via socrata_dataframe_query. Meaningful when the server has a DataCanvas. Use after socrata_query_dataset spills a large result set to canvas.
canvas_idstringsocrata_dataframe_queryRun SELECT-only SQL against a DataCanvas table populated by socrata_query_dataset. Columns SODA types as number (including aggregate aliases like count(*) as n) are staged as DOUBLE, so numeric comparisons work without a cast (year > 2020, amount < 500). Text and timestamp col...3 params
Run SELECT-only SQL against a DataCanvas table populated by socrata_query_dataset. Columns SODA types as number (including aggregate aliases like count(*) as n) are staged as DOUBLE, so numeric comparisons work without a cast (year > 2020, amount < 500). Text and timestamp col...
canvas_id*stringlimitintegersql*stringSponsors
Configuration
SOCRATA_APP_TOKENSocrata app token (X-App-Token header). Without a token, requests share a throttled pool per source IP. Free to register at any Socrata portal.
SOCRATA_DEFAULT_DOMAINdefault: data.seattle.govDefault portal domain when domain is omitted from tool calls (e.g. data.seattle.gov, data.cityofnewyork.us).
SOCRATA_DATAFRAME_DROP_ENABLEDdefault: falseSet to true to enable socrata_dataframe_drop, which deletes staged DataCanvas data. Off, the tool is omitted from the tool list.
SOCRATA_CLAMP_LIMITSdefault: trueServe a limit above a tool's per-call cap at the cap, with a notice naming the offset that continues, instead of rejecting it. Set to false to restore each cap as the schema maximum.
MCP_LOG_LEVELdefault: infoSets the minimum log level for output (e.g., 'debug', 'info', 'warn').
MCP_TRANSPORT_TYPEdefault: httpSelects the HTTP transport.
MCP_HTTP_HOSTdefault: 127.0.0.1The hostname for the HTTP server.
MCP_HTTP_PORTdefault: 3010The port to run the HTTP server on.
MCP_HTTP_ENDPOINT_PATHdefault: /mcpThe endpoint path for the MCP server.
MCP_AUTH_MODEdefault: noneAuthentication mode to use: 'none', 'jwt', or 'oauth'.
Readme
@cyanheads/socrata-mcp-server
Search and query government open-data portals (Socrata SODA API) via MCP. STDIO or Streamable HTTP.
Details
- Repository
- github.com/cyanheads/socrata-mcp-server
- Categories
- Search & Web Crawling, Data & Analytics
- Package
@cyanheads/socrata-mcp-server- Transport
- STDIO, HTTP
- Registry
- MCP registry, active
- Resources
- 3
- Prompts
- 1
- Tools verified
- Nov 6, 2026
More from cyanheads
- Census Mcp Server3
- Who Gho Mcp Server3
- Bls Labor Mcp Server1
- College Scorecard Mcp Server1
- Cpsc Recalls Mcp Server1
- Cyanheads Mcp Server1
- Exchange Rates Mcp Server1
- Fcc Broadband Mcp Server1
- Nist Nvd Mcp Server1
- Pokeapi Mcp Server1
- Reference Data Mcp Server1
- Usda Mcp Server1
- Epa Mcp Server2
- Osv Advisory Mcp Server2
- Gbif Biodiversity Mcp Server1
- Pentest Mcp Server1
- Workflows Mcp Server32
- Noaa Cdo Mcp Server5
- Ntfy Mcp Server25
- Macos Mcp Server4
- Clipboard Mcp Server3
- Guardian Mcp Server2
- Mailchimp Mcp Server2
- Sports Mcp Server2