Pod

Available as Markdown and JSON. Pod is also available over MCP.

Reported issues for socrata-mcp-server

Pod holds 13 of 13 GitHub reports that passed its relevance review. This can include external user reports, maintainer-confirmed bugs, and concrete feature gaps. Treat them as evidence to inspect, not a count of distinct defects.

Back to socrata-mcp-server.

Most discussed

bug(output): rendered content truncates rows and fields present in structuredContent

Server version

0.1.16

mcp-ts-core version

^0.13.6

Runtime

Bun

Runtime version

Bun 1.3.14

Transport

HTTP (Streamable HTTP)

Description

Four format() paths cap a value in content[] that structuredContent carries in full, so clients reading only content[] lose data with no way to retrieve it:

Read the thread · 2026-07-05 · closed · 6 comments

bug(socrata-service): 404 and 429 lose reason and recovery unless the body is SODA-shaped JSON

Server version

0.1.16

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

SocrataService.fetchJson maps 404 → not_found and 429 → rate_limited only inside if (sodaErr), which requires a JSON body with code/errorCode plus message. Any other body falls through to httpErrorFromResponse with no reason, so the tools' contract rewrap never fires and no recovery hint is sent. Three live 404…

Read the thread · 2026-07-27 · closed · 5 comments

bug(socrata_get_dataset): off-host redirect to a non-Socrata JSON page returns an empty success

Server version

0.1.16

mcp-ts-core version

^0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

stdio

Description

data.oxnard.org no longer serves Socrata: /api/views/<id>.json redirects to oxnardca.opengov.com/data, which answers Accept: application/json with HTTP 200 and an unrelated JSON document. socrata_get_dataset accepts that as dataset metadata and returns a "successful" record with an empty name and no columns. The dataset resource already…

Read the thread · 2026-09-22 · closed · 1 comment

bug(socrata-service): URL-shaped domain builds https://https:// and retries a DNS failure to exhaustion

Server version

0.1.16

mcp-ts-core version

^0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

stdio

Description

domain is interpolated into https://${domain}/... verbatim, so a caller who passes a URL-shaped value — the form a portal's address bar shows — builds https://https://data.cdc.gov/.... On socrata_get_dataset and socrata_query_dataset the resulting DNS failure is treated as transient and retried to exhaustion before surfacing as a raw…

Read the thread · 2026-09-22 · closed · 1 comment

bug(socrata_list_portals): dataset_count skips the Discovery alias, reporting 0 for a portal that has datasets

Server version

0.1.15

mcp-ts-core version

^0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

findDatasets comma-joins DISCOVERY_DOMAIN_ALIASES into the Discovery domains filter, but fetchPortalDatasetCount sets domains: domain with no alias expansion. For a portal whose catalog assets live under an alias tenant, the count query necessarily returns resultSetSize: 0 — the map's own doc comment records that…

Read the thread · 2026-09-20 · closed · 1 comment

feat(socrata_query_dataset): name the staged table and socrata_dataframe_describe when a result spills to canvas

Use case

When socrata_query_dataset spills to a DataCanvas, it returns a canvas_id but no table name, and it never mentions socrata_dataframe_describe, the only tool that reveals the name. A caller writing SQL has to guess the FROM target, gets table_not_found, and only then sees the hint that points at describe.

The truncation notice is also written before the spill runs. Responses that already carry a canvas_id still say to query the canvas "when…

Read the thread · 2026-08-13 · closed · 1 comment

bug(socrata_find_datasets,socrata_query_dataset): column_names are display labels, unusable as SoQL field names

Server version

0.1.16

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

stdio

Description

socrata_find_datasets fills column_names from the Discovery API's resource.columns_name — display labels, not the API field names SoQL takes. A label matches only when it equals the field name up to case (DBA works); labels with spaces fail to parse. The describe frames the gap as types-only ("Preview column name list (no type info)"), and…

Read the thread · 2026-07-27 · closed · 1 comment

bug(socrata_get_dataset,socrata_query_dataset): not_found hides the queried domain and blames retirement for a cross-portal ID

Server version

0.1.16

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

stdio

Description

A Socrata four-by-four ID is only meaningful relative to its portal. socrata_get_dataset and socrata_query_dataset take domain as optional and fall back to SOCRATA_DEFAULT_DOMAIN (data.seattle.gov), so an ID from any other portal is looked up on the wrong host. The not_found that follows names neither the ID nor the domain (the…

Read the thread · 2026-07-27 · closed · 1 comment

Most recent

bug(socrata-service): a non-tabular asset's 403 surfaces as bare 'Forbidden' with no reason

Server version

0.2.1

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

HTTP (Streamable HTTP)

Description

Related: #39

A row query against a non-tabular Socrata asset (a file, a map, or an external link that socrata_find_datasets lists by default) gets HTTP 403 with a SODA body, {"error": true, "message": "no row or column access to non-tabular tables"}. That body matches neither the app-token branch nor the gateway branch in…

Read the thread · 2026-09-29 · open · 0 comments

feat(socrata_query_dataset): no way to stage a canvas without paying for the full inline page

Use case

An agent that wants the wider result set for SQL analysis has to request a full page it will not read. The canvas spill fires only when rowCount >= limit, so staging the bounded 50,000-row copy requires asking for the maximum page — and that page comes back inline in structuredContent.rows as well.

Measured: {"limit":5000,"select":"report_number,offense_date,offense_category,precinct,neighborhood"} against a Seattle crime dataset returned 1,135,178 bytes (~284k tokens)…

Read the thread · 2026-09-20 · open · 0 comments

bug(socrata_dataframe_describe): description promises registration time but output omits it

Server version

0.1.14

mcp-ts-core version

0.10.14

Runtime

Bun

Runtime version

Bun 1.3.14

Transport

HTTP (Streamable HTTP)

OS

macOS 26.1

Description

socrata_dataframe_describe's description says it lists each table's "schema, row count, column names, and registration time," but neither the advertised output schema nor either client response path contains a registration timestamp.

Steps to reproduce

  1. Enable canvas and stage rows with…

Read the thread · 2026-07-16 · closed · 1 comment

bug(canvas): spilled tables lose SODA number types and drop columns null in the first 100 rows

Server version

0.2.0

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

stdio

OS

macOS 27.0

Description

When socrata_query_dataset spills to a DataCanvas, it registers the rows with no schema, so DuckDB sniffs the first 100 rows. This causes two problems:

Read the thread · 2026-07-16 · closed · 1 comment

bug(socrata_query_dataset): assembled_query omits pagination offset

Server version

0.2.0

mcp-ts-core version

0.13.6

Runtime

Bun

Runtime version

Bun 1.4.0

Transport

stdio

OS

macOS 27.0

Description

socrata_query_dataset returns assembled_query as the SoQL behind the returned rows, but drops $offset. Two pages of the same query report the same assembled_query in structuredContent and in the **Query:** line of content[]. Paging itself works: only the reported query is incomplete.

Steps to reproduce

1.…

Read the thread · 2026-07-16 · closed · 1 comment

The remaining reports are on the project's issue tracker.