4,500+ servers built on MCP Fusion
Vinkius

OpenStates MCP. Track state bills and committee memberships across US jurisdictions.

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
See Vinkius in Action

Works with every AI agent you already use

…and any MCP-compatible client

OpenStates MCP on Cursor AI Code Editor MCP Client OpenStates MCP on Claude Desktop App MCP Integration OpenStates MCP on OpenAI Agents SDK MCP Compatible OpenStates MCP on Visual Studio Code MCP Extension Client OpenStates MCP on GitHub Copilot AI Agent MCP Integration OpenStates MCP on Google Gemini AI MCP Integration OpenStates MCP on Lovable AI Development MCP Client OpenStates MCP on Mistral AI Agents MCP Compatible OpenStates MCP on Amazon AWS Bedrock MCP Support

Just plug in your AI agents and start using Vinkius.

OpenStates provides instant access to US state-level legislative data through your AI client. Use it to search thousands of bills, audit legislator profiles across states and DC, or map committee memberships without manually visiting government websites.

It's a single endpoint for complex political data.

What your AI agents can do

Get bill details

Retrieves detailed records, including action history and sponsors, for a specific legislative bill ID.

Get committee details

Pulls the full roster and operational details for a specified legislative committee.

Get legislator details

Fetches the complete profile, contact information, and current roles of an individual state legislator.

+ 4 more capabilities included
Search for Bills by Topic or ID

Find specific pieces of legislation using keywords, bill numbers, and jurisdictional filters.

Fetch Legislator Profiles

Retrieve comprehensive records including contact information and current roles for any state legislator.

Map Committee Membership

List all available legislative committees within a jurisdiction and get detailed lists of who serves on them.

Track Bill Status Changes

Get the full action history, versioning, and current status for any given bill ID.

Identify Jurisdictions

List all supported US states and territories to confirm data coverage before making a request.

Supported MCP Clients

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
+ other MCP clients
Free for Subscribers

Waiting for input…

AI Agent

OpenStates: 7 Tools for Legislative Data Access

These tools allow your agent to search for state bills, retrieve full legislator profiles, and map out committee memberships across US jurisdictions.

get019d8468

get bill details

Retrieves detailed records, including action history and sponsors, for a specific legislative bill ID.

get019d8468

get committee details

Pulls the full roster and operational details for a specified legislative committee.

get019d8468

get legislator details

Fetches the complete profile, contact information, and current roles of an individual state legislator.

list019d8468

list committees

Lists all legislative committees that exist within a specified jurisdiction.

list019d8468

list jurisdictions

Provides a list of all supported US states and territories where legislative data is available.

search019d8468

search bills

Searches for bills using keywords, jurisdiction codes, or session years.

search019d8468

search legislators

Finds legislators based on name, party affiliation, or current district information.

Choose How to Get Started

Build a custom MCP for your own tools, or connect a ready-made integration from our catalog.

Build Your Own

Turn any API into an MCP. Import a spec, define Agent Skills, or deploy with MCPFusion.

  • Import from OpenAPI, Swagger, or YAML specs
  • Create Agent Skills with progressive disclosure
  • Deploy to edge with MCPFusion framework
  • Built in DLP, auth, and compliance on every call
  • Real time usage dashboard and cost metering
  • Publish to catalog or keep private
Start building

Make Your AI Do More

Start with OpenStates, then connect any of our 4,700+ other servers whenever your AI needs more. One click, no limits.

  • Use this MCP plus 4,700+ others, all in one place
  • Add new capabilities to your AI anytime you want
  • Every connection is secured and compliant automatically
  • Track usage and costs across all your servers
  • Works with Claude, ChatGPT, Cursor, and more
  • New servers added to the catalog every week

What you can do with this MCP connector

OpenStates gives your agent instant access to US state-level legislative data through a single endpoint. Forget manually hopping between government websites; you'll find everything here.

Your AI client can use this server to search thousands of bills, audit legislator profiles across states and D.C., or map committee memberships—all without leaving the conversation window. It’s a dedicated political analyst toolset that handles complex data retrieval.

Finding Bills and Tracking Legislation

When you need intel on a piece of legislation, you have several options. You can start broad by using search_bills, which lets your agent pull results based on keywords, specific jurisdiction codes, or session years. If you know the exact bill number, you'll use get_bill_details. That tool doesn’t just give you a title; it pulls detailed records showing the full action history and all sponsors associated with that legislative ID.

To trace exactly what happened to a piece of legislation, your agent checks the versioning and status changes via get_bill_details, giving you the entire timeline. You won't miss any key moments in the bill’s journey through the statehouse.

Pinpointing Legislators

Need to know who's making the laws? You can find legislators using two tools. First, your agent runs search_legislators to filter candidates by name, party affiliation, or their current district information. Once you pinpoint a person, you use get_legislator_details. This fetches the complete profile—you get their full contact info and all of their current roles in the state government.

Mapping Committees and Jurisdictions

The committee structure is key to understanding how bills move through government. You start by listing available areas with list_jurisdictions, which provides a list of every US state and territory that has data coverage. Once you know the jurisdiction, your agent runs list_committees to get an inventory of all legislative committees existing in that area.

