Skip to main content
Glama
nomindnick

ca-leginfo-mcp

by nomindnick

ca-leginfo-mcp

An MCP server for California statutes and legislation, built on the Legislature's official public bulk-data channel (downloads.leginfo.legislature.ca.gov).

Lets an attorney's AI tool:

  • Verify statutory text from source — current text, history note, and effective date for any section of the 29 California codes or the Constitution

  • Flag pending bills that would amend, repeal, or add a given section

  • Retrieve legislative history — from a code section to its enacting and amending bills and their committee/floor analyses, back to 1993

Status

All four build phases complete (ingest pipeline, archives, MCP server, deployment). The server runs on Railway with artifacts in Cloudflare R2, rebuilt nightly (deploy/):

https://server-production-602d.up.railway.app/mcp   (streamable HTTP)
  • ingest/ builds both corpus artifacts from the pubinfo bulk zips: current.db (~40 s nightly: current law + session, FTS, parsed bill→section refs, analysis text, sanity gate) and archive.db (4.7 GB, 18 sessions 1989–2023: 283k bill version texts, 371k text-extracted analyses, votes, vetoes, ~1M parsed section refs, per-session coverage matrix).

  • server/ serves both over MCP (mcp 2.0): seven tools — section text/search, pending-bill flagging, bill lookup, analyses with full text, legislative history (initiative and constitutional-amendment aware), chapter→bill pivot. Every response carries extract dates and a source note; era gaps come back as explicit coverage statements. Run locally: ca-leginfo-server --current-db … --archive-db … (stdio; --transport http for streamable HTTP).

  • deploy/ is the Railway + R2 layer: boot.py syncs the artifacts from R2 and serves (/health reports freshness); a nightly cron (nightly.py, 10:00 UTC) rebuilds current.db from the freshest pubinfo daily zip, gates it against last night's artifact, and uploads only on PASS. Simple per-client rate limiting on HTTP.

The feasibility spike that preceded the build is preserved in spike/ — see SPIKE_FINDINGS.md.

Related MCP server: Vaquill-AI/vaquill-mcp

Data source

All data derives from the California Legislature's public "pubinfo" bulk downloads — the sanctioned distribution channel for this data (the capublic schema published at downloads.leginfo.legislature.ca.gov). No scraping is involved.

This is an unofficial convenience mirror. Statute text refreshes weekly (bills daily); every response carries its extract dates. For court filings, verify against the official publication.

Disclaimer

This tool retrieves law; it does not give legal advice.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nomindnick/ca-leginfo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server