Search and query government open-data portals via the Socrata SODA 2.1 and Discovery APIs.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Search and query government open-data portals (Socrata SODA API) via MCP. STDIO or Streamable HTTP.
Six tools covering the full Socrata workflow β portal discovery, dataset search, schema inspection, SoQL querying, and DuckDB-powered analytical SQL over large result sets:
| Tool | Description |
|---|---|
socrata_list_portals | List known Socrata-powered government open-data portals with domain, organization name, and approximate dataset count |
socrata_find_datasets | Search for datasets across all Socrata portals or scope to one portal via the Discovery API |
socrata_get_dataset | Fetch full metadata and typed column schema for a dataset by ID β required before writing SoQL queries |
socrata_query_dataset | Execute a SoQL query against any dataset: search, select, where, group, having, order, with DataCanvas spillover |
socrata_dataframe_describe | List registered tables in a DataCanvas session β schema, row count, column names |
socrata_dataframe_query | Run SELECT-only SQL against DataCanvas tables populated by socrata_query_dataset |
socrata_list_portalsList known Socrata-powered government open-data portals.
0 means the portal exposes no dataset assets to the catalog; null means the count is temporarily unavailable)socrata_find_datasets), organization name, and approximate dataset countsocrata_find_datasetsSearch for datasets across all Socrata portals or scope to a single portal.
domain parameter["Public Safety", "Transportation"]) and tags (e.g. ["covid19"])socrata_get_dataset for typed schema before writing queriessocrata_get_datasetFetch full metadata and column schema for a Socrata dataset by ID.
data_type determines correct WHERE clause syntax: Number β bare literals (year=2023), Text β single-quoted strings (year='2023'):@computed_region_*) to reduce noisesocrata_query_dataset querysocrata_query_datasetExecute a SoQL query against any dataset on any Socrata portal.
search parameter for quick full-text lookup across all text columns ($q)select, where, group, having, order for full analytical control=, !=, >, <, LIKE, IN(...), BETWEEN, IS NULL, starts_with(), contains(), AND, OR, NOTcount(*), sum(), avg(), min(), max() with group and havingtotal_count returned when result is truncatedassembled_query in the response echoes the SoQL string for learning the syntaxCANVAS_PROVIDER_TYPE=duckdb and result hits the limit, rows spill to a DataCanvas table for SQL-based analysissocrata_dataframe_describeList registered tables in a DataCanvas session.
CANVAS_PROVIDER_TYPE=duckdb is setsocrata_query_dataset spills a large result setsocrata_dataframe_querysocrata_dataframe_queryRun SELECT-only SQL against DataCanvas tables populated by socrata_query_dataset.
year > 2020, amount < 500)read_csv, read_parquet) are rejectedCANVAS_PROVIDER_TYPE=duckdb is set β DuckDB ships as a regular dependency| Type | Name | Description |
|---|---|---|
| Resource | socrata://datasets/{domain}/{datasetId} | Fetch full metadata and column schema for a dataset by stable URI β same payload as socrata_get_dataset |
| Resource | socrata://portals | Paginated list of known Socrata portals with organization name and approximate dataset count |
| Prompt | explore_open_data | Structured six-step civic data investigation workflow: find portal β discover datasets β inspect schema β query β aggregate β synthesize |
All resource data is also reachable via tools. Use the corresponding tool for agent workflows β resources are for clients that support URI-addressable data.
Built on @cyanheads/mcp-ts-core:
none, jwt, oauthin-memory, filesystem, Supabase, Cloudflare KV/R2/D1Socrata-specific:
SOCRATA_APP_TOKEN) for higher per-IP rate limitsSOCRATA_DEFAULT_DOMAINAgent-friendly output:
socrata_query_dataset response so agents can learn and refine syntaxinvalid_id, not_found, soql_error, rate_limited) with actionable recovery textAdd the following to your MCP client configuration file.
Or with npx (no Bun required):
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/socrata-mcp-server)<a href="https://allmcps.com/mcp/socrata-mcp-server"><img src="https://allmcps.com/api/badge/socrata-mcp-server?style=directory" alt="Socrata MCP Server on AllMCPs" /></a>