If you want to see who's sitting on those boards, you use get_committee_details. This tool pulls both the operational details and the full roster for a specific committee. It tells you exactly which legislators serve on it, helping you map out power structures across any jurisdiction.

How Your Agent Uses These Tools

Your agent coordinates these tools to build complex data sets. You can't track legislation or understand political networking without coordinating multiple steps. For instance, if you want to check a bill’s status and see which legislators are involved in its committee, your agent will first use list_jurisdictions to confirm the state, then run search_bills for the ID, grab the full history with get_bill_details, identify the relevant committee using list_committees, and finally pull the names of members via get_committee_details.

It handles that entire chain of commands automatically.

It’s a single point of access for everything from finding basic bill information to auditing an individual's full profile, giving you unparalleled depth into state politics. You won't have to build complex queries or handle multiple API calls yourself; your agent just talks to the server and gets it done.

How OpenStates MCP Works

  1. 1 First, list the jurisdictions using list_jurisdictions to confirm your target state or territory is covered.
  2. 2 Next, use search_bills or search_legislators with specific criteria (e.g., topic + jurisdiction) to narrow down the data set.
  3. 3 Finally, pass the resulting ID (bill number or legislator name) into a detail tool like get_bill_details for the full record.

The bottom line is: you use one API client to chain multiple requests—from finding a state to listing its committee members and then pulling the details of a bill relevant to that committee's scope.

Who Is OpenStates MCP For?

This server targets professionals who deal with complex, multi-jurisdictional data. Think policy analysts struggling to manually cross-reference bills against committee memberships across several state websites, or journalists needing historical legislative records that aren't indexed anywhere else.

Policy Analyst

Uses search_bills and get_bill_details to track how a specific policy concern (like clean energy) is being debated and modified across different state legislative bodies.

Government Reporter

Employs list_committees and get_committee_details to quickly find out who sits on the relevant committee for a story, saving hours of manual government website browsing.

Legal Researcher

Uses get_legislator_details and get_bill_details to verify the exact current status or version history of state-level statutes necessary for litigation.

What Changes When You Connect

  • Cross-reference data instantly: You no longer have to visit multiple state websites. By chaining search_bills with list_committees, your agent maps the relationship between a topic, a bill, and the specific committee debating it—all in one go.
  • Avoid manual profile hunting: The get_legislator_details tool gives you instant access to full profiles and contact info for any state representative or senator. It eliminates hours of digging through government directories.
  • Track legislative history, not just status: get_bill_details provides deep metadata, showing the exact sequence of actions a bill took—'Passed in House,' 'Referred to Senate,' etc.—which is critical for research accuracy.
  • Systematically map coverage: Need to know if your data applies to New Mexico or Puerto Rico? Use list_jurisdictions first. It tells you exactly which areas the server covers, saving query time and frustration.
  • Targeted search over general browsing: Instead of reading through hundreds of results, use search_bills. You can filter by keyword and jurisdiction simultaneously to pull only the most relevant proposals.

Real-World Use Cases

01

Policy team needs a status update on water rights.

A policy analyst needs to know which states are currently debating water resource bills. They run search_bills using 'water rights' as the keyword, limiting results by state. The agent returns several active bill IDs. Next, they pass those IDs into get_bill_details to get the most recent action taken on each one.

02

Journalist needs to verify committee leadership.

A reporter is writing a piece about tax reform and needs to know who holds power in that area. They use list_committees for the relevant state and then call get_committee_details on the Finance Committee. This immediately provides the names, roles, and size of the group responsible.

03

Legal firm needs to verify a statute's version.

A law firm requires proof of the current, enacted text for an old state regulation. They first use search_bills to locate the original bill number and then call get_bill_details. This tool provides the full historical action log, confirming which versions were officially passed.

04

Civic tech developer needs a list of all data sources.

A developer building a public dashboard first runs list_jurisdictions to see every state supported. Then, they use this comprehensive list to loop through and call get_legislator_details for the top 10 committee chairs in each state.

The Tradeoffs

Searching everything at once

A user tries to ask, 'Show all bills about education sponsored by legislators from California.' This requires knowing the specific bill ID or using multiple parameters that confuse the agent.

Don't try to do it in one prompt. First, run search_legislators for California and get a list of IDs. Then, take those IDs and pass them into get_bill_details with an education keyword filter.

Assuming data coverage

A user assumes the server works for their state because it's similar to another covered area, leading to failed requests.

Always start by calling list_jurisdictions. This confirms that your target state or territory is actually supported before you waste time searching.

Confusing roles and bills

A user asks for 'the details of the committee.' They don't know whether they need a list of committees or the members.

Use list_committees to get the name, then use get_committee_details on that specific name. This is the correct two-step process.

When It Fits, When It Doesn't

You must use OpenStates if your task involves tracing connections between three distinct elements: a geographical location (jurisdiction), an individual (legislator), and a piece of policy (bill/committee). It's built for relational data queries. Don't use this if you just need to check a single, static fact—like 'What is the capital of Texas?' Use this when you need process information: e.g., 'Who sponsored bills on Topic X in State Y during Session Z?' If your goal is simply reading text from a webpage, don't use it; you need a web scraping tool instead.

