Stacks Legal MCP
A 45-tool research server that lets Claude search, read, and cite New York and federal law, with every answer tied to a source a lawyer can check.
- Client
- Lofted Technologies product, in use at a New York law firm
- Role
- Architecture, data engineering, and build
- Year
- 2026
- Status
- In production · private
- Live
- Private deployment
45 tools
- NY reported decisions
- 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
- Practice forms
- NYS open data
- 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.
The production
What we built.
The engine behind this act. It connects Claude to primary law through the Model Context Protocol: case law, statutes, bills, regulations, dockets, agency opinions, verdicts, treatises, practice forms, and state open data. Every result carries the case name, court, date, official and parallel citations, and a link back to the source.
Where public legal APIs stop, it keeps its own full-text collections of New York and federal decisions, updated nightly, and a citator built from the decisions' own text.
01Forty-five tools
Search, retrieval, and citation tools across case law, statutes, bills, regulations, dockets, agency opinions, verdicts, treatises, practice forms, and open data, drawing on live public legal APIs and its own collections.
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. Negative-treatment detection was checked by hand, and the citator is always labeled as not Shepard's or KeyCite.
03Dispositions up front
Search results report how each case came out, so a good quotation from a losing case is visible as one before anyone relies on it.
04Connects like any Claude connector
Standards-based OAuth 2.1 sign-in: a colleague adds it to Claude with a URL and an account, with no local setup.
05Keyword search you can check
Full-text indexes ranked by relevance, with no embeddings, so every hit is a literal match a lawyer can verify on the page.
06Current without supervision
New decisions and citator links are added nightly. The server respects upstream rate limits, caches what it can, and identifies itself honestly.
Under the hood
How it’s made.
- RuntimePython with the MCP Python SDK; local and remote transports
- DataSQLite full-text search ranked by BM25
- CitatorCitation extraction with eyecite and a custom canonicalizer; incremental nightly updates
- AccessOAuth 2.1 with PKCE and dynamic client registration for claude.ai
- Quality800+ automated tests and guarded, repeatable deploys
Stack: Python · Model Context Protocol · SQLite full-text search · OAuth 2.1