Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Search 209k+ US state bills, all 50 states + DC: full text, sponsors, votes, status. Free.
Pick the AI app you use, then copy the settings.
Passed 5/5 checks · What you ask goes through the maker’s server (mcp.billcommons.org)
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude · about 2 min
No key, nothing to install · Set it up once on claude.ai or the desktop app, then use it in chat · free accounts can add 1 · on Team/Enterprise an Owner adds it
CustomizeConnectors
Copy each value into the field with the same name in Claude, then click Continue
Checking the commands · copy buttons appear once they pass
Checking the commands · copy buttons appear once they pass
Leave Authentication as Claude detected it, then click Add
+ConnectorsBill Commons
Use Bill Commons and tell me what you can do for me, then show me one thing✓ If Claude says it is using Bill Commons or shows a Bill Commons tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with ChatGPT, depending on your plan
Full MCP: ChatGPT Business, Enterprise or Edu on the web · Pro: connects with read/fetch permissions, so tools that change data may not work · Plus: not confirmed in OpenAI’s docs; if you see an add-custom-MCP option on the Plugins page you can try these steps · web only
Plugins+Add custom MCP server
Enter a name, paste the address under Connection, tick the risk warning and click Create as a plugin
Checking the commands · copy buttons appear once they pass
Checking the commands · copy buttons appear once they pass
Start a new chat and pick Bill Commons from your plugins before typing
Use Bill Commons and tell me what you can do for me, then show me one thing✓ If ChatGPT says it is using Bill Commons or shows a Bill Commons tool in the answer, you are connected
Menu names checked against OpenAI’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Claude Code · about 2 min
No key, nothing to install
Mac: press Command+Space and type Terminal · Windows: open PowerShell
Checking the commands · copy buttons appear once they pass
You should see Bill Commons listed as connected
Use Bill Commons and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using Bill Commons or shows a Bill Commons tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor · about 2 min
No key, nothing to install
Checking the commands · copy buttons appear once they pass
Use Bill Commons and tell me what you can do for me, then show me one thing✓ If Cursor says it is using Bill Commons or shows a Bill Commons tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code · about 2 min
No key, nothing to install
Checking the commands · copy buttons appear once they pass
Use Bill Commons and tell me what you can do for me, then show me one thing✓ If VS Code says it is using Bill Commons or shows a Bill Commons tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Other apps that use MCP, such as Windsurf, Zed or Gemini CLI, each add servers differently. See how in the app list.
Address for apps that connect over the web
Checking the commands · copy buttons appear once they pass
JSON settings are under “For developers” below
Claude Code
Checking the commands · copy buttons appear once they pass
Cursor (~/.cursor/mcp.json)
Checking the commands · copy buttons appear once they pass
VS Code (mcp.json)
Checking the commands · copy buttons appear once they pass
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Connect over the internet in
ClaudeChatGPTGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatOpen WebUIRaycast
Tool names and descriptions exactly as the server reported them on Nov 11, 2026. The maker wrote them, not us; we show them as plain text.
search_legislationSearch 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-simila
get_bill_recordFetch 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", id
compare_bill_versionsDeterministic 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
find_similar_billsFind bills with similar titles via deterministic trigram similarity, across jurisdictions. Labeled 'derived' -- not an official cross-reference or companion-bill designation.
get_vote_detailsFetch 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.
trace_legislative_historyFull chronological legislative history for a bill: merged timeline of actions, version publications, and votes, plus related-bill links.
build_legislative_evidence_packetCompile 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
get_jurisdiction_coverageReturn 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 link
get_active_sessionsList legislative sessions currently flagged active, optionally filtered by jurisdiction (two-letter state code or name).
list_topicsList 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
search_policy_developmentsSearch Bill Commons' bounded, source-labelled frontier-AI policy registry. This is not a comprehensive global or federal legislative database. It returns only the curated records currently held by the registry, including its coverage statement and retrieval timestamps. Use `juris
get_policy_developmentRetrieve one full, source-labelled policy development by its stable slug. The response can include cited sources, normalized obligations, explicit analysis-only verification mappings, and recorded change history. A null response means only that the slug is absent from this bounde
build_policy_briefBuild a citation-first comparison of one to twelve registry records. The brief preserves the registry's methodology and limitations and does not produce legal advice, compliance determinations, or a claim that the selected set is exhaustive. Supply stable slugs returned by `searc
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 13, 2026
The registry name was verified against the domain billcommons.org (the registry checks domain ownership)
Code last changed 2 months ago
Uses Apache-2.0
No sign-in needed
Read 13 tool descriptions and found no hidden instructions to the AI
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 5 of 5 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed 2 months ago, and the latest version (1.0.0) reached the registry 4 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT on the web (full MCP on Business and above; Pro read-only).
In the same category: Context7, Codebase Memory, Ruflo
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Agent teams, swarms, memory and hooks for Claude Code and Codex, served over MCP.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Bill Commons is a public, open-source legislative search platform covering the current session/biennium for all 50 U.S. states plus DC. It provides a web search UI, a REST API, an MCP (Model Context Protocol) server, and a public status/coverage page. Public infrastructure first: no paywall on ordinary search or reasonable API use — anonymous callers get a generous daily cap (2,000 requests/day per IP, 5,000/day per /24 subnet); a free API key raises that further, and only high-volume/bulk use is paid. See /docs/bulk for API keys and full-corpus snapshots.
See docs/architecture/ARCHITECTURE.md for the locked architecture and data model.
Hosted on Railway (project billcommons: api, mcp, worker services + managed Postgres) and Vercel (project billcommons-web). See docs/operations/deployment-runbook.md for the full deploy/rollback procedure.
The hosted MCP server gives AI assistants direct access to all 209k+ bills — no API key, no setup beyond one command:
claude mcp add bill-commons --transport http https://mcp.billcommons.org/mcp
Claude Desktop: Settings → Connectors → Add custom connector with URL https://mcp.billcommons.org/mcp. Cursor and other clients: add the same URL as a Streamable HTTP server in mcp.json.
Ten tools including search_legislation, get_bill_record, compare_bill_versions, and trace_legislative_history. Full walkthrough (including REST recipes for agents without MCP): https://billcommons.org/docs/agents
┌─────────────┐
users ─────────▶ │ apps/web │ Next.js, billcommons.org │ (Vercel) │ status.billcommons.org (rewrite → /coverage) └──────┬──────┘ │ HTTPS (NEXT_PUBLIC_API_BASE) ▼ ┌─────────────┐ ┌──────────────┐ │ apps/api │◀──────▶│ apps/mcp │ Streamable HTTP │ FastAPI │ │ 10 MCP tools│ mcp.billcommons.org │ /api/v1 │ └──────────────┘ │ api.billcommons.org └──────┬──────┘ │ reads (SQLAlchemy) ▼ ┌─────────────────────────────┐ │ Postgres 16 (Railway) │ │ jurisdictions, sessions, │ │ bills, actions, sponsorships,│ │ votes, ingest_jobs, coverage │ └──────────────▲──────────────┘ │ writes (idempotent upserts) ┌──────────────┴──────────────┐ │ workers/ingest (worker svc) │ │ autoboot: seed → bootstrap →│ │ schedule-refresh → job loop │ │ sources: Open States bulk CSV│ │ (T2 bootstrap) + v3 API (T2 │ │ incremental, OPENSTATES_API_ │ │ KEY) + full-text fetcher │ └──────────────┬──────────────┘ ▼ RawStore (filesystem, RAWSTORE_ROOT volume in prod) — sha256-addressed raw payload archive
packages/schema (SQLAlchemy models + Alembic) is the single source of truth every other package/app imports from — no service owns its own copy of the data model.
apps/web Next.js 15 (App Router, TS) — search UI + status page
apps/api FastAPI — REST API (/api/v1) apps/mcp MCP server (Streamable HTTP, mounted at /mcp) workers/ingest Ingestion workers, job queue, per-source adapters packages/schema SQLAlchemy models + Alembic migrations (single source of truth) packages/shared Shared Python utils: bill-number normalization, rawstore, http client packages/source-registry Per-jurisdiction source registry (data + loader) packages/search Search SQL builders / query parsing infra/docker Dockerfiles + docker-compose.yml (local stack) infra/deployment Railway/Vercel configs, DNS runbook docs/ Architecture, API, sources, operations, state-coverage docs data/registry Machine-readable registry (sessions, sources)
pg_trgm, unaccent, pgcrypto extensions available)apps/web)python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
This installs packages/schema and packages/shared as editable installs (single source of truth for the data model + shared utils), plus the worker package: .venv/bin/pip install -e workers/ingest. Install the API package too if you're working on it: .venv/bin/pip install -e apps/api.
Set DATABASE_URL in your environment (or in ~/.config/billcommons/.env, which is read as a fallback and is never committed):
DATABASE_URL=postgresql://user:password@host:port/dbname
Requires Postgres 16 with the pg_trgm and unaccent extensions available (created by migration 0001). Run migrations:
cd packages/schema
../../.venv/bin/alembic upgrade head
# Seed all 51 jurisdictions/sessions/coverage rows from the registry:
.venv/bin/python -m billcommons_ingest seed-registry
python3 workers/ingest/download_bulk.py --only NC .venv/bin/python -m billcommons_ingest bootstrap --state NC --zip data/bulkzips/NC_2025.zip .venv/bin/python -m billcommons_ingest recompute-coverage
# API (FastAPI, http://localhost:8000, docs at /docs)
.venv/bin/uvicorn main:app --app-dir apps/api --reload --port 8000
.venv/bin/python apps/mcp/server.py
.venv/bin/python -m billcommons_ingest worker
cd apps/web npm install NEXT_PUBLIC_API_BASE=http://localhost:8000 npm run dev
.venv/bin/pytest packages/shared/tests
.venv/bin/pytest workers/ingest/tests .venv/bin/pytest apps/api/tests
cd infra/docker
docker compose up --build
This brings up Postgres, the API, the ingestion worker, and the MCP server. The web app (apps/web) is run separately via npm run dev during local development (see infra/docker/docker-compose.yml for the placeholder service definition).
docs/architecture/ARCHITECTURE.md — locked architecture + data modeldocs/SPEC.md — requirements digest / acceptance gatedocs/operations/deployment-runbook.md — Railway/Vercel deploy, rollback, smoke checklistdocs/operations/ingestion-runbook.md — CLI reference, job queue, refresh cadencedocs/operations/source-failure-runbook.md — stale zips, 401/429, robots blocksdocs/operations/backup-restore.md — pg_dump/restore, raw-data re-fetchdocs/operations/add-a-jurisdiction.md — onboarding a new territory/statedocs/state-coverage/methodology.md — coverage state machine, GREEN criteriadocs/api/examples.md — curl/Python/JavaScript examples against the live APIdocs/sources/openstates-csv.md — Open States bulk CSV column mappingApache-2.0. See LICENSE and NOTICE for data attribution (Open States / Plural Policy, public-domain legislative data).
See CONTRIBUTING.md. This project follows the Contributor Covenant.
See SECURITY.md for responsible disclosure.