Bill Commons

Endpoint

https://mcp.billcommons.org/mcp

Streamable HTTP, stateless, no authentication required for public read access.

Claude Desktop / Claude Code

Add Bill Commons as a remote MCP server in your client config:

claude_desktop_config.json / mcp settings
{
  "mcpServers": {
    "bill-commons": {
      "url": "https://mcp.billcommons.org/mcp",
      "transport": "http"
    }
  }
}

Or, from the Claude Code CLI:

shell
claude mcp add bill-commons --transport http https://mcp.billcommons.org/mcp

Other MCP clients

Any client supporting the Streamable HTTP transport can connect directly to the endpoint above — no SDK required beyond a standard MCP client library.

Python (mcp SDK)
from mcp.client.streamable_http import streamablehttp_client
from mcp import ClientSession

async with streamablehttp_client("https://mcp.billcommons.org/mcp") as (read, write, _):
    async with ClientSession(read, write) as session:
        await session.initialize()
        tools = await session.list_tools()
        result = await session.call_tool(
            "search_legislation", {"query": "paid family leave"}
        )
        print(result)

Tools

ToolDescription
search_legislationSearch bills across jurisdictions by keyword, number, sponsor, subject, or status.
get_bill_recordFetch a full bill record: sponsors, actions, versions, votes, official sources.
compare_bill_versionsDeterministic diff between two versions of a bill's text.
find_similar_billsFind related bills by title similarity and shared text (labeled as derived, not official).
get_vote_detailsGet a recorded vote, including member-level votes where available.
get_upcoming_hearingsNOT COLLECTED — always returns an empty list with data_status: "not_collected". No hearing or calendar data is ingested for any jurisdiction, so an empty result means we lack the data, never that no hearings are scheduled.
trace_legislative_historyTrace a bill's full action timeline from introduction to current status.
build_legislative_evidence_packetAssemble a citation-backed packet of bill facts for research use.
get_jurisdiction_coverageCheck ingestion/coverage status for a jurisdiction before trusting results.
get_active_sessionsList currently active legislative sessions across all jurisdictions.

MCP tool results reflect the same underlying data as the REST API, including attribution and known-limitations metadata. See methodology for sourcing details.