---
summary: "Committee search normalizes jurisdiction names to avoid an upstream 500; jurisdiction listing merges pages internally for the complete 56-jurisdiction inventory; the jurisdiction resource adopts a typed not-found contract."
breaking: false
security: false
---

# 0.1.12 — 2026-07-16

## Fixed

- **`openstates_search_committees`** — a full jurisdiction name (e.g. "Texas") combined with `chamber` no longer triggers an upstream HTTP 500. `searchCommittees` resolves the name to its Open States abbreviation via a static map covering the 50 states, DC, and 5 territories before the request; abbreviations, OCD-IDs, and unrecognized values pass through unchanged. ([#17](https://github.com/cyanheads/openstates-mcp-server/issues/17))
- **`openstates_list_jurisdictions`** — the default call previously dropped 4 states (Washington, West Virginia, Wisconsin, Wyoming) because the `state` inventory (56) exceeds the upstream `per_page` ceiling of 52. `listJurisdictions` now fetches and merges the remaining page(s) internally for the default full-inventory request, returning all 56 in one response; explicit deep paging and oversized collections (e.g. municipalities) still page normally. Tool description and `per_page` notes corrected to name all 5 US territories. ([#20](https://github.com/cyanheads/openstates-mcp-server/issues/20))
- **`openstates://jurisdiction/{jurisdiction_id}`** — the not-found path no longer leaks the raw upstream 404. The resource declares the same typed `errors: [{ reason: 'not_found', … }]` contract as `openstates_get_jurisdiction` and catches the service-layer `NotFound`, rethrowing with the invalid ID and recovery guidance; the dead `if (!jurisdiction)` guard (unreachable — the service always throws on a non-OK response) is removed. ([#21](https://github.com/cyanheads/openstates-mcp-server/issues/21))