Independent Platform Disclaimer: Vinkius is an independent platform and is not affiliated with, endorsed by, sponsored by, verified by, or otherwise authorized by OpenStates. All third-party trademarks, logos, and brand names are the property of their respective owners. Their use on this website is strictly for informational purposes to identify service compatibility and interoperability.

VINKIUS INFRASTRUCTURE

Cloud Hosted

Managed infra

V8 Isolated

Sandboxed per request

Zero-Trust Proxy

No stored credentials

DLP Enforced

Policy on every call

GDPR Compliant

EU data residency

Token Compression

~60% cost reduction

How we secure it →

Works with Claude, ChatGPT, Cursor, and more

The Model Context Protocol standardizes how applications expose capabilities to LLMs. Instead of operating in isolation, your AI gains direct access to external platforms, live data, and real-world actions through secure, standardized connections.

This server provides 7 capabilities that interface natively with Claude, ChatGPT, Cursor, and any MCP client. No middleware. No custom integration required.

Available Capabilities

get_bill_details get_committee_details get_legislator_details list_committees list_jurisdictions search_bills search_legislators

Finding the status of a bill shouldn't require checking five different government sites.

Right now, tracking one policy proposal is a nightmare. You open Congress.gov for federal bills; then you have to navigate to the state legislature's site, find the correct committee page, and finally locate the bill's status tracker. It’s tedious clicking through multiple databases just to get a single answer: 'Where does this bill stand?'

With OpenStates, your agent handles that entire process in one go. You ask it about a specific education bill in California. It runs `search_bills`, finds the ID, checks its committee affiliation using `get_committee_details`, and returns the current status—all without you clicking anything.

OpenStates MCP Server: Get full legislative intelligence with OpenStates.

Before this server, getting a complete picture of who is involved in state legislation meant cross-referencing legislator lists against committee rosters and then mapping those back to active bills. It was manual data aggregation at best, and almost impossible at worst.

Now, the agent pulls all that relationship logic out of your hands. You ask for 'all legislators on the Environmental Committee'—it runs `list_committees` and `get_committee_details` immediately. The complexity is gone; you just get the data.

Common Questions About OpenStates MCP

How do I check if a state is supported by OpenStates using list_jurisdictions? +

Call list_jurisdictions. This tool returns a definitive list of all US states and territories covered. If your state isn't on the returned list, you can’t query it yet.

I need to find bills about energy in Texas; should I use search_bills or search_legislators? +

You must use search_bills. This tool lets you filter by topic and jurisdiction. search_legislators only helps you find the people, not the specific legislation they sponsored.

What is the best way to get all committee members for a state? +

First, run list_committees to get the official names. Then, pass each name into get_committee_details. This ensures you capture the current membership roster.

Can I get a bill's history with get_bill_details? +

Yes. The get_bill_details tool pulls deep metadata, showing every official action—from introduction to committee referral—and its version changes over time.

When using `get_bill_details`, what specific information do I get regarding a bill's version history? +

It provides granular data on every action and version recorded for the legislation. You can analyze who passed it, when, and which committee handled it at that time.

If I run `get_legislator_details` with an incorrect or inactive legislator ID, what error status should I expect? +

The system returns a 404 status code and specifies the record was not found. Always verify the provided identifier before running detailed lookups.

Does the `search_bills` tool allow me to filter results by legislative session or year? +

Yes, you must include the 'session' parameter when calling search_bills. This keeps your search limited only to bills active in a specific government cycle.

What parameters are required for my AI client to successfully authenticate and use any tool? +

Your agent requires the OpenStates API Key, which must be passed as a secure configuration parameter. Once authenticated, your client gains access to all functions like list_committees.

Which US states are covered by this integration? +

OpenStates covers all 50 states, the District of Columbia, and Puerto Rico. You can use the list_jurisdictions tool to see the full list of currently active jurisdictions.

Can I search for bills by specific keywords like 'environment' or 'education'? +

Yes! Use the search_bills tool, provide the state name in the jurisdiction parameter, and your keywords in the q parameter. Your agent will return all matching legislation.

How do I get the contact information for my state representative? +

First, find the legislator using search_legislators with their name or district. Then, use the get_legislator_details tool with their ID to retrieve their official email, office address, and phone number.

More in this category

You might also like

Built & Managed by Vinkius 30s setup 7 tools

We've already built the connector for OpenStates. Just plug in your AI agents and start using Vinkius.

No hosting. No infrastructure. No complex setup.
All 7 tools are live and waiting. You're up and running in seconds.

Claude Claude
ChatGPT ChatGPT
Cursor Cursor
Gemini Gemini
Windsurf Windsurf
VS Code VS Code
JetBrains JetBrains
Vercel Vercel
+ other MCP clients

Vinkius gives your AI agents access to the full catalog of app connectors, all fully managed, secure, and enterprise-ready. One subscription, every tool you need.

Zero hosting required Full MCP catalog included Enterprise-grade security Auto-updated by Vinkius

Built, hosted, and secured by Vinkius. You just connect and go.