Legal Research MCP
A 45-tool research server that lets Claude search, read, and cite New York and federal law — backed by 5.1 million decisions and a citator built from their own text.
- Client
- A New York law firm
- Role
- Architecture, data engineering, build
- Year
- 2026
- Status
- In production · private
- Live
- Private deployment
45 tools · 12 sources
- NY Court of Appeals & App. Div.
- NY slip & motion decisions
- Federal courts
- NY Consolidated Laws
- NYS bills
- U.S. Code
- Code of Federal Regulations
- NYCRR
- Federal Register
- Regulatory dockets
- Agency opinions
- Court dockets
- Verdicts
- Practice treatises
- Contract exemplars
- Citator
The brief
Why it needed to exist.
General-purpose AI models invent citations. Lawyers need a research tool that answers with real, checkable authority — and says plainly when it can't find something, instead of guessing.
The production
What we built.
The engine underneath everything in this act. It connects Claude to primary law through the Model Context Protocol — case law, statutes, bills, regulations, dockets, agency opinions, verdicts, and treatises — and every result carries the case name, court, date, official and parallel citations, and a link back to the source.
Where the free public APIs stop, it keeps its own corpus: the New York Official Reports, nearly a million New York slip and motion decisions refreshed nightly, and roughly 3.3 million federal decisions de-duplicated across three independent sources.
01Forty-five tools, twelve sources
Public legal APIs — CourtListener, NYS OpenLegislation, eCFR, the Federal Register, GovInfo, and Regulations.gov — alongside local corpora for New York and federal decisions, the NYCRR, agency opinions, verdicts, and licensed treatises.
02A citator built from scratch
A citation graph extracted from the decisions' own text: who cites a case (with the citing sentence), negative treatment, and direct history. Accuracy was measured by hand rather than assumed, and it is always labeled as not Shepard's or KeyCite.
03Connects like any Claude connector
Standards-based OAuth 2.1 sign-in, so a colleague adds it to Claude with a URL and an account — no local setup.
04A good API citizen
Respects every upstream provider's rate limits, caches aggressively, and identifies itself honestly.
05Keyword search you can check
Full-text indexes ranked by relevance — no embeddings, so every hit is a literal match a lawyer can verify on the page.
06Always current
Corpora and the citator update nightly and incrementally, without anyone touching them.
Under the hood
How it’s made.
- RuntimePython with the MCP Python SDK; local and remote transports
- DataSQLite full-text search across seven indexes, ranked by BM25
- CitatorCitation extraction with eyecite plus a custom canonicalizer; incremental nightly updates
- AccessOAuth 2.1 with PKCE and dynamic client registration for claude.ai
- Quality600+ automated tests and guarded, repeatable deploys
Stack: Python · Model Context Protocol · SQLite full-text search · OAuth 2.1