Search / org.billcommons/bill-commons
bill-commons
R0· no sign-inSearch 209k+ US state bills, all 50 states + DC: full text, sponsors, votes, status. Free.
v1.0.0 · active · repository · website · descriptor JSON · versions
Search / org.billcommons/bill-commons
R0· no sign-inSearch 209k+ US state bills, all 50 states + DC: full text, sponsors, votes, status. Free.
v1.0.0 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"bill-commons": {
"type": "http",
"url": "https://mcp.billcommons.org/mcp"
}
}
}claude mcp add --transport http bill-commons https://mcp.billcommons.org/mcp[mcp_servers.bill-commons]
url = "https://mcp.billcommons.org/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"bill-commons": {
"type": "remote",
"url": "https://mcp.billcommons.org/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"bill-commons": {
"type": "http",
"url": "https://mcp.billcommons.org/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=bill-commons&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmJpbGxjb21tb25zLm9yZy9tY3AifQ%3D%3D"
}{
"servers": {
"bill-commons": {
"type": "http",
"url": "https://mcp.billcommons.org/mcp"
}
}
}{
"mcpServers": {
"bill-commons": {
"httpUrl": "https://mcp.billcommons.org/mcp"
}
}
}extensions:
"bill-commons":
enabled: true
name: "bill-commons"
type: streamable_http
uri: "https://mcp.billcommons.org/mcp"
timeout: 300
protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28protocol.statelessonly applies to 2026-07-28 serversprotocol.transportstreamable HTTPprotocol.list_ttlonly applies to 2026-07-28 serversauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations10 of 10 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 1,931 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes36 tool changes in 30 daysstability.rug_pull3 tools kept their name but changed most of their description in 30 days; review before trusting themdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageget_upcoming_hearingsremovedList upcoming (future-dated) legislative hearings/events, optionally filtered by jurisdiction and/or bill.
list_topicschangedannotationsget_active_sessionschangedannotationsget_jurisdiction_coveragechangeddescription, annotationsmeaning changedReturn the jurisdiction_coverage state-machine status for one state (abbreviation or name), or the full 51-jurisdiction coverage matrix if state is omitted.
Return the jurisdiction_coverage state-machine status for one state (abbreviation or name), or the full stored coverage matrix if state is omitted. Public-registry and unlisted row counts are explicit. Includes bounded retained official-source observation health and evidence links. Coverage status measures stored bill/text availability; local coverage timestamps can advance on count recomputation. Statewide semantic freshness remains unverified, including for GREEN coverage.
build_legislative_evidence_packetchangedannotationstrace_legislative_historychangedannotationsget_vote_detailschangedannotationsfind_similar_billschangedannotationscompare_bill_versionschangedannotationsget_bill_recordchangeddescription, annotationsFetch the full record for one bill: metadata, sponsors, subjects, actions, versions, and vote-event summaries. Look up by canonical bill_id (UUID), or by jurisdiction + identifier (+ optional session to disambiguate).
Fetch the full record for one bill: metadata, sponsors, subjects, actions, versions, and vote-event summaries. Look up by canonical bill_id (UUID), or by jurisdiction + identifier (+ optional session to disambiguate). For a human bill number like HB 123, use jurisdiction="NC", identifier="HB 123"; bill_id is for UUIDs.
Showing the latest 10. Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +dns-namespace +website +reachable +uptime-99% ~updated-84d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://mcp.billcommons.org/mcp streamable-http | none | yes | 99% | 302 ms | 2025-11-25 | 2026-10-20 |
build_legislative_evidence_packetread-only | Compile a citation-ready evidence packet for a bill: full official record, legislative history timeline, votes with member-level detail, and hearings -- each explicitly labeled official vs. derived with source URLs. Returns a `how_to_cite` block with a one-line `cite_as` sentence, a human `permalink`, a JSON `download_url`, and a `snapshot_id` that changes if and only if a cited fact about the bill changes -- so a reader can check later whether the citation still holds. Snapshots are NOT archived; the id is a change detector, not a way to retrieve an older packet. Pass `question` to record what the packet was assembled to answer; it is echoed into the artifact so a filed packet carries its own scope. |
compare_bill_versionsread-only | Deterministic diff (unified + structured) between two versions of a bill's extracted text. Defaults to earliest vs. latest texted version if version ids are omitted. Errors if fewer than 2 versions have extracted text. Result is labeled 'derived' (computed by Bill Commons, not an official document). |
find_similar_billsread-only | Find bills with similar titles via deterministic trigram similarity, across jurisdictions. Labeled 'derived' -- not an official cross-reference or companion-bill designation. |
get_active_sessionsread-only | List legislative sessions currently flagged active, optionally filtered by jurisdiction (two-letter state code or name). |
get_bill_recordread-only | Fetch the full record for one bill: metadata, sponsors, subjects, actions, versions, and vote-event summaries. Look up by canonical bill_id (UUID), or by jurisdiction + identifier (+ optional session to disambiguate). For a human bill number like HB 123, use jurisdiction="NC", identifier="HB 123"; bill_id is for UUIDs. |
get_jurisdiction_coverageread-only | Return the jurisdiction_coverage state-machine status for one state (abbreviation or name), or the full stored coverage matrix if state is omitted. Public-registry and unlisted row counts are explicit. Includes bounded retained official-source observation health and evidence links. Coverage status measures stored bill/text availability; local coverage timestamps can advance on count recomputation. Statewide semantic freshness remains unverified, including for GREEN coverage. |
get_vote_detailsread-only | Fetch vote event(s) with member-level (yes/no/other/absent) vote records. Provide vote_event_id for one vote, or bill_id for all recorded votes on that bill. |
list_topicsread-only | List Bill Commons' curated cross-state topic trackers (e.g. artificial intelligence, youth online safety, platform accountability, cybersecurity, cryptocurrency, data privacy, local government & preemption) -- the entry point for "what subjects does Bill Commons track across all 50 states + DC" and "how do I get every bill in one". Each topic is a title/subject membership rule tuned for precision over recall, with a live bill_count and how_to_fetch_bills. This tool does not itself return bill rows -- pair it with search_legislation or the REST API's /topics/{slug} for the bills. |
search_legislationread-only | Search FULL BILL TEXT -- not just known-bill-number lookup. `q` is matched against titles, descriptions, AND ingested document text via Postgres websearch_to_tsquery (supports "quoted phrases", OR, and -exclusion, same syntax as a search engine), with a fuzzy pg_trgm title-similarity fallback when the exact query has no hits. `q` can ALSO be a bill number ("HB 123", "H.B. 123", "hb123" all match) and that fast path is tried first. Optionally filter by jurisdiction (two-letter state code or name), chamber, and status. For a curated cross-state slice of a subject (e.g. "every AI bill in the country") rather than an ad-hoc keyword search, call list_topics first -- its membership rules also match on structured subject tags this full-text search does not see. |
trace_legislative_historyread-only | Full chronological legislative history for a bill: merged timeline of actions, version publications, and votes, plus related-bill links. |
Schemas: list_tools.
{
"name": "org.billcommons/bill-commons",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
"remotes": [
{
"url": "https://mcp.billcommons.org/mcp",
"type": "streamable-http"
}
],
"version": "1.0.0",
"repository": {
"url": "https://github.com/GDACS-droid/billcommons",
"source": "github"
},
"websiteUrl": "https://billcommons.org",
"description": "Search 209k+ US state bills, all 50 states + DC: full text, sponsors, votes, status. Free."
}