{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_2qmmjm4d6zjq","handle":"legislation","url":"https://wellknown.network/agents/legislation","links":{"self":"https://wellknown.network/agents/legislation/record.json","html":"https://wellknown.network/agents/legislation","markdown":"https://wellknown.network/agents/legislation/record.md","api":"https://wellknown.network/api/v1/agents/legislation","status":"https://wellknown.network/api/v1/agents/legislation/status","claim":"https://wellknown.network/agents/legislation/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/legislation/claim.json","badge":"https://wellknown.network/agents/legislation/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/legislation/history","tools":"https://wellknown.network/api/v1/agents/legislation/tools"},"ard":{"identifier":"urn:air:mcp.delilahusa.com:server:legislation","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Legislation","summary":"U.S. bills, roll-call votes, legislators and 2026 elections for all 50 states, D.C. and Congress.","description":"U.S. bills, roll-call votes, legislators and 2026 elections for all 50 states, D.C. and Congress.","publisher":{"name":"com.delilahusa","url":null},"homepage":"https://delilahusa.com/developers","repository":null,"version":"0.7.2","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.delilahusa.com","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-24T19:43:13.440613Z","publishedAt":"2026-09-24T19:43:13.440613Z","registryName":"com.delilahusa/legislation"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.writing","name":"Writing & Editing","confidence":1,"provenance":"derived"},{"slug":"data.vector-search","name":"Vector Search","confidence":1,"provenance":"derived"},{"slug":"data.news","name":"News & Feeds","confidence":0.933,"provenance":"derived"},{"slug":"content.social","name":"Social Media","confidence":0.583,"provenance":"derived"},{"slug":"productivity.hr","name":"HR & Recruiting","confidence":0.554,"provenance":"derived"},{"slug":"dev.filesystem","name":"Filesystem","confidence":0.54,"provenance":"derived"},{"slug":"analytics.reporting","name":"Reporting & Dashboards","confidence":0.54,"provenance":"derived"},{"slug":"ai.agent-discovery","name":"Agent Discovery","confidence":0.54,"provenance":"derived"}],"categories":["ai","analytics","content","data","dev","productivity"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-10T02:30:39.183Z","lastProbedAt":"2026-10-10T02:30:39.183Z","statusComputedAt":"2026-10-10T02:31:56.999Z","reliability30d":{"probes":55,"successRate":1,"p50Ms":23,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":55,"ok":55,"authBoundaryOk":0,"serviceOk":55,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T02:30:39.183Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":14,"error":null,"detail":{"tools":[{"name":"search_bills","description":"Search or list legislation with structured filters (GET /v1/bills). Use this when you know the jurisdiction, sponsor, topic, or status you want. Every filter is"},{"name":"semantic_search_bills","description":"Vector search over the full text of every bill (GET /v1/search/semantic): describe what you want in plain English — 'protecting kids from social media', 'limits"},{"name":"get_bill","description":"Fetch a single bill by its numeric bill_id (GET /v1/bills/{bill_id}), optionally merging in sub-resources: votes (roll calls with tallies), sponsors, history (a"},{"name":"get_bill_diff","description":"Compare two versions of a bill's text (GET /v1/bills/{bill_id}/diff): a unified diff plus similarity, added/removed line and character counts, and changed-secti"},{"name":"keyword_search_bills","description":"Keyword search where EVERY term must appear (GET /v1/search/bills). Use when the user gives specific words that all have to be present, e.g. ['short-term rental"},{"name":"get_bill_text","description":"The cleaned plain text of one bill-text version (GET /v1/texts/{text_id}), entities decoded, ready to quote or summarize. Get text_id from get_bill with include"},{"name":"get_bill_text_history","description":"Timeline of all computed diffs between successive text versions of one bill (GET /v1/bills/{bill_id}/changes): what changed, when, and how much. Use get_bill_di"},{"name":"list_legislators","description":"Search or list legislators (GET /v1/legislators) by jurisdiction, chamber, party, district, or name. This is how you turn a name into the people_id that get_leg"},{"name":"get_legislator","description":"Fetch a legislator's profile by people_id (GET /v1/legislators/{people_id}), optionally merging in votes (every roll call they are recorded on, newest first, wi"},{"name":"get_roll_call","description":"Fetch a roll call by roll_call_id (GET /v1/votes/{roll_call_id}): the motion, chamber, date and yea/nay/absent tallies. Add include:['details'] to also pull how"},{"name":"get_legislator_scorecard","description":"One-call voting and sponsorship profile for a legislator (GET /v1/legislators/{people_id}/scorecard): participation, party-line alignment, bills sponsored and p"},{"name":"list_committees","description":"List legislative committees (GET /v1/committees), filterable by jurisdiction, chamber, or name search. Returns the committee_id values that get_committee needs."},{"name":"get_committee","description":"Fetch a committee by committee_id (GET /v1/committees/{committee_id}), optionally merging in members (its roster, with roles) and hearings (its scheduled meetin"},{"name":"list_hearings","description":"Scheduled committee hearings across committees (GET /v1/hearings), filterable by jurisdiction and start date. Use this to answer 'what is being heard this week'"},{"name":"get_changes","description":"Near-real-time feed of what changed (GET /v1/changes). Poll with since=<ISO timestamp> to get everything newer than your cursor; with no since it defaults to th"},{"name":"list_topics","description":"The canonical topic taxonomy with per-topic bill counts (GET /v1/topics). Call this first to find the right slug for the topic filter on search_bills, instead o"},{"name":"list_subjects","description":"The raw subject taxonomy with per-subject bill counts (GET /v1/subjects). Subjects are the fine-grained categories the legislatures themselves assign to bills —"},{"name":"list_sessions","description":"Legislative sessions (GET /v1/sessions): regular and special sessions with their years, start/sine-die dates and a session_id. Use this to resolve which session"},{"name":"get_session_dashboard","description":"Headline counts for one legislative session (GET /v1/sessions/{id}/dashboard): bills filed, passed, signed, vetoed, roll calls, active legislators. Start here f"},{"name":"get_session_sponsor_stats","description":"Legislators ranked by bills sponsored and passed in one session (GET /v1/sessions/{id}/sponsor-stats). Each row has bills_sponsored, bills_primary, bills_passed"},{"name":"get_session_vote_participation","description":"How many roll calls each legislator voted in versus missed during one session (GET /v1/sessions/{id}/vote-participation). Use for attendance questions. Get sess"},{"name":"list_session_legislators","description":"Every legislator who served in one session (GET /v1/sessions/{id}/legislators), with people_id. Use list_legislators for the current roster by state; use this f"},{"name":"get_session_breakdown","description":"Bill count per status (by:'status', on the status_id ladder) or per subject (by:'subject') for one session (GET /v1/sessions/{id}/status-counts or /subject-coun"},{"name":"list_states","description":"The jurisdiction directory (GET /v1/states): the 50 states, D.C. and the U.S. Congress with their state_id, 2-letter code and full name. Returns the full list ("},{"name":"get_coverage","description":"Per-state depth snapshot (GET /v1/coverage): how COMPLETE each jurisdiction's data is — bill counts, the share of bills holding at least one vote, text or spons"},{"name":"get_trending_bills","description":"Bills with the most news coverage in the window (GET /v1/trending), optionally for one state. Use for 'what's in the news' or 'hot bills right now'. Returns bil"},{"name":"list_bills_by_stage","description":"Bills whose LATEST action in the window falls in a stage (GET /v1/bills-by-stage): introduced, committee, passed, executive (with the governor, signed, or vetoe"},{"name":"get_weekly_stage_breakdown","description":"One row per stage with the number of bills whose latest action landed there in the window (GET /v1/bills-weekly-breakdown). All jurisdictions combined. Use for "},{"name":"list_candidates","description":"Search the election-candidate directory (GET /v1/candidates): people running for office. Filters combine with AND. Roughly a third carry an FEC filer id and sit"},{"name":"get_candidate","description":"Fetch one election candidate by id (GET /v1/candidates/{id}): their party, office, district and cycle, plus an FEC filer id where the campaign has filed and a B"},{"name":"get_midterms","description":"The election slate for 2026-11-03 (GET /v1/midterms): races, candidates and ballot measures per state, with official results where available. All data is offici"},{"name":"get_ballot_measure","description":"Ballot measures (GET /v1/measures): the list for a state, or one measure by its number (e.g. 'Amendment 1') with full text, summary and official source URL. Use"},{"name":"list_districts","description":"District metadata by state and type (GET /v1/districts): congressional, state senate, state house. Pass district_id with boundary:true to get the polygon as Geo"},{"name":"get_candidate_photo","description":"The URL of a candidate's official portrait (GET /v1/photos/{candidate_id} returns the image bytes). Sources are official state-legislature and congressional por"},{"name":"list_statute_coverage","description":"Which jurisdictions' codified law is loaded, and how big and current it is (GET /v1/statutes/coverage): per state the number of codes, sections, bill links and "},{"name":"search_statutes","description":"Full-text search of a state's codified law (GET /v1/statutes/search). Use for 'what does the law say about X' and to find the section a bill or ballot measure c"},{"name":"get_statute","description":"One section of law with full text and its place in the code (GET /v1/statutes/sections/{section_id}, or by citation via GET /v1/statutes/lookup). Give section_i"},{"name":"get_bill_statutes","description":"The sections of existing law a bill amends, creates, repeals or cites (GET /v1/bills/{bill_id}/statutes), classified by how it touches each, with the current te"},{"name":"get_measure_statutes","description":"The sections of existing law a 2026 ballot measure amends, creates, repeals or cites (GET /v1/measures/{state}/{number}/statutes). Use for 'which laws does Prop"},{"name":"get_usage","description":"The current key's tier, monthly cap, requests used and remaining, and when the period resets (GET /v1/_meta/usage). Call this when a request is rate-limited (HT"},{"name":"manage_webhooks","description":"Manage the key's webhook subscriptions (/v1/webhooks). action:'list' is read-only. 'create' REGISTERS a URL that Delilah will POST to on the chosen events — it "}],"toolCount":41,"toolsHash":"851edcf7ceb0165b33578aa4864801b9f790e2f397d2c38fed2519fc319c632d","serverName":"legislation","capabilities":["tools"],"serverVersion":"0.8.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T19:27:18.706Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":34,"error":null,"detail":{"tools":[{"name":"search_bills","description":"Search or list legislation with structured filters (GET /v1/bills). Use this when you know the jurisdiction, sponsor, topic, or status you want. Every filter is"},{"name":"semantic_search_bills","description":"Vector search over the full text of every bill (GET /v1/search/semantic): describe what you want in plain English — 'protecting kids from social media', 'limits"},{"name":"get_bill","description":"Fetch a single bill by its numeric bill_id (GET /v1/bills/{bill_id}), optionally merging in sub-resources: votes (roll calls with tallies), sponsors, history (a"},{"name":"get_bill_diff","description":"Compare two versions of a bill's text (GET /v1/bills/{bill_id}/diff): a unified diff plus similarity, added/removed line and character counts, and changed-secti"},{"name":"keyword_search_bills","description":"Keyword search where EVERY term must appear (GET /v1/search/bills). Use when the user gives specific words that all have to be present, e.g. ['short-term rental"},{"name":"get_bill_text","description":"The cleaned plain text of one bill-text version (GET /v1/texts/{text_id}), entities decoded, ready to quote or summarize. Get text_id from get_bill with include"},{"name":"get_bill_text_history","description":"Timeline of all computed diffs between successive text versions of one bill (GET /v1/bills/{bill_id}/changes): what changed, when, and how much. Use get_bill_di"},{"name":"list_legislators","description":"Search or list legislators (GET /v1/legislators) by jurisdiction, chamber, party, district, or name. This is how you turn a name into the people_id that get_leg"},{"name":"get_legislator","description":"Fetch a legislator's profile by people_id (GET /v1/legislators/{people_id}), optionally merging in votes (every roll call they are recorded on, newest first, wi"},{"name":"get_roll_call","description":"Fetch a roll call by roll_call_id (GET /v1/votes/{roll_call_id}): the motion, chamber, date and yea/nay/absent tallies. Add include:['details'] to also pull how"},{"name":"get_legislator_scorecard","description":"One-call voting and sponsorship profile for a legislator (GET /v1/legislators/{people_id}/scorecard): participation, party-line alignment, bills sponsored and p"},{"name":"list_committees","description":"List legislative committees (GET /v1/committees), filterable by jurisdiction, chamber, or name search. Returns the committee_id values that get_committee needs."},{"name":"get_committee","description":"Fetch a committee by committee_id (GET /v1/committees/{committee_id}), optionally merging in members (its roster, with roles) and hearings (its scheduled meetin"},{"name":"list_hearings","description":"Scheduled committee hearings across committees (GET /v1/hearings), filterable by jurisdiction and start date. Use this to answer 'what is being heard this week'"},{"name":"get_changes","description":"Near-real-time feed of what changed (GET /v1/changes). Poll with since=<ISO timestamp> to get everything newer than your cursor; with no since it defaults to th"},{"name":"list_topics","description":"The canonical topic taxonomy with per-topic bill counts (GET /v1/topics). Call this first to find the right slug for the topic filter on search_bills, instead o"},{"name":"list_subjects","description":"The raw subject taxonomy with per-subject bill counts (GET /v1/subjects). Subjects are the fine-grained categories the legislatures themselves assign to bills —"},{"name":"list_sessions","description":"Legislative sessions (GET /v1/sessions): regular and special sessions with their years, start/sine-die dates and a session_id. Use this to resolve which session"},{"name":"get_session_dashboard","description":"Headline counts for one legislative session (GET /v1/sessions/{id}/dashboard): bills filed, passed, signed, vetoed, roll calls, active legislators. Start here f"},{"name":"get_session_sponsor_stats","description":"Legislators ranked by bills sponsored and passed in one session (GET /v1/sessions/{id}/sponsor-stats). Each row has bills_sponsored, bills_primary, bills_passed"},{"name":"get_session_vote_participation","description":"How many roll calls each legislator voted in versus missed during one session (GET /v1/sessions/{id}/vote-participation). Use for attendance questions. Get sess"},{"name":"list_session_legislators","description":"Every legislator who served in one session (GET /v1/sessions/{id}/legislators), with people_id. Use list_legislators for the current roster by state; use this f"},{"name":"get_session_breakdown","description":"Bill count per status (by:'status', on the status_id ladder) or per subject (by:'subject') for one session (GET /v1/sessions/{id}/status-counts or /subject-coun"},{"name":"list_states","description":"The jurisdiction directory (GET /v1/states): the 50 states, D.C. and the U.S. Congress with their state_id, 2-letter code and full name. Returns the full list ("},{"name":"get_coverage","description":"Per-state depth snapshot (GET /v1/coverage): how COMPLETE each jurisdiction's data is — bill counts, the share of bills holding at least one vote, text or spons"},{"name":"get_trending_bills","description":"Bills with the most news coverage in the window (GET /v1/trending), optionally for one state. Use for 'what's in the news' or 'hot bills right now'. Returns bil"},{"name":"list_bills_by_stage","description":"Bills whose LATEST action in the window falls in a stage (GET /v1/bills-by-stage): introduced, committee, passed, executive (with the governor, signed, or vetoe"},{"name":"get_weekly_stage_breakdown","description":"One row per stage with the number of bills whose latest action landed there in the window (GET /v1/bills-weekly-breakdown). All jurisdictions combined. Use for "},{"name":"list_candidates","description":"Search the election-candidate directory (GET /v1/candidates): people running for office. Filters combine with AND. Roughly a third carry an FEC filer id and sit"},{"name":"get_candidate","description":"Fetch one election candidate by id (GET /v1/candidates/{id}): their party, office, district and cycle, plus an FEC filer id where the campaign has filed and a B"},{"name":"get_midterms","description":"The election slate for 2026-11-03 (GET /v1/midterms): races, candidates and ballot measures per state, with official results where available. All data is offici"},{"name":"get_ballot_measure","description":"Ballot measures (GET /v1/measures): the list for a state, or one measure by its number (e.g. 'Amendment 1') with full text, summary and official source URL. Use"},{"name":"list_districts","description":"District metadata by state and type (GET /v1/districts): congressional, state senate, state house. Pass district_id with boundary:true to get the polygon as Geo"},{"name":"get_candidate_photo","description":"The URL of a candidate's official portrait (GET /v1/photos/{candidate_id} returns the image bytes). Sources are official state-legislature and congressional por"},{"name":"list_statute_coverage","description":"Which jurisdictions' codified law is loaded, and how big and current it is (GET /v1/statutes/coverage): per state the number of codes, sections, bill links and "},{"name":"search_statutes","description":"Full-text search of a state's codified law (GET /v1/statutes/search). Use for 'what does the law say about X' and to find the section a bill or ballot measure c"},{"name":"get_statute","description":"One section of law with full text and its place in the code (GET /v1/statutes/sections/{section_id}, or by citation via GET /v1/statutes/lookup). Give section_i"},{"name":"get_bill_statutes","description":"The sections of existing law a bill amends, creates, repeals or cites (GET /v1/bills/{bill_id}/statutes), classified by how it touches each, with the current te"},{"name":"get_measure_statutes","description":"The sections of existing law a 2026 ballot measure amends, creates, repeals or cites (GET /v1/measures/{state}/{number}/statutes). Use for 'which laws does Prop"},{"name":"get_usage","description":"The current key's tier, monthly cap, requests used and remaining, and when the period resets (GET /v1/_meta/usage). Call this when a request is rate-limited (HT"},{"name":"manage_webhooks","description":"Manage the key's webhook subscriptions (/v1/webhooks). action:'list' is read-only. 'create' REGISTERS a URL that Delilah will POST to on the chosen events — it "}],"toolCount":41,"toolsHash":"851edcf7ceb0165b33578aa4864801b9f790e2f397d2c38fed2519fc319c632d","serverName":"legislation","capabilities":["tools"],"serverVersion":"0.8.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T13:30:23.812Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":16,"error":null,"detail":{"tools":[{"name":"search_bills","description":"Search or list legislation with structured filters (GET /v1/bills). Use this when you know the jurisdiction, sponsor, topic, or status you want. Every filter is"},{"name":"semantic_search_bills","description":"Vector search over the full text of every bill (GET /v1/search/semantic): describe what you want in plain English — 'protecting kids from social media', 'limits"},{"name":"get_bill","description":"Fetch a single bill by its numeric bill_id (GET /v1/bills/{bill_id}), optionally merging in sub-resources: votes (roll calls with tallies), sponsors, history (a"},{"name":"get_bill_diff","description":"Compare two versions of a bill's text (GET /v1/bills/{bill_id}/diff): a unified diff plus similarity, added/removed line and character counts, and changed-secti"},{"name":"keyword_search_bills","description":"Keyword search where EVERY term must appear (GET /v1/search/bills). Use when the user gives specific words that all have to be present, e.g. ['short-term rental"},{"name":"get_bill_text","description":"The cleaned plain text of one bill-text version (GET /v1/texts/{text_id}), entities decoded, ready to quote or summarize. Get text_id from get_bill with include"},{"name":"get_bill_text_history","description":"Timeline of all computed diffs between successive text versions of one bill (GET /v1/bills/{bill_id}/changes): what changed, when, and how much. Use get_bill_di"},{"name":"list_legislators","description":"Search or list legislators (GET /v1/legislators) by jurisdiction, chamber, party, district, or name. This is how you turn a name into the people_id that get_leg"},{"name":"get_legislator","description":"Fetch a legislator's profile by people_id (GET /v1/legislators/{people_id}), optionally merging in votes (every roll call they are recorded on, newest first, wi"},{"name":"get_roll_call","description":"Fetch a roll call by roll_call_id (GET /v1/votes/{roll_call_id}): the motion, chamber, date and yea/nay/absent tallies. Add include:['details'] to also pull how"},{"name":"get_legislator_scorecard","description":"One-call voting and sponsorship profile for a legislator (GET /v1/legislators/{people_id}/scorecard): participation, party-line alignment, bills sponsored and p"},{"name":"list_committees","description":"List legislative committees (GET /v1/committees), filterable by jurisdiction, chamber, or name search. Returns the committee_id values that get_committee needs."},{"name":"get_committee","description":"Fetch a committee by committee_id (GET /v1/committees/{committee_id}), optionally merging in members (its roster, with roles) and hearings (its scheduled meetin"},{"name":"list_hearings","description":"Scheduled committee hearings across committees (GET /v1/hearings), filterable by jurisdiction and start date. Use this to answer 'what is being heard this week'"},{"name":"get_changes","description":"Near-real-time feed of what changed (GET /v1/changes). Poll with since=<ISO timestamp> to get everything newer than your cursor; with no since it defaults to th"},{"name":"list_topics","description":"The canonical topic taxonomy with per-topic bill counts (GET /v1/topics). Call this first to find the right slug for the topic filter on search_bills, instead o"},{"name":"list_subjects","description":"The raw subject taxonomy with per-subject bill counts (GET /v1/subjects). Subjects are the fine-grained categories the legislatures themselves assign to bills —"},{"name":"list_sessions","description":"Legislative sessions (GET /v1/sessions): regular and special sessions with their years, start/sine-die dates and a session_id. Use this to resolve which session"},{"name":"get_session_dashboard","description":"Headline counts for one legislative session (GET /v1/sessions/{id}/dashboard): bills filed, passed, signed, vetoed, roll calls, active legislators. Start here f"},{"name":"get_session_sponsor_stats","description":"Legislators ranked by bills sponsored and passed in one session (GET /v1/sessions/{id}/sponsor-stats). Each row has bills_sponsored, bills_primary, bills_passed"},{"name":"get_session_vote_participation","description":"How many roll calls each legislator voted in versus missed during one session (GET /v1/sessions/{id}/vote-participation). Use for attendance questions. Get sess"},{"name":"list_session_legislators","description":"Every legislator who served in one session (GET /v1/sessions/{id}/legislators), with people_id. Use list_legislators for the current roster by state; use this f"},{"name":"get_session_breakdown","description":"Bill count per status (by:'status', on the status_id ladder) or per subject (by:'subject') for one session (GET /v1/sessions/{id}/status-counts or /subject-coun"},{"name":"list_states","description":"The jurisdiction directory (GET /v1/states): the 50 states, D.C. and the U.S. Congress with their state_id, 2-letter code and full name. Returns the full list ("},{"name":"get_coverage","description":"Per-state depth snapshot (GET /v1/coverage): how COMPLETE each jurisdiction's data is — bill counts, the share of bills holding at least one vote, text or spons"},{"name":"get_trending_bills","description":"Bills with the most news coverage in the window (GET /v1/trending), optionally for one state. Use for 'what's in the news' or 'hot bills right now'. Returns bil"},{"name":"list_bills_by_stage","description":"Bills whose LATEST action in the window falls in a stage (GET /v1/bills-by-stage): introduced, committee, passed, executive (with the governor, signed, or vetoe"},{"name":"get_weekly_stage_breakdown","description":"One row per stage with the number of bills whose latest action landed there in the window (GET /v1/bills-weekly-breakdown). All jurisdictions combined. Use for "},{"name":"list_candidates","description":"Search the election-candidate directory (GET /v1/candidates): people running for office. Filters combine with AND. Roughly a third carry an FEC filer id and sit"},{"name":"get_candidate","description":"Fetch one election candidate by id (GET /v1/candidates/{id}): their party, office, district and cycle, plus an FEC filer id where the campaign has filed and a B"},{"name":"get_midterms","description":"The election slate for 2026-11-03 (GET /v1/midterms): races, candidates and ballot measures per state, with official results where available. All data is offici"},{"name":"get_ballot_measure","description":"Ballot measures (GET /v1/measures): the list for a state, or one measure by its number (e.g. 'Amendment 1') with full text, summary and official source URL. Use"},{"name":"list_districts","description":"District metadata by state and type (GET /v1/districts): congressional, state senate, state house. Pass district_id with boundary:true to get the polygon as Geo"},{"name":"get_candidate_photo","description":"The URL of a candidate's official portrait (GET /v1/photos/{candidate_id} returns the image bytes). Sources are official state-legislature and congressional por"},{"name":"list_statute_coverage","description":"Which jurisdictions' codified law is loaded, and how big and current it is (GET /v1/statutes/coverage): per state the number of codes, sections, bill links and "},{"name":"search_statutes","description":"Full-text search of a state's codified law (GET /v1/statutes/search). Use for 'what does the law say about X' and to find the section a bill or ballot measure c"},{"name":"get_statute","description":"One section of law with full text and its place in the code (GET /v1/statutes/sections/{section_id}, or by citation via GET /v1/statutes/lookup). Give section_i"},{"name":"get_bill_statutes","description":"The sections of existing law a bill amends, creates, repeals or cites (GET /v1/bills/{bill_id}/statutes), classified by how it touches each, with the current te"},{"name":"get_measure_statutes","description":"The sections of existing law a 2026 ballot measure amends, creates, repeals or cites (GET /v1/measures/{state}/{number}/statutes). Use for 'which laws does Prop"},{"name":"get_usage","description":"The current key's tier, monthly cap, requests used and remaining, and when the period resets (GET /v1/_meta/usage). Call this when a request is rate-limited (HT"},{"name":"manage_webhooks","description":"Manage the key's webhook subscriptions (/v1/webhooks). action:'list' is read-only. 'create' REGISTERS a URL that Delilah will POST to on the chosen events — it "}],"toolCount":41,"toolsHash":"851edcf7ceb0165b33578aa4864801b9f790e2f397d2c38fed2519fc319c632d","serverName":"legislation","capabilities":["tools"],"serverVersion":"0.8.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T06:21:15.442Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":23,"error":null,"detail":{"tools":[{"name":"search_bills","description":"Search or list legislation with structured filters (GET /v1/bills). Use this when you know the jurisdiction, sponsor, topic, or status you want. Every filter is"},{"name":"semantic_search_bills","description":"Vector search over the full text of every bill (GET /v1/search/semantic): describe what you want in plain English — 'protecting kids from social media', 'limits"},{"name":"get_bill","description":"Fetch a single bill by its numeric bill_id (GET /v1/bills/{bill_id}), optionally merging in sub-resources: votes (roll calls with tallies), sponsors, history (a"},{"name":"get_bill_diff","description":"Compare two versions of a bill's text (GET /v1/bills/{bill_id}/diff): a unified diff plus similarity, added/removed line and character counts, and changed-secti"},{"name":"keyword_search_bills","description":"Keyword search where EVERY term must appear (GET /v1/search/bills). Use when the user gives specific words that all have to be present, e.g. ['short-term rental"},{"name":"get_bill_text","description":"The cleaned plain text of one bill-text version (GET /v1/texts/{text_id}), entities decoded, ready to quote or summarize. Get text_id from get_bill with include"},{"name":"get_bill_text_history","description":"Timeline of all computed diffs between successive text versions of one bill (GET /v1/bills/{bill_id}/changes): what changed, when, and how much. Use get_bill_di"},{"name":"list_legislators","description":"Search or list legislators (GET /v1/legislators) by jurisdiction, chamber, party, district, or name. This is how you turn a name into the people_id that get_leg"},{"name":"get_legislator","description":"Fetch a legislator's profile by people_id (GET /v1/legislators/{people_id}), optionally merging in votes (every roll call they are recorded on, newest first, wi"},{"name":"get_roll_call","description":"Fetch a roll call by roll_call_id (GET /v1/votes/{roll_call_id}): the motion, chamber, date and yea/nay/absent tallies. Add include:['details'] to also pull how"},{"name":"get_legislator_scorecard","description":"One-call voting and sponsorship profile for a legislator (GET /v1/legislators/{people_id}/scorecard): participation, party-line alignment, bills sponsored and p"},{"name":"list_committees","description":"List legislative committees (GET /v1/committees), filterable by jurisdiction, chamber, or name search. Returns the committee_id values that get_committee needs."},{"name":"get_committee","description":"Fetch a committee by committee_id (GET /v1/committees/{committee_id}), optionally merging in members (its roster, with roles) and hearings (its scheduled meetin"},{"name":"list_hearings","description":"Scheduled committee hearings across committees (GET /v1/hearings), filterable by jurisdiction and start date. Use this to answer 'what is being heard this week'"},{"name":"get_changes","description":"Near-real-time feed of what changed (GET /v1/changes). Poll with since=<ISO timestamp> to get everything newer than your cursor; with no since it defaults to th"},{"name":"list_topics","description":"The canonical topic taxonomy with per-topic bill counts (GET /v1/topics). Call this first to find the right slug for the topic filter on search_bills, instead o"},{"name":"list_subjects","description":"The raw subject taxonomy with per-subject bill counts (GET /v1/subjects). Subjects are the fine-grained categories the legislatures themselves assign to bills —"},{"name":"list_sessions","description":"Legislative sessions (GET /v1/sessions): regular and special sessions with their years, start/sine-die dates and a session_id. Use this to resolve which session"},{"name":"get_session_dashboard","description":"Headline counts for one legislative session (GET /v1/sessions/{id}/dashboard): bills filed, passed, signed, vetoed, roll calls, active legislators. Start here f"},{"name":"get_session_sponsor_stats","description":"Legislators ranked by bills sponsored and passed in one session (GET /v1/sessions/{id}/sponsor-stats). Each row has bills_sponsored, bills_primary, bills_passed"},{"name":"get_session_vote_participation","description":"How many roll calls each legislator voted in versus missed during one session (GET /v1/sessions/{id}/vote-participation). Use for attendance questions. Get sess"},{"name":"list_session_legislators","description":"Every legislator who served in one session (GET /v1/sessions/{id}/legislators), with people_id. Use list_legislators for the current roster by state; use this f"},{"name":"get_session_breakdown","description":"Bill count per status (by:'status', on the status_id ladder) or per subject (by:'subject') for one session (GET /v1/sessions/{id}/status-counts or /subject-coun"},{"name":"list_states","description":"The jurisdiction directory (GET /v1/states): the 50 states, D.C. and the U.S. Congress with their state_id, 2-letter code and full name. Returns the full list ("},{"name":"get_coverage","description":"Per-state depth snapshot (GET /v1/coverage): how COMPLETE each jurisdiction's data is — bill counts, the share of bills holding at least one vote, text or spons"},{"name":"get_trending_bills","description":"Bills with the most news coverage in the window (GET /v1/trending), optionally for one state. Use for 'what's in the news' or 'hot bills right now'. Returns bil"},{"name":"list_bills_by_stage","description":"Bills whose LATEST action in the window falls in a stage (GET /v1/bills-by-stage): introduced, committee, passed, executive (with the governor, signed, or vetoe"},{"name":"get_weekly_stage_breakdown","description":"One row per stage with the number of bills whose latest action landed there in the window (GET /v1/bills-weekly-breakdown). All jurisdictions combined. Use for "},{"name":"list_candidates","description":"Search the election-candidate directory (GET /v1/candidates): people running for office. Filters combine with AND. Roughly a third carry an FEC filer id and sit"},{"name":"get_candidate","description":"Fetch one election candidate by id (GET /v1/candidates/{id}): their party, office, district and cycle, plus an FEC filer id where the campaign has filed and a B"},{"name":"get_midterms","description":"The election slate for 2026-11-03 (GET /v1/midterms): races, candidates and ballot measures per state, with official results where available. All data is offici"},{"name":"get_ballot_measure","description":"Ballot measures (GET /v1/measures): the list for a state, or one measure by its number (e.g. 'Amendment 1') with full text, summary and official source URL. Use"},{"name":"list_districts","description":"District metadata by state and type (GET /v1/districts): congressional, state senate, state house. Pass district_id with boundary:true to get the polygon as Geo"},{"name":"get_candidate_photo","description":"The URL of a candidate's official portrait (GET /v1/photos/{candidate_id} returns the image bytes). Sources are official state-legislature and congressional por"},{"name":"list_statute_coverage","description":"Which jurisdictions' codified law is loaded, and how big and current it is (GET /v1/statutes/coverage): per state the number of codes, sections, bill links and "},{"name":"search_statutes","description":"Full-text search of a state's codified law (GET /v1/statutes/search). Use for 'what does the law say about X' and to find the section a bill or ballot measure c"},{"name":"get_statute","description":"One section of law with full text and its place in the code (GET /v1/statutes/sections/{section_id}, or by citation via GET /v1/statutes/lookup). Give section_i"},{"name":"get_bill_statutes","description":"The sections of existing law a bill amends, creates, repeals or cites (GET /v1/bills/{bill_id}/statutes), classified by how it touches each, with the current te"},{"name":"get_measure_statutes","description":"The sections of existing law a 2026 ballot measure amends, creates, repeals or cites (GET /v1/measures/{state}/{number}/statutes). Use for 'which laws does Prop"},{"name":"get_usage","description":"The current key's tier, monthly cap, requests used and remaining, and when the period resets (GET /v1/_meta/usage). Call this when a request is rate-limited (HT"},{"name":"manage_webhooks","description":"Manage the key's webhook subscriptions (/v1/webhooks). action:'list' is read-only. 'create' REGISTERS a URL that Delilah will POST to on the chosen events — it "}],"toolCount":41,"toolsHash":"851edcf7ceb0165b33578aa4864801b9f790e2f397d2c38fed2519fc319c632d","serverName":"legislation","capabilities":["tools"],"serverVersion":"0.8.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T23:22:15.008Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":19,"error":null,"detail":{"tools":[{"name":"search_bills","description":"Search or list legislation with structured filters (GET /v1/bills). Use this when you know the jurisdiction, sponsor, topic, or status you want. Every filter is"},{"name":"semantic_search_bills","description":"Vector search over the full text of every bill (GET /v1/search/semantic): describe what you want in plain English — 'protecting kids from social media', 'limits"},{"name":"get_bill","description":"Fetch a single bill by its numeric bill_id (GET /v1/bills/{bill_id}), optionally merging in sub-resources: votes (roll calls with tallies), sponsors, history (a"},{"name":"get_bill_diff","description":"Compare two versions of a bill's text (GET /v1/bills/{bill_id}/diff): a unified diff plus similarity, added/removed line and character counts, and changed-secti"},{"name":"keyword_search_bills","description":"Keyword search where EVERY term must appear (GET /v1/search/bills). Use when the user gives specific words that all have to be present, e.g. ['short-term rental"},{"name":"get_bill_text","description":"The cleaned plain text of one bill-text version (GET /v1/texts/{text_id}), entities decoded, ready to quote or summarize. Get text_id from get_bill with include"},{"name":"get_bill_text_history","description":"Timeline of all computed diffs between successive text versions of one bill (GET /v1/bills/{bill_id}/changes): what changed, when, and how much. Use get_bill_di"},{"name":"list_legislators","description":"Search or list legislators (GET /v1/legislators) by jurisdiction, chamber, party, district, or name. This is how you turn a name into the people_id that get_leg"},{"name":"get_legislator","description":"Fetch a legislator's profile by people_id (GET /v1/legislators/{people_id}), optionally merging in votes (every roll call they are recorded on, newest first, wi"},{"name":"get_roll_call","description":"Fetch a roll call by roll_call_id (GET /v1/votes/{roll_call_id}): the motion, chamber, date and yea/nay/absent tallies. Add include:['details'] to also pull how"},{"name":"get_legislator_scorecard","description":"One-call voting and sponsorship profile for a legislator (GET /v1/legislators/{people_id}/scorecard): participation, party-line alignment, bills sponsored and p"},{"name":"list_committees","description":"List legislative committees (GET /v1/committees), filterable by jurisdiction, chamber, or name search. Returns the committee_id values that get_committee needs."},{"name":"get_committee","description":"Fetch a committee by committee_id (GET /v1/committees/{committee_id}), optionally merging in members (its roster, with roles) and hearings (its scheduled meetin"},{"name":"list_hearings","description":"Scheduled committee hearings across committees (GET /v1/hearings), filterable by jurisdiction and start date. Use this to answer 'what is being heard this week'"},{"name":"get_changes","description":"Near-real-time feed of what changed (GET /v1/changes). Poll with since=<ISO timestamp> to get everything newer than your cursor; with no since it defaults to th"},{"name":"list_topics","description":"The canonical topic taxonomy with per-topic bill counts (GET /v1/topics). Call this first to find the right slug for the topic filter on search_bills, instead o"},{"name":"list_subjects","description":"The raw subject taxonomy with per-subject bill counts (GET /v1/subjects). Subjects are the fine-grained categories the legislatures themselves assign to bills —"},{"name":"list_sessions","description":"Legislative sessions (GET /v1/sessions): regular and special sessions with their years, start/sine-die dates and a session_id. Use this to resolve which session"},{"name":"get_session_dashboard","description":"Headline counts for one legislative session (GET /v1/sessions/{id}/dashboard): bills filed, passed, signed, vetoed, roll calls, active legislators. Start here f"},{"name":"get_session_sponsor_stats","description":"Legislators ranked by bills sponsored and passed in one session (GET /v1/sessions/{id}/sponsor-stats). Each row has bills_sponsored, bills_primary, bills_passed"},{"name":"get_session_vote_participation","description":"How many roll calls each legislator voted in versus missed during one session (GET /v1/sessions/{id}/vote-participation). Use for attendance questions. Get sess"},{"name":"list_session_legislators","description":"Every legislator who served in one session (GET /v1/sessions/{id}/legislators), with people_id. Use list_legislators for the current roster by state; use this f"},{"name":"get_session_breakdown","description":"Bill count per status (by:'status', on the status_id ladder) or per subject (by:'subject') for one session (GET /v1/sessions/{id}/status-counts or /subject-coun"},{"name":"list_states","description":"The jurisdiction directory (GET /v1/states): the 50 states, D.C. and the U.S. Congress with their state_id, 2-letter code and full name. Returns the full list ("},{"name":"get_coverage","description":"Per-state depth snapshot (GET /v1/coverage): how COMPLETE each jurisdiction's data is — bill counts, the share of bills holding at least one vote, text or spons"},{"name":"get_trending_bills","description":"Bills with the most news coverage in the window (GET /v1/trending), optionally for one state. Use for 'what's in the news' or 'hot bills right now'. Returns bil"},{"name":"list_bills_by_stage","description":"Bills whose LATEST action in the window falls in a stage (GET /v1/bills-by-stage): introduced, committee, passed, executive (with the governor, signed, or vetoe"},{"name":"get_weekly_stage_breakdown","description":"One row per stage with the number of bills whose latest action landed there in the window (GET /v1/bills-weekly-breakdown). All jurisdictions combined. Use for "},{"name":"list_candidates","description":"Search the election-candidate directory (GET /v1/candidates): people running for office. Filters combine with AND. Roughly a third carry an FEC filer id and sit"},{"name":"get_candidate","description":"Fetch one election candidate by id (GET /v1/candidates/{id}): their party, office, district and cycle, plus an FEC filer id where the campaign has filed and a B"},{"name":"get_midterms","description":"The election slate for 2026-11-03 (GET /v1/midterms): races, candidates and ballot measures per state, with official results where available. All data is offici"},{"name":"get_ballot_measure","description":"Ballot measures (GET /v1/measures): the list for a state, or one measure by its number (e.g. 'Amendment 1') with full text, summary and official source URL. Use"},{"name":"list_districts","description":"District metadata by state and type (GET /v1/districts): congressional, state senate, state house. Pass district_id with boundary:true to get the polygon as Geo"},{"name":"get_candidate_photo","description":"The URL of a candidate's official portrait (GET /v1/photos/{candidate_id} returns the image bytes). Sources are official state-legislature and congressional por"},{"name":"list_statute_coverage","description":"Which jurisdictions' codified law is loaded, and how big and current it is (GET /v1/statutes/coverage): per state the number of codes, sections, bill links and "},{"name":"search_statutes","description":"Full-text search of a state's codified law (GET /v1/statutes/search). Use for 'what does the law say about X' and to find the section a bill or ballot measure c"},{"name":"get_statute","description":"One section of law with full text and its place in the code (GET /v1/statutes/sections/{section_id}, or by citation via GET /v1/statutes/lookup). Give section_i"},{"name":"get_bill_statutes","description":"The sections of existing law a bill amends, creates, repeals or cites (GET /v1/bills/{bill_id}/statutes), classified by how it touches each, with the current te"},{"name":"get_measure_statutes","description":"The sections of existing law a 2026 ballot measure amends, creates, repeals or cites (GET /v1/measures/{state}/{number}/statutes). Use for 'which laws does Prop"},{"name":"get_usage","description":"The current key's tier, monthly cap, requests used and remaining, and when the period resets (GET /v1/_meta/usage). Call this when a request is rate-limited (HT"},{"name":"manage_webhooks","description":"Manage the key's webhook subscriptions (/v1/webhooks). action:'list' is read-only. 'create' REGISTERS a URL that Delilah will POST to on the chosen events — it "}],"toolCount":41,"toolsHash":"851edcf7ceb0165b33578aa4864801b9f790e2f397d2c38fed2519fc319c632d","serverName":"legislation","capabilities":["tools"],"serverVersion":"0.8.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T16:27:48.910Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":57,"error":null,"detail":{"tools":[{"name":"search_bills","description":"Search or list legislation with structured filters (GET /v1/bills). Use this when you know the jurisdiction, sponsor, topic, or status you want. Every filter is"},{"name":"semantic_search_bills","description":"Vector search over the full text of every bill (GET /v1/search/semantic): describe what you want in plain English — 'protecting kids from social media', 'limits"},{"name":"get_bill","description":"Fetch a single bill by its numeric bill_id (GET /v1/bills/{bill_id}), optionally merging in sub-resources: votes (roll calls with tallies), sponsors, history (a"},{"name":"get_bill_diff","description":"Compare two versions of a bill's text (GET /v1/bills/{bill_id}/diff): a unified diff plus similarity, added/removed line and character counts, and changed-secti"},{"name":"keyword_search_bills","description":"Keyword search where EVERY term must appear (GET /v1/search/bills). Use when the user gives specific words that all have to be present, e.g. ['short-term rental"},{"name":"get_bill_text","description":"The cleaned plain text of one bill-text version (GET /v1/texts/{text_id}), entities decoded, ready to quote or summarize. Get text_id from get_bill with include"},{"name":"get_bill_text_history","description":"Timeline of all computed diffs between successive text versions of one bill (GET /v1/bills/{bill_id}/changes): what changed, when, and how much. Use get_bill_di"},{"name":"list_legislators","description":"Search or list legislators (GET /v1/legislators) by jurisdiction, chamber, party, district, or name. This is how you turn a name into the people_id that get_leg"},{"name":"get_legislator","description":"Fetch a legislator's profile by people_id (GET /v1/legislators/{people_id}), optionally merging in votes (every roll call they are recorded on, newest first, wi"},{"name":"get_roll_call","description":"Fetch a roll call by roll_call_id (GET /v1/votes/{roll_call_id}): the motion, chamber, date and yea/nay/absent tallies. Add include:['details'] to also pull how"},{"name":"get_legislator_scorecard","description":"One-call voting and sponsorship profile for a legislator (GET /v1/legislators/{people_id}/scorecard): participation, party-line alignment, bills sponsored and p"},{"name":"list_committees","description":"List legislative committees (GET /v1/committees), filterable by jurisdiction, chamber, or name search. Returns the committee_id values that get_committee needs."},{"name":"get_committee","description":"Fetch a committee by committee_id (GET /v1/committees/{committee_id}), optionally merging in members (its roster, with roles) and hearings (its scheduled meetin"},{"name":"list_hearings","description":"Scheduled committee hearings across committees (GET /v1/hearings), filterable by jurisdiction and start date. Use this to answer 'what is being heard this week'"},{"name":"get_changes","description":"Near-real-time feed of what changed (GET /v1/changes). Poll with since=<ISO timestamp> to get everything newer than your cursor; with no since it defaults to th"},{"name":"list_topics","description":"The canonical topic taxonomy with per-topic bill counts (GET /v1/topics). Call this first to find the right slug for the topic filter on search_bills, instead o"},{"name":"list_subjects","description":"The raw subject taxonomy with per-subject bill counts (GET /v1/subjects). Subjects are the fine-grained categories the legislatures themselves assign to bills —"},{"name":"list_sessions","description":"Legislative sessions (GET /v1/sessions): regular and special sessions with their years, start/sine-die dates and a session_id. Use this to resolve which session"},{"name":"get_session_dashboard","description":"Headline counts for one legislative session (GET /v1/sessions/{id}/dashboard): bills filed, passed, signed, vetoed, roll calls, active legislators. Start here f"},{"name":"get_session_sponsor_stats","description":"Legislators ranked by bills sponsored and passed in one session (GET /v1/sessions/{id}/sponsor-stats). Each row has bills_sponsored, bills_primary, bills_passed"},{"name":"get_session_vote_participation","description":"How many roll calls each legislator voted in versus missed during one session (GET /v1/sessions/{id}/vote-participation). Use for attendance questions. Get sess"},{"name":"list_session_legislators","description":"Every legislator who served in one session (GET /v1/sessions/{id}/legislators), with people_id. Use list_legislators for the current roster by state; use this f"},{"name":"get_session_breakdown","description":"Bill count per status (by:'status', on the status_id ladder) or per subject (by:'subject') for one session (GET /v1/sessions/{id}/status-counts or /subject-coun"},{"name":"list_states","description":"The jurisdiction directory (GET /v1/states): the 50 states, D.C. and the U.S. Congress with their state_id, 2-letter code and full name. Returns the full list ("},{"name":"get_coverage","description":"Per-state depth snapshot (GET /v1/coverage): how COMPLETE each jurisdiction's data is — bill counts, the share of bills holding at least one vote, text or spons"},{"name":"get_trending_bills","description":"Bills with the most news coverage in the window (GET /v1/trending), optionally for one state. Use for 'what's in the news' or 'hot bills right now'. Returns bil"},{"name":"list_bills_by_stage","description":"Bills whose LATEST action in the window falls in a stage (GET /v1/bills-by-stage): introduced, committee, passed, executive (with the governor, signed, or vetoe"},{"name":"get_weekly_stage_breakdown","description":"One row per stage with the number of bills whose latest action landed there in the window (GET /v1/bills-weekly-breakdown). All jurisdictions combined. Use for "},{"name":"list_candidates","description":"Search the election-candidate directory (GET /v1/candidates): people running for office. Filters combine with AND. Roughly a third carry an FEC filer id and sit"},{"name":"get_candidate","description":"Fetch one election candidate by id (GET /v1/candidates/{id}): their party, office, district and cycle, plus an FEC filer id where the campaign has filed and a B"},{"name":"get_midterms","description":"The election slate for 2026-11-03 (GET /v1/midterms): races, candidates and ballot measures per state, with official results where available. All data is offici"},{"name":"get_ballot_measure","description":"Ballot measures (GET /v1/measures): the list for a state, or one measure by its number (e.g. 'Amendment 1') with full text, summary and official source URL. Use"},{"name":"list_districts","description":"District metadata by state and type (GET /v1/districts): congressional, state senate, state house. Pass district_id with boundary:true to get the polygon as Geo"},{"name":"get_candidate_photo","description":"The URL of a candidate's official portrait (GET /v1/photos/{candidate_id} returns the image bytes). Sources are official state-legislature and congressional por"},{"name":"list_statute_coverage","description":"Which jurisdictions' codified law is loaded, and how big and current it is (GET /v1/statutes/coverage): per state the number of codes, sections, bill links and "},{"name":"search_statutes","description":"Full-text search of a state's codified law (GET /v1/statutes/search). Use for 'what does the law say about X' and to find the section a bill or ballot measure c"},{"name":"get_statute","description":"One section of law with full text and its place in the code (GET /v1/statutes/sections/{section_id}, or by citation via GET /v1/statutes/lookup). Give section_i"},{"name":"get_bill_statutes","description":"The sections of existing law a bill amends, creates, repeals or cites (GET /v1/bills/{bill_id}/statutes), classified by how it touches each, with the current te"},{"name":"get_measure_statutes","description":"The sections of existing law a 2026 ballot measure amends, creates, repeals or cites (GET /v1/measures/{state}/{number}/statutes). Use for 'which laws does Prop"},{"name":"get_usage","description":"The current key's tier, monthly cap, requests used and remaining, and when the period resets (GET /v1/_meta/usage). Call this when a request is rate-limited (HT"},{"name":"manage_webhooks","description":"Manage the key's webhook subscriptions (/v1/webhooks). action:'list' is read-only. 'create' REGISTERS a URL that Delilah will POST to on the chosen events — it "}],"toolCount":41,"toolsHash":"851edcf7ceb0165b33578aa4864801b9f790e2f397d2c38fed2519fc319c632d","serverName":"legislation","capabilities":["tools"],"serverVersion":"0.8.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T09:24:11.500Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":19,"error":null,"detail":{"tools":[{"name":"search_bills","description":"Search or list legislation with structured filters (GET /v1/bills). Use this when you know the jurisdiction, sponsor, topic, or status you want. Every filter is"},{"name":"semantic_search_bills","description":"Vector search over the full text of every bill (GET /v1/search/semantic): describe what you want in plain English — 'protecting kids from social media', 'limits"},{"name":"get_bill","description":"Fetch a single bill by its numeric bill_id (GET /v1/bills/{bill_id}), optionally merging in sub-resources: votes (roll calls with tallies), sponsors, history (a"},{"name":"get_bill_diff","description":"Compare two versions of a bill's text (GET /v1/bills/{bill_id}/diff): a unified diff plus similarity, added/removed line and character counts, and changed-secti"},{"name":"keyword_search_bills","description":"Keyword search where EVERY term must appear (GET /v1/search/bills). Use when the user gives specific words that all have to be present, e.g. ['short-term rental"},{"name":"get_bill_text","description":"The cleaned plain text of one bill-text version (GET /v1/texts/{text_id}), entities decoded, ready to quote or summarize. Get text_id from get_bill with include"},{"name":"get_bill_text_history","description":"Timeline of all computed diffs between successive text versions of one bill (GET /v1/bills/{bill_id}/changes): what changed, when, and how much. Use get_bill_di"},{"name":"list_legislators","description":"Search or list legislators (GET /v1/legislators) by jurisdiction, chamber, party, district, or name. This is how you turn a name into the people_id that get_leg"},{"name":"get_legislator","description":"Fetch a legislator's profile by people_id (GET /v1/legislators/{people_id}), optionally merging in votes (every roll call they are recorded on, newest first, wi"},{"name":"get_roll_call","description":"Fetch a roll call by roll_call_id (GET /v1/votes/{roll_call_id}): the motion, chamber, date and yea/nay/absent tallies. Add include:['details'] to also pull how"},{"name":"get_legislator_scorecard","description":"One-call voting and sponsorship profile for a legislator (GET /v1/legislators/{people_id}/scorecard): participation, party-line alignment, bills sponsored and p"},{"name":"list_committees","description":"List legislative committees (GET /v1/committees), filterable by jurisdiction, chamber, or name search. Returns the committee_id values that get_committee needs."},{"name":"get_committee","description":"Fetch a committee by committee_id (GET /v1/committees/{committee_id}), optionally merging in members (its roster, with roles) and hearings (its scheduled meetin"},{"name":"list_hearings","description":"Scheduled committee hearings across committees (GET /v1/hearings), filterable by jurisdiction and start date. Use this to answer 'what is being heard this week'"},{"name":"get_changes","description":"Near-real-time feed of what changed (GET /v1/changes). Poll with since=<ISO timestamp> to get everything newer than your cursor; with no since it defaults to th"},{"name":"list_topics","description":"The canonical topic taxonomy with per-topic bill counts (GET /v1/topics). Call this first to find the right slug for the topic filter on search_bills, instead o"},{"name":"list_subjects","description":"The raw subject taxonomy with per-subject bill counts (GET /v1/subjects). Subjects are the fine-grained categories the legislatures themselves assign to bills —"},{"name":"list_sessions","description":"Legislative sessions (GET /v1/sessions): regular and special sessions with their years, start/sine-die dates and a session_id. Use this to resolve which session"},{"name":"get_session_dashboard","description":"Headline counts for one legislative session (GET /v1/sessions/{id}/dashboard): bills filed, passed, signed, vetoed, roll calls, active legislators. Start here f"},{"name":"get_session_sponsor_stats","description":"Legislators ranked by bills sponsored and passed in one session (GET /v1/sessions/{id}/sponsor-stats). Each row has bills_sponsored, bills_primary, bills_passed"},{"name":"get_session_vote_participation","description":"How many roll calls each legislator voted in versus missed during one session (GET /v1/sessions/{id}/vote-participation). Use for attendance questions. Get sess"},{"name":"list_session_legislators","description":"Every legislator who served in one session (GET /v1/sessions/{id}/legislators), with people_id. Use list_legislators for the current roster by state; use this f"},{"name":"get_session_breakdown","description":"Bill count per status (by:'status', on the status_id ladder) or per subject (by:'subject') for one session (GET /v1/sessions/{id}/status-counts or /subject-coun"},{"name":"list_states","description":"The jurisdiction directory (GET /v1/states): the 50 states, D.C. and the U.S. Congress with their state_id, 2-letter code and full name. Returns the full list ("},{"name":"get_coverage","description":"Per-state depth snapshot (GET /v1/coverage): how COMPLETE each jurisdiction's data is — bill counts, the share of bills holding at least one vote, text or spons"},{"name":"get_trending_bills","description":"Bills with the most news coverage in the window (GET /v1/trending), optionally for one state. Use for 'what's in the news' or 'hot bills right now'. Returns bil"},{"name":"list_bills_by_stage","description":"Bills whose LATEST action in the window falls in a stage (GET /v1/bills-by-stage): introduced, committee, passed, executive (with the governor, signed, or vetoe"},{"name":"get_weekly_stage_breakdown","description":"One row per stage with the number of bills whose latest action landed there in the window (GET /v1/bills-weekly-breakdown). All jurisdictions combined. Use for "},{"name":"list_candidates","description":"Search the election-candidate directory (GET /v1/candidates): people running for office. Filters combine with AND. Roughly a third carry an FEC filer id and sit"},{"name":"get_candidate","description":"Fetch one election candidate by id (GET /v1/candidates/{id}): their party, office, district and cycle, plus an FEC filer id where the campaign has filed and a B"},{"name":"get_midterms","description":"The election slate for 2026-11-03 (GET /v1/midterms): races, candidates and ballot measures per state, with official results where available. All data is offici"},{"name":"get_ballot_measure","description":"Ballot measures (GET /v1/measures): the list for a state, or one measure by its number (e.g. 'Amendment 1') with full text, summary and official source URL. Use"},{"name":"list_districts","description":"District metadata by state and type (GET /v1/districts): congressional, state senate, state house. Pass district_id with boundary:true to get the polygon as Geo"},{"name":"get_candidate_photo","description":"The URL of a candidate's official portrait (GET /v1/photos/{candidate_id} returns the image bytes). Sources are official state-legislature and congressional por"},{"name":"list_statute_coverage","description":"Which jurisdictions' codified law is loaded, and how big and current it is (GET /v1/statutes/coverage): per state the number of codes, sections, bill links and "},{"name":"search_statutes","description":"Full-text search of a state's codified law (GET /v1/statutes/search). Use for 'what does the law say about X' and to find the section a bill or ballot measure c"},{"name":"get_statute","description":"One section of law with full text and its place in the code (GET /v1/statutes/sections/{section_id}, or by citation via GET /v1/statutes/lookup). Give section_i"},{"name":"get_bill_statutes","description":"The sections of existing law a bill amends, creates, repeals or cites (GET /v1/bills/{bill_id}/statutes), classified by how it touches each, with the current te"},{"name":"get_measure_statutes","description":"The sections of existing law a 2026 ballot measure amends, creates, repeals or cites (GET /v1/measures/{state}/{number}/statutes). Use for 'which laws does Prop"},{"name":"get_usage","description":"The current key's tier, monthly cap, requests used and remaining, and when the period resets (GET /v1/_meta/usage). Call this when a request is rate-limited (HT"},{"name":"manage_webhooks","description":"Manage the key's webhook subscriptions (/v1/webhooks). action:'list' is read-only. 'create' REGISTERS a URL that Delilah will POST to on the chosen events — it "}],"toolCount":41,"toolsHash":"851edcf7ceb0165b33578aa4864801b9f790e2f397d2c38fed2519fc319c632d","serverName":"legislation","capabilities":["tools"],"serverVersion":"0.8.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T03:24:04.105Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":19,"error":null,"detail":{"tools":[{"name":"search_bills","description":"Search or list legislation with structured filters (GET /v1/bills). Use this when you know the jurisdiction, sponsor, topic, or status you want. Every filter is"},{"name":"semantic_search_bills","description":"Vector search over the full text of every bill (GET /v1/search/semantic): describe what you want in plain English — 'protecting kids from social media', 'limits"},{"name":"get_bill","description":"Fetch a single bill by its numeric bill_id (GET /v1/bills/{bill_id}), optionally merging in sub-resources: votes (roll calls with tallies), sponsors, history (a"},{"name":"get_bill_diff","description":"Compare two versions of a bill's text (GET /v1/bills/{bill_id}/diff): a unified diff plus similarity, added/removed line and character counts, and changed-secti"},{"name":"keyword_search_bills","description":"Keyword search where EVERY term must appear (GET /v1/search/bills). Use when the user gives specific words that all have to be present, e.g. ['short-term rental"},{"name":"get_bill_text","description":"The cleaned plain text of one bill-text version (GET /v1/texts/{text_id}), entities decoded, ready to quote or summarize. Get text_id from get_bill with include"},{"name":"get_bill_text_history","description":"Timeline of all computed diffs between successive text versions of one bill (GET /v1/bills/{bill_id}/changes): what changed, when, and how much. Use get_bill_di"},{"name":"list_legislators","description":"Search or list legislators (GET /v1/legislators) by jurisdiction, chamber, party, district, or name. This is how you turn a name into the people_id that get_leg"},{"name":"get_legislator","description":"Fetch a legislator's profile by people_id (GET /v1/legislators/{people_id}), optionally merging in votes (every roll call they are recorded on, newest first, wi"},{"name":"get_roll_call","description":"Fetch a roll call by roll_call_id (GET /v1/votes/{roll_call_id}): the motion, chamber, date and yea/nay/absent tallies. Add include:['details'] to also pull how"},{"name":"get_legislator_scorecard","description":"One-call voting and sponsorship profile for a legislator (GET /v1/legislators/{people_id}/scorecard): participation, party-line alignment, bills sponsored and p"},{"name":"list_committees","description":"List legislative committees (GET /v1/committees), filterable by jurisdiction, chamber, or name search. Returns the committee_id values that get_committee needs."},{"name":"get_committee","description":"Fetch a committee by committee_id (GET /v1/committees/{committee_id}), optionally merging in members (its roster, with roles) and hearings (its scheduled meetin"},{"name":"list_hearings","description":"Scheduled committee hearings across committees (GET /v1/hearings), filterable by jurisdiction and start date. Use this to answer 'what is being heard this week'"},{"name":"get_changes","description":"Near-real-time feed of what changed (GET /v1/changes). Poll with since=<ISO timestamp> to get everything newer than your cursor; with no since it defaults to th"},{"name":"list_topics","description":"The canonical topic taxonomy with per-topic bill counts (GET /v1/topics). Call this first to find the right slug for the topic filter on search_bills, instead o"},{"name":"list_subjects","description":"The raw subject taxonomy with per-subject bill counts (GET /v1/subjects). Subjects are the fine-grained categories the legislatures themselves assign to bills —"},{"name":"list_sessions","description":"Legislative sessions (GET /v1/sessions): regular and special sessions with their years, start/sine-die dates and a session_id. Use this to resolve which session"},{"name":"get_session_dashboard","description":"Headline counts for one legislative session (GET /v1/sessions/{id}/dashboard): bills filed, passed, signed, vetoed, roll calls, active legislators. Start here f"},{"name":"get_session_sponsor_stats","description":"Legislators ranked by bills sponsored and passed in one session (GET /v1/sessions/{id}/sponsor-stats). Each row has bills_sponsored, bills_primary, bills_passed"},{"name":"get_session_vote_participation","description":"How many roll calls each legislator voted in versus missed during one session (GET /v1/sessions/{id}/vote-participation). Use for attendance questions. Get sess"},{"name":"list_session_legislators","description":"Every legislator who served in one session (GET /v1/sessions/{id}/legislators), with people_id. Use list_legislators for the current roster by state; use this f"},{"name":"get_session_breakdown","description":"Bill count per status (by:'status', on the status_id ladder) or per subject (by:'subject') for one session (GET /v1/sessions/{id}/status-counts or /subject-coun"},{"name":"list_states","description":"The jurisdiction directory (GET /v1/states): the 50 states, D.C. and the U.S. Congress with their state_id, 2-letter code and full name. Returns the full list ("},{"name":"get_coverage","description":"Per-state depth snapshot (GET /v1/coverage): how COMPLETE each jurisdiction's data is — bill counts, the share of bills holding at least one vote, text or spons"},{"name":"get_trending_bills","description":"Bills with the most news coverage in the window (GET /v1/trending), optionally for one state. Use for 'what's in the news' or 'hot bills right now'. Returns bil"},{"name":"list_bills_by_stage","description":"Bills whose LATEST action in the window falls in a stage (GET /v1/bills-by-stage): introduced, committee, passed, executive (with the governor, signed, or vetoe"},{"name":"get_weekly_stage_breakdown","description":"One row per stage with the number of bills whose latest action landed there in the window (GET /v1/bills-weekly-breakdown). All jurisdictions combined. Use for "},{"name":"list_candidates","description":"Search the election-candidate directory (GET /v1/candidates): people running for office. Filters combine with AND. Roughly a third carry an FEC filer id and sit"},{"name":"get_candidate","description":"Fetch one election candidate by id (GET /v1/candidates/{id}): their party, office, district and cycle, plus an FEC filer id where the campaign has filed and a B"},{"name":"get_midterms","description":"The election slate for 2026-11-03 (GET /v1/midterms): races, candidates and ballot measures per state, with official results where available. All data is offici"},{"name":"get_ballot_measure","description":"Ballot measures (GET /v1/measures): the list for a state, or one measure by its number (e.g. 'Amendment 1') with full text, summary and official source URL. Use"},{"name":"list_districts","description":"District metadata by state and type (GET /v1/districts): congressional, state senate, state house. Pass district_id with boundary:true to get the polygon as Geo"},{"name":"get_candidate_photo","description":"The URL of a candidate's official portrait (GET /v1/photos/{candidate_id} returns the image bytes). Sources are official state-legislature and congressional por"},{"name":"list_statute_coverage","description":"Which jurisdictions' codified law is loaded, and how big and current it is (GET /v1/statutes/coverage): per state the number of codes, sections, bill links and "},{"name":"search_statutes","description":"Full-text search of a state's codified law (GET /v1/statutes/search). Use for 'what does the law say about X' and to find the section a bill or ballot measure c"},{"name":"get_statute","description":"One section of law with full text and its place in the code (GET /v1/statutes/sections/{section_id}, or by citation via GET /v1/statutes/lookup). Give section_i"},{"name":"get_bill_statutes","description":"The sections of existing law a bill amends, creates, repeals or cites (GET /v1/bills/{bill_id}/statutes), classified by how it touches each, with the current te"},{"name":"get_measure_statutes","description":"The sections of existing law a 2026 ballot measure amends, creates, repeals or cites (GET /v1/measures/{state}/{number}/statutes). Use for 'which laws does Prop"},{"name":"get_usage","description":"The current key's tier, monthly cap, requests used and remaining, and when the period resets (GET /v1/_meta/usage). Call this when a request is rate-limited (HT"},{"name":"manage_webhooks","description":"Manage the key's webhook subscriptions (/v1/webhooks). action:'list' is read-only. 'create' REGISTERS a URL that Delilah will POST to on the chosen events — it "}],"toolCount":41,"toolsHash":"851edcf7ceb0165b33578aa4864801b9f790e2f397d2c38fed2519fc319c632d","serverName":"legislation","capabilities":["tools"],"serverVersion":"0.8.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T20:31:32.325Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":38,"error":null,"detail":{"tools":[{"name":"search_bills","description":"Search or list legislation with structured filters (GET /v1/bills). Use this when you know the jurisdiction, sponsor, topic, or status you want. Every filter is"},{"name":"semantic_search_bills","description":"Vector search over the full text of every bill (GET /v1/search/semantic): describe what you want in plain English — 'protecting kids from social media', 'limits"},{"name":"get_bill","description":"Fetch a single bill by its numeric bill_id (GET /v1/bills/{bill_id}), optionally merging in sub-resources: votes (roll calls with tallies), sponsors, history (a"},{"name":"get_bill_diff","description":"Compare two versions of a bill's text (GET /v1/bills/{bill_id}/diff): a unified diff plus similarity, added/removed line and character counts, and changed-secti"},{"name":"keyword_search_bills","description":"Keyword search where EVERY term must appear (GET /v1/search/bills). Use when the user gives specific words that all have to be present, e.g. ['short-term rental"},{"name":"get_bill_text","description":"The cleaned plain text of one bill-text version (GET /v1/texts/{text_id}), entities decoded, ready to quote or summarize. Get text_id from get_bill with include"},{"name":"get_bill_text_history","description":"Timeline of all computed diffs between successive text versions of one bill (GET /v1/bills/{bill_id}/changes): what changed, when, and how much. Use get_bill_di"},{"name":"list_legislators","description":"Search or list legislators (GET /v1/legislators) by jurisdiction, chamber, party, district, or name. This is how you turn a name into the people_id that get_leg"},{"name":"get_legislator","description":"Fetch a legislator's profile by people_id (GET /v1/legislators/{people_id}), optionally merging in votes (every roll call they are recorded on, newest first, wi"},{"name":"get_roll_call","description":"Fetch a roll call by roll_call_id (GET /v1/votes/{roll_call_id}): the motion, chamber, date and yea/nay/absent tallies. Add include:['details'] to also pull how"},{"name":"get_legislator_scorecard","description":"One-call voting and sponsorship profile for a legislator (GET /v1/legislators/{people_id}/scorecard): participation, party-line alignment, bills sponsored and p"},{"name":"list_committees","description":"List legislative committees (GET /v1/committees), filterable by jurisdiction, chamber, or name search. Returns the committee_id values that get_committee needs."},{"name":"get_committee","description":"Fetch a committee by committee_id (GET /v1/committees/{committee_id}), optionally merging in members (its roster, with roles) and hearings (its scheduled meetin"},{"name":"list_hearings","description":"Scheduled committee hearings across committees (GET /v1/hearings), filterable by jurisdiction and start date. Use this to answer 'what is being heard this week'"},{"name":"get_changes","description":"Near-real-time feed of what changed (GET /v1/changes). Poll with since=<ISO timestamp> to get everything newer than your cursor; with no since it defaults to th"},{"name":"list_topics","description":"The canonical topic taxonomy with per-topic bill counts (GET /v1/topics). Call this first to find the right slug for the topic filter on search_bills, instead o"},{"name":"list_subjects","description":"The raw subject taxonomy with per-subject bill counts (GET /v1/subjects). Subjects are the fine-grained categories the legislatures themselves assign to bills —"},{"name":"list_sessions","description":"Legislative sessions (GET /v1/sessions): regular and special sessions with their years, start/sine-die dates and a session_id. Use this to resolve which session"},{"name":"get_session_dashboard","description":"Headline counts for one legislative session (GET /v1/sessions/{id}/dashboard): bills filed, passed, signed, vetoed, roll calls, active legislators. Start here f"},{"name":"get_session_sponsor_stats","description":"Legislators ranked by bills sponsored and passed in one session (GET /v1/sessions/{id}/sponsor-stats). Each row has bills_sponsored, bills_primary, bills_passed"},{"name":"get_session_vote_participation","description":"How many roll calls each legislator voted in versus missed during one session (GET /v1/sessions/{id}/vote-participation). Use for attendance questions. Get sess"},{"name":"list_session_legislators","description":"Every legislator who served in one session (GET /v1/sessions/{id}/legislators), with people_id. Use list_legislators for the current roster by state; use this f"},{"name":"get_session_breakdown","description":"Bill count per status (by:'status', on the status_id ladder) or per subject (by:'subject') for one session (GET /v1/sessions/{id}/status-counts or /subject-coun"},{"name":"list_states","description":"The jurisdiction directory (GET /v1/states): the 50 states, D.C. and the U.S. Congress with their state_id, 2-letter code and full name. Returns the full list ("},{"name":"get_coverage","description":"Per-state depth snapshot (GET /v1/coverage): how COMPLETE each jurisdiction's data is — bill counts, the share of bills holding at least one vote, text or spons"},{"name":"get_trending_bills","description":"Bills with the most news coverage in the window (GET /v1/trending), optionally for one state. Use for 'what's in the news' or 'hot bills right now'. Returns bil"},{"name":"list_bills_by_stage","description":"Bills whose LATEST action in the window falls in a stage (GET /v1/bills-by-stage): introduced, committee, passed, executive (with the governor, signed, or vetoe"},{"name":"get_weekly_stage_breakdown","description":"One row per stage with the number of bills whose latest action landed there in the window (GET /v1/bills-weekly-breakdown). All jurisdictions combined. Use for "},{"name":"list_candidates","description":"Search the election-candidate directory (GET /v1/candidates): people running for office. Filters combine with AND. Roughly a third carry an FEC filer id and sit"},{"name":"get_candidate","description":"Fetch one election candidate by id (GET /v1/candidates/{id}): their party, office, district and cycle, plus an FEC filer id where the campaign has filed and a B"},{"name":"get_midterms","description":"The election slate for 2026-11-03 (GET /v1/midterms): races, candidates and ballot measures per state, with official results where available. All data is offici"},{"name":"get_ballot_measure","description":"Ballot measures (GET /v1/measures): the list for a state, or one measure by its number (e.g. 'Amendment 1') with full text, summary and official source URL. Use"},{"name":"list_districts","description":"District metadata by state and type (GET /v1/districts): congressional, state senate, state house. Pass district_id with boundary:true to get the polygon as Geo"},{"name":"get_candidate_photo","description":"The URL of a candidate's official portrait (GET /v1/photos/{candidate_id} returns the image bytes). Sources are official state-legislature and congressional por"},{"name":"list_statute_coverage","description":"Which jurisdictions' codified law is loaded, and how big and current it is (GET /v1/statutes/coverage): per state the number of codes, sections, bill links and "},{"name":"search_statutes","description":"Full-text search of a state's codified law (GET /v1/statutes/search). Use for 'what does the law say about X' and to find the section a bill or ballot measure c"},{"name":"get_statute","description":"One section of law with full text and its place in the code (GET /v1/statutes/sections/{section_id}, or by citation via GET /v1/statutes/lookup). Give section_i"},{"name":"get_bill_statutes","description":"The sections of existing law a bill amends, creates, repeals or cites (GET /v1/bills/{bill_id}/statutes), classified by how it touches each, with the current te"},{"name":"get_measure_statutes","description":"The sections of existing law a 2026 ballot measure amends, creates, repeals or cites (GET /v1/measures/{state}/{number}/statutes). Use for 'which laws does Prop"},{"name":"get_usage","description":"The current key's tier, monthly cap, requests used and remaining, and when the period resets (GET /v1/_meta/usage). Call this when a request is rate-limited (HT"},{"name":"manage_webhooks","description":"Manage the key's webhook subscriptions (/v1/webhooks). action:'list' is read-only. 'create' REGISTERS a URL that Delilah will POST to on the chosen events — it "}],"toolCount":41,"toolsHash":"851edcf7ceb0165b33578aa4864801b9f790e2f397d2c38fed2519fc319c632d","serverName":"legislation","capabilities":["tools"],"serverVersion":"0.8.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T14:31:20.334Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":15,"error":null,"detail":{"tools":[{"name":"search_bills","description":"Search or list legislation with structured filters (GET /v1/bills). Use this when you know the jurisdiction, sponsor, topic, or status you want. Every filter is"},{"name":"semantic_search_bills","description":"Vector search over the full text of every bill (GET /v1/search/semantic): describe what you want in plain English — 'protecting kids from social media', 'limits"},{"name":"get_bill","description":"Fetch a single bill by its numeric bill_id (GET /v1/bills/{bill_id}), optionally merging in sub-resources: votes (roll calls with tallies), sponsors, history (a"},{"name":"get_bill_diff","description":"Compare two versions of a bill's text (GET /v1/bills/{bill_id}/diff): a unified diff plus similarity, added/removed line and character counts, and changed-secti"},{"name":"keyword_search_bills","description":"Keyword search where EVERY term must appear (GET /v1/search/bills). Use when the user gives specific words that all have to be present, e.g. ['short-term rental"},{"name":"get_bill_text","description":"The cleaned plain text of one bill-text version (GET /v1/texts/{text_id}), entities decoded, ready to quote or summarize. Get text_id from get_bill with include"},{"name":"get_bill_text_history","description":"Timeline of all computed diffs between successive text versions of one bill (GET /v1/bills/{bill_id}/changes): what changed, when, and how much. Use get_bill_di"},{"name":"list_legislators","description":"Search or list legislators (GET /v1/legislators) by jurisdiction, chamber, party, district, or name. This is how you turn a name into the people_id that get_leg"},{"name":"get_legislator","description":"Fetch a legislator's profile by people_id (GET /v1/legislators/{people_id}), optionally merging in votes (every roll call they are recorded on, newest first, wi"},{"name":"get_roll_call","description":"Fetch a roll call by roll_call_id (GET /v1/votes/{roll_call_id}): the motion, chamber, date and yea/nay/absent tallies. Add include:['details'] to also pull how"},{"name":"get_legislator_scorecard","description":"One-call voting and sponsorship profile for a legislator (GET /v1/legislators/{people_id}/scorecard): participation, party-line alignment, bills sponsored and p"},{"name":"list_committees","description":"List legislative committees (GET /v1/committees), filterable by jurisdiction, chamber, or name search. Returns the committee_id values that get_committee needs."},{"name":"get_committee","description":"Fetch a committee by committee_id (GET /v1/committees/{committee_id}), optionally merging in members (its roster, with roles) and hearings (its scheduled meetin"},{"name":"list_hearings","description":"Scheduled committee hearings across committees (GET /v1/hearings), filterable by jurisdiction and start date. Use this to answer 'what is being heard this week'"},{"name":"get_changes","description":"Near-real-time feed of what changed (GET /v1/changes). Poll with since=<ISO timestamp> to get everything newer than your cursor; with no since it defaults to th"},{"name":"list_topics","description":"The canonical topic taxonomy with per-topic bill counts (GET /v1/topics). Call this first to find the right slug for the topic filter on search_bills, instead o"},{"name":"list_subjects","description":"The raw subject taxonomy with per-subject bill counts (GET /v1/subjects). Subjects are the fine-grained categories the legislatures themselves assign to bills —"},{"name":"list_sessions","description":"Legislative sessions (GET /v1/sessions): regular and special sessions with their years, start/sine-die dates and a session_id. Use this to resolve which session"},{"name":"get_session_dashboard","description":"Headline counts for one legislative session (GET /v1/sessions/{id}/dashboard): bills filed, passed, signed, vetoed, roll calls, active legislators. Start here f"},{"name":"get_session_sponsor_stats","description":"Legislators ranked by bills sponsored and passed in one session (GET /v1/sessions/{id}/sponsor-stats). Each row has bills_sponsored, bills_primary, bills_passed"},{"name":"get_session_vote_participation","description":"How many roll calls each legislator voted in versus missed during one session (GET /v1/sessions/{id}/vote-participation). Use for attendance questions. Get sess"},{"name":"list_session_legislators","description":"Every legislator who served in one session (GET /v1/sessions/{id}/legislators), with people_id. Use list_legislators for the current roster by state; use this f"},{"name":"get_session_breakdown","description":"Bill count per status (by:'status', on the status_id ladder) or per subject (by:'subject') for one session (GET /v1/sessions/{id}/status-counts or /subject-coun"},{"name":"list_states","description":"The jurisdiction directory (GET /v1/states): the 50 states, D.C. and the U.S. Congress with their state_id, 2-letter code and full name. Returns the full list ("},{"name":"get_coverage","description":"Per-state depth snapshot (GET /v1/coverage): how COMPLETE each jurisdiction's data is — bill counts, the share of bills holding at least one vote, text or spons"},{"name":"get_trending_bills","description":"Bills with the most news coverage in the window (GET /v1/trending), optionally for one state. Use for 'what's in the news' or 'hot bills right now'. Returns bil"},{"name":"list_bills_by_stage","description":"Bills whose LATEST action in the window falls in a stage (GET /v1/bills-by-stage): introduced, committee, passed, executive (with the governor, signed, or vetoe"},{"name":"get_weekly_stage_breakdown","description":"One row per stage with the number of bills whose latest action landed there in the window (GET /v1/bills-weekly-breakdown). All jurisdictions combined. Use for "},{"name":"list_candidates","description":"Search the election-candidate directory (GET /v1/candidates): people running for office. Filters combine with AND. Roughly a third carry an FEC filer id and sit"},{"name":"get_candidate","description":"Fetch one election candidate by id (GET /v1/candidates/{id}): their party, office, district and cycle, plus an FEC filer id where the campaign has filed and a B"},{"name":"get_midterms","description":"The election slate for 2026-11-03 (GET /v1/midterms): races, candidates and ballot measures per state, with official results where available. All data is offici"},{"name":"get_ballot_measure","description":"Ballot measures (GET /v1/measures): the list for a state, or one measure by its number (e.g. 'Amendment 1') with full text, summary and official source URL. Use"},{"name":"list_districts","description":"District metadata by state and type (GET /v1/districts): congressional, state senate, state house. Pass district_id with boundary:true to get the polygon as Geo"},{"name":"get_candidate_photo","description":"The URL of a candidate's official portrait (GET /v1/photos/{candidate_id} returns the image bytes). Sources are official state-legislature and congressional por"},{"name":"list_statute_coverage","description":"Which jurisdictions' codified law is loaded, and how big and current it is (GET /v1/statutes/coverage): per state the number of codes, sections, bill links and "},{"name":"search_statutes","description":"Full-text search of a state's codified law (GET /v1/statutes/search). Use for 'what does the law say about X' and to find the section a bill or ballot measure c"},{"name":"get_statute","description":"One section of law with full text and its place in the code (GET /v1/statutes/sections/{section_id}, or by citation via GET /v1/statutes/lookup). Give section_i"},{"name":"get_bill_statutes","description":"The sections of existing law a bill amends, creates, repeals or cites (GET /v1/bills/{bill_id}/statutes), classified by how it touches each, with the current te"},{"name":"get_measure_statutes","description":"The sections of existing law a 2026 ballot measure amends, creates, repeals or cites (GET /v1/measures/{state}/{number}/statutes). Use for 'which laws does Prop"},{"name":"get_usage","description":"The current key's tier, monthly cap, requests used and remaining, and when the period resets (GET /v1/_meta/usage). Call this when a request is rate-limited (HT"},{"name":"manage_webhooks","description":"Manage the key's webhook subscriptions (/v1/webhooks). action:'list' is read-only. 'create' REGISTERS a URL that Delilah will POST to on the chosen events — it "}],"toolCount":41,"toolsHash":"851edcf7ceb0165b33578aa4864801b9f790e2f397d2c38fed2519fc319c632d","serverName":"legislation","capabilities":["tools"],"serverVersion":"0.8.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"search_bills","description":"Search or list legislation with structured filters (GET /v1/bills). Use this when you know the jurisdiction, sponsor, topic, or status you want. Every filter is"},{"name":"semantic_search_bills","description":"Vector search over the full text of every bill (GET /v1/search/semantic): describe what you want in plain English — 'protecting kids from social media', 'limits"},{"name":"get_bill","description":"Fetch a single bill by its numeric bill_id (GET /v1/bills/{bill_id}), optionally merging in sub-resources: votes (roll calls with tallies), sponsors, history (a"},{"name":"get_bill_diff","description":"Compare two versions of a bill's text (GET /v1/bills/{bill_id}/diff): a unified diff plus similarity, added/removed line and character counts, and changed-secti"},{"name":"keyword_search_bills","description":"Keyword search where EVERY term must appear (GET /v1/search/bills). Use when the user gives specific words that all have to be present, e.g. ['short-term rental"},{"name":"get_bill_text","description":"The cleaned plain text of one bill-text version (GET /v1/texts/{text_id}), entities decoded, ready to quote or summarize. Get text_id from get_bill with include"},{"name":"get_bill_text_history","description":"Timeline of all computed diffs between successive text versions of one bill (GET /v1/bills/{bill_id}/changes): what changed, when, and how much. Use get_bill_di"},{"name":"list_legislators","description":"Search or list legislators (GET /v1/legislators) by jurisdiction, chamber, party, district, or name. This is how you turn a name into the people_id that get_leg"},{"name":"get_legislator","description":"Fetch a legislator's profile by people_id (GET /v1/legislators/{people_id}), optionally merging in votes (every roll call they are recorded on, newest first, wi"},{"name":"get_roll_call","description":"Fetch a roll call by roll_call_id (GET /v1/votes/{roll_call_id}): the motion, chamber, date and yea/nay/absent tallies. Add include:['details'] to also pull how"},{"name":"get_legislator_scorecard","description":"One-call voting and sponsorship profile for a legislator (GET /v1/legislators/{people_id}/scorecard): participation, party-line alignment, bills sponsored and p"},{"name":"list_committees","description":"List legislative committees (GET /v1/committees), filterable by jurisdiction, chamber, or name search. Returns the committee_id values that get_committee needs."},{"name":"get_committee","description":"Fetch a committee by committee_id (GET /v1/committees/{committee_id}), optionally merging in members (its roster, with roles) and hearings (its scheduled meetin"},{"name":"list_hearings","description":"Scheduled committee hearings across committees (GET /v1/hearings), filterable by jurisdiction and start date. Use this to answer 'what is being heard this week'"},{"name":"get_changes","description":"Near-real-time feed of what changed (GET /v1/changes). Poll with since=<ISO timestamp> to get everything newer than your cursor; with no since it defaults to th"},{"name":"list_topics","description":"The canonical topic taxonomy with per-topic bill counts (GET /v1/topics). Call this first to find the right slug for the topic filter on search_bills, instead o"},{"name":"list_subjects","description":"The raw subject taxonomy with per-subject bill counts (GET /v1/subjects). Subjects are the fine-grained categories the legislatures themselves assign to bills —"},{"name":"list_sessions","description":"Legislative sessions (GET /v1/sessions): regular and special sessions with their years, start/sine-die dates and a session_id. Use this to resolve which session"},{"name":"get_session_dashboard","description":"Headline counts for one legislative session (GET /v1/sessions/{id}/dashboard): bills filed, passed, signed, vetoed, roll calls, active legislators. Start here f"},{"name":"get_session_sponsor_stats","description":"Legislators ranked by bills sponsored and passed in one session (GET /v1/sessions/{id}/sponsor-stats). Each row has bills_sponsored, bills_primary, bills_passed"},{"name":"get_session_vote_participation","description":"How many roll calls each legislator voted in versus missed during one session (GET /v1/sessions/{id}/vote-participation). Use for attendance questions. Get sess"},{"name":"list_session_legislators","description":"Every legislator who served in one session (GET /v1/sessions/{id}/legislators), with people_id. Use list_legislators for the current roster by state; use this f"},{"name":"get_session_breakdown","description":"Bill count per status (by:'status', on the status_id ladder) or per subject (by:'subject') for one session (GET /v1/sessions/{id}/status-counts or /subject-coun"},{"name":"list_states","description":"The jurisdiction directory (GET /v1/states): the 50 states, D.C. and the U.S. Congress with their state_id, 2-letter code and full name. Returns the full list ("},{"name":"get_coverage","description":"Per-state depth snapshot (GET /v1/coverage): how COMPLETE each jurisdiction's data is — bill counts, the share of bills holding at least one vote, text or spons"},{"name":"get_trending_bills","description":"Bills with the most news coverage in the window (GET /v1/trending), optionally for one state. Use for 'what's in the news' or 'hot bills right now'. Returns bil"},{"name":"list_bills_by_stage","description":"Bills whose LATEST action in the window falls in a stage (GET /v1/bills-by-stage): introduced, committee, passed, executive (with the governor, signed, or vetoe"},{"name":"get_weekly_stage_breakdown","description":"One row per stage with the number of bills whose latest action landed there in the window (GET /v1/bills-weekly-breakdown). All jurisdictions combined. Use for "},{"name":"list_candidates","description":"Search the election-candidate directory (GET /v1/candidates): people running for office. Filters combine with AND. Roughly a third carry an FEC filer id and sit"},{"name":"get_candidate","description":"Fetch one election candidate by id (GET /v1/candidates/{id}): their party, office, district and cycle, plus an FEC filer id where the campaign has filed and a B"},{"name":"get_midterms","description":"The election slate for 2026-11-03 (GET /v1/midterms): races, candidates and ballot measures per state, with official results where available. All data is offici"},{"name":"get_ballot_measure","description":"Ballot measures (GET /v1/measures): the list for a state, or one measure by its number (e.g. 'Amendment 1') with full text, summary and official source URL. Use"},{"name":"list_districts","description":"District metadata by state and type (GET /v1/districts): congressional, state senate, state house. Pass district_id with boundary:true to get the polygon as Geo"},{"name":"get_candidate_photo","description":"The URL of a candidate's official portrait (GET /v1/photos/{candidate_id} returns the image bytes). Sources are official state-legislature and congressional por"},{"name":"list_statute_coverage","description":"Which jurisdictions' codified law is loaded, and how big and current it is (GET /v1/statutes/coverage): per state the number of codes, sections, bill links and "},{"name":"search_statutes","description":"Full-text search of a state's codified law (GET /v1/statutes/search). Use for 'what does the law say about X' and to find the section a bill or ballot measure c"},{"name":"get_statute","description":"One section of law with full text and its place in the code (GET /v1/statutes/sections/{section_id}, or by citation via GET /v1/statutes/lookup). Give section_i"},{"name":"get_bill_statutes","description":"The sections of existing law a bill amends, creates, repeals or cites (GET /v1/bills/{bill_id}/statutes), classified by how it touches each, with the current te"},{"name":"get_measure_statutes","description":"The sections of existing law a 2026 ballot measure amends, creates, repeals or cites (GET /v1/measures/{state}/{number}/statutes). Use for 'which laws does Prop"},{"name":"get_usage","description":"The current key's tier, monthly cap, requests used and remaining, and when the period resets (GET /v1/_meta/usage). Call this when a request is rate-limited (HT"},{"name":"manage_webhooks","description":"Manage the key's webhook subscriptions (/v1/webhooks). action:'list' is read-only. 'create' REGISTERS a URL that Delilah will POST to on the chosen events — it "}],"package":null,"toolSurface":{"id":"ts_r2qfr6jtt73h","endpointId":"ep_5fzpzhpnpcrv","hash":"851edcf7ceb0165b33578aa4864801b9f790e2f397d2c38fed2519fc319c632d","toolCount":41,"serverName":"legislation","serverVersion":"0.8.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-06T20:29:11.625Z","lastSeenAt":"2026-10-10T02:30:39.178Z","observations":13,"toolNames":["search_bills","semantic_search_bills","get_bill","get_bill_diff","keyword_search_bills","get_bill_text","get_bill_text_history","list_legislators","get_legislator","get_roll_call","get_legislator_scorecard","list_committees","get_committee","list_hearings","get_changes","list_topics","list_subjects","list_sessions","get_session_dashboard","get_session_sponsor_stats","get_session_vote_participation","list_session_legislators","get_session_breakdown","list_states","get_coverage","get_trending_bills","list_bills_by_stage","get_weekly_stage_breakdown","list_candidates","get_candidate","get_midterms","get_ballot_measure","list_districts","get_candidate_photo","list_statute_coverage","search_statutes","get_statute","get_bill_statutes","get_measure_statutes","get_usage","manage_webhooks"],"distinctSurfaces":2},"endpointFacts":[{"id":"ep_5fzpzhpnpcrv","url":"https://mcp.delilahusa.com","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T06:21:15.453Z","auth":{"observedAt":"2026-10-09T06:21:15.463Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-09T06:21:15.491Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"delilahusa.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-08-13T20:16:03.000Z","validTo":"2026-11-11T21:16:00.000Z","daysToExpiry":32,"sanCount":3,"fingerprint256":"F4:76:96:90:59:13:3E:7C:D5:39:05:E1:27:3B:A1:A3:45:A4:2A:4C:47:44:31:47:4F:AA:00:C9:D0:B9:89:95"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.delilahusa/legislation","url":"https://registry.modelcontextprotocol.io/v0/servers/com.delilahusa%2Flegislation","firstSeenAt":"2026-09-25T09:22:37.570Z","fetchedAt":"2026-10-09T05:21:39.132Z","normalizedAt":"2026-10-09T05:21:39.132Z"}]},"firstSeenAt":"2026-09-25T09:22:37.570Z","updatedAt":"2026-10-10T02:32:58.964Z"}