Cook County Open Data (datacatalog.cookcountyil.gov) Socrata MCP. Provides access to US government open data via the Socrata SoQL API: Cook County IL — courts, health, property & elections. Keyless.
Three tools with complete schemas and descriptions, but significant gaps in parameter documentation, output schema clarity, and error handling. Tool names lack action verbs (datasets, query, metadata are nouns). Descriptions are adequate (100-200 chars) but lack WHEN/WHY guidance. Parameter descriptions exist but omit constraints, ranges, and format details. No documented output schemas, error recovery guidance, or examples of chaining IDs between tools. The 'query' tool accepts free-form SoQL strings without validation hints, inviting malformed queries.
Search the Cook County Open Data catalog of open datasets by keyword. Returns each dataset's resource_id, name, description, category and update date — pass the resource_id to query/metadata.
Get a Cook County Open Data dataset's schema + metadata (columns, types, row count, category, last-updated) by resource_id, e.g. "cjeq-bs86".
Run a Socrata SoQL query against a Cook County Open Data dataset by resource_id (e.g. "cjeq-bs86"). Filter with where/select/group/order (SoQL clauses, without the leading $) plus limit/offset. Returns matching rows as JSON.
Tool names are nouns, not action verbs. 'datasets', 'query', 'metadata' lack clarity on what action occurs. Should be 'search_datasets', 'query_dataset', 'get_metadata'.
No output schema documented. LLMs cannot predict response structure (fields, types, pagination). Socrata API returns verbose metadata, should document what fields are stripped vs returned.
Parameter 'limit' lacks range constraints in description. Should state '1-100, default 20' in schema minumum/maximum, not just description text.
'query' tool accepts free-form SoQL strings (where, select, group, order) without validation or format hints. LLMs will hallucinate invalid SoQL syntax. Should provide examples or link to SoQL docs.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
No error recovery guidance. If resource_id is invalid or SoQL query fails, error messages are raw HTTP status codes. Should return actionable errors like 'Invalid resource_id. Call datasets() to find valid IDs.'