Skip to main content
Glama

Search State Legislators

openstates.legislature.people_search
Read-onlyIdempotent

Search current US state legislators across all 50 states. Filter by state jurisdiction, name, political party, or district. Returns legislator profiles including name, party affiliation, chamber role (Senator/Representative/Delegate), district, jurisdiction, and profile image. Powered by OpenStates (open-data, CC-licensed). Use jurisdiction codes such as "ca" (California), "tx" (Texas), "ny" (New York).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoSearch legislators by full or partial name (e.g. "Pelosi", "Nancy Pelosi"). Case-insensitive substring match.
pageNoPage number for pagination (default 1).
partyNoFilter by political party affiliation (e.g. "Democratic", "Republican", "Independent").
districtNoFilter by legislative district number or name (e.g. "12", "Senate District 5").
per_pageNoNumber of results per page (1–50, default 20).
jurisdictionNoState or jurisdiction abbreviation to filter legislators (e.g. "ca" for California, "tx" for Texas, "ny" for New York). Required unless name is provided.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent only when the call failed. Includes error code, message, request_id, and any provider-specific extras.
resultNoTool response payload. Shape varies per tool — consult the tool description and inputSchema. May be an object, array, string, or number depending on the upstream provider response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the read-only, idempotent, and non-destructive safety profile. The description adds value beyond that by listing the return fields (name, party affiliation, chamber role, district, jurisdiction, profile image) and by citing the data source and licensing (OpenStates, open-data, CC-licensed). It does not discuss rate limits or pagination behavior, but those are minor given the schema and annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long and front-loads the action and filters before listing return fields and provenance. It is efficient, though the jurisdiction examples slightly duplicate what's already in the schema. Every sentence earns its place without bloating the definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only search tool with a fully described schema, safety annotations, and an output schema, the description provides the essential information: what is searched, what filters are available, what the response contains, and the data source. An agent has everything needed to select and invoke the tool correctly without additional inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents all 6 parameters with examples, defaults, and constraints (e.g., per_page 1–50, jurisdiction required unless name is provided), achieving 100% coverage. The description adds little beyond what the schema provides, merely repeating the jurisdiction code examples. Baseline 3 is appropriate because the schema carries the parameter-semantic weight.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Search'), a clear resource ('current US state legislators'), and an explicit scope ('across all 50 states'). It also enumerates the key filter dimensions (state jurisdiction, name, political party, district), which distinguishes it from sibling OpenStates tools focused on bills and committees. The generic title is fully disambiguated by the description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly communicates what the tool is for and the available filtering options, including concrete jurisdiction code examples. It doesn't explicitly exclude alternatives or name sibling tools, but the resource-specific language makes it evident this is the legislator-search tool among the OpenStates family. No alternative is needed for this use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.