protogrid

Search / org.billcommons/bill-commons

bill-commons

R0· no sign-in

Search 209k+ US state bills, all 50 states + DC: full text, sponsors, votes, status. Free.

v1.0.0 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality75good
Trust93of 100
Uptime, 30 days99%
Latency p50302 ms

Connect

8 clients · secrets stay placeholders
{
  "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

Quality 75 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations10 of 10 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 1,931 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes36 tool changes in 30 days
  • fail
    stability.rug_pull3 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

10 tools, about 1,931 tokens to load them all · tool set aa2239adbae6 · tools last changed 2026-10-08 · checked 2026-10-20 12:13 UTC

Tool changes

  • get_upcoming_hearingsremoved

    List upcoming (future-dated) legislative hearings/events, optionally filtered by jurisdiction and/or bill.

  • list_topicschangedannotations
  • get_active_sessionschangedannotations
  • get_jurisdiction_coveragechangeddescription, annotationsmeaning changed
    before

    Return the jurisdiction_coverage state-machine status for one state (abbreviation or name), or the full 51-jurisdiction coverage matrix if state is omitted.

    after · 32% of words in common

    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_packetchangedannotations
  • trace_legislative_historychangedannotations
  • get_vote_detailschangedannotations
  • find_similar_billschangedannotations
  • compare_bill_versionschangedannotations
  • get_bill_recordchangeddescription, annotations
    before

    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).

    after · 74% of words in common

    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.

Trust 93 / 100

provenance85
liveness100
freshness85
hygiene100

+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.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.billcommons.org/mcp streamable-httpnoneyes99%302 ms2025-11-252026-10-20

Tools (10)

build_legislative_evidence_packetread-onlyCompile 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-onlyDeterministic 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-onlyFind bills with similar titles via deterministic trigram similarity, across jurisdictions. Labeled 'derived' -- not an official cross-reference or companion-bill designation.
get_active_sessionsread-onlyList legislative sessions currently flagged active, optionally filtered by jurisdiction (two-letter state code or name).
get_bill_recordread-onlyFetch 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-onlyReturn 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-onlyFetch 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-onlyList 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-onlySearch 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-onlyFull chronological legislative history for a bill: merged timeline of actions, version publications, and votes, plus related-bill links.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "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."
}