A CourtListener MCP server is a Model Context Protocol bridge that lets Claude, Cursor, or VS Code search 10M+ US federal and state court opinions, PACER dockets, and the eCFR through tool calls instead of hallucinated case law. Add one config block, paste a free CourtListener token, and your AI editor researches against real court records. Below: the working config for each editor, the 19 tools, a query with its real output, and how the hosted option compares to CourtListener's own official server (launched May 2026).
TL;DR
- A legal research MCP server built on CourtListener gives any compatible AI editor (Claude Desktop, Cursor, VS Code Copilot, Windsurf) one-config access to 10M+ federal and state opinions, dockets, the RECAP PACER archive, and the eCFR.
- Two routes: the official CourtListener MCP server at
mcp.courtlistener.com(OAuth, May 2026), or a hosted/self-hostable open-source server with bring-your-own-key auth. This guide covers both and tells you which fits. - The one-sentence difference from a statutes MCP: this server is case law and dockets; a statutes MCP handles US Code, CFR, state codes, Federal Rules, and Executive Orders.
- BYOK with your own CourtListener token. Calls hit your quota, not the host's. Self-host if you go past prototype volume.
How many tools does the open-source CourtListener MCP server expose?
Part of our MCP and developer guide series.
For related MCP / API / developer coverage, see CanLII MCP Server: Canadian Legal Research, How to Use the CourtListener API: Auth, Endpoints, Rate Limits, and Legal Research in Cursor and Claude Code with MCP.
US Legal Research via a Hosted MCP Endpoint
This guide applies the MCP pattern to CourtListener's open US case-law data: connect an MCP server to your AI editor, ask legal questions, get grounded answers.
The hosted endpoint wraps the CourtListener MCP server with streamable HTTP transport and bring-your-own-key auth. You don't need to install anything or manage Docker.
Grab a free CourtListener token, drop it in your editor config alongside the URL, and start researching US case law.
Hosted endpoint: https://courtlistener-mcp.vaquill.ai/mcp/
Authentication: Bring-your-own-key. Send your CourtListener token in the X-CourtListener-Token header on every request.
The server forwards it to courtlistener.com, so calls hit your quota, not the host's. We never store your key. Get a free token at courtlistener.com/help/api/rest.
Source: github.com/Vaquill-AI/courtlistener-mcp
Official vs Open-Source CourtListener MCP: Which to Use
Since May 12, 2026, the Free Law Project ships its own first-party CourtListener MCP server at mcp.courtlistener.com (free.law announcement, May 2026). It uses OAuth: you connect it from Claude's connector directory and grant access to your CourtListener account, no token-pasting. Pick the route that matches how you work.
Official server (mcp.courtlistener.com) | Open-source server (this guide) | |
|---|---|---|
| Auth | OAuth, connect from the client's connector directory | Bring-your-own-key header, or self-host with your key |
| Setup | Click-to-connect in Claude/ChatGPT | One config block in any MCP client |
| Self-host | No | Yes (Docker, docker-compose up -d) |
| Tools | Search, PACER, citations, oral args, judges, alerts | 19 tools (see below); no alerts |
| Customize the tool surface | No | Yes, you own the code |
| Best for | Quickest path inside Claude or ChatGPT | Cursor/VS Code/Windsurf, pinned tool set, or production self-hosting |
What Is CourtListener?

CourtListener is a free legal research platform run by the Free Law Project, a US nonprofit founded in 2010.
The Free Law Project's mission is to make the legal system more accessible and transparent by providing free access to court data that has historically been locked behind paywalls or buried in difficult-to-access government systems.
CourtListener indexes over 10 million court opinions from federal and state courts dating back to the 18th century, provides access to PACER docket data through the RECAP archive (containing tens of millions of documents), and hosts the eCFR (Electronic Code of Federal Regulations). It covers over 400 jurisdictions, from the US Supreme Court down to state trial courts.
CourtListener's API v4 is free for non-commercial and research use. The hosted MCP server wraps this API into 19 MCP tools that any compatible AI editor can call.
Why CourtListener Matters: The PACER Problem
The US federal court system uses PACER (Public Access to Court Electronic Records) to provide public access to court filings. Despite being a public records system, PACER charges $0.10 per page for documents, which adds up quickly when a single docket can contain hundreds of filings.
This creates a financial barrier to legal transparency: the very court records that should be freely accessible to the public sit behind a paywall.
The Free Law Project created RECAP (RECAP Archive of Court filings, "PACER" spelled backwards) to solve this. RECAP works through a browser extension: when any RECAP user downloads a PACER document, it's automatically uploaded to the RECAP archive and made freely available to everyone.
Over the years, this crowdsourced approach has built an archive of tens of millions of PACER documents, all searchable through CourtListener and now accessible through this MCP server via the search_recap_documents and search_dockets_with_documents tools.
The eCFR: Federal Regulations in One Place
The eCFR (Electronic Code of Federal Regulations) is the authoritative, up-to-date version of all federal regulations organized across 50 titles. Unlike the printed CFR (which is updated annually), the eCFR is updated daily as agencies publish new rules in the Federal Register.
CourtListener's integration means you can research both the case law interpreting a regulation and the regulation itself through a single platform.
Understanding the US Court System
The tools in this MCP server map to specific levels of the US court hierarchy. Here's how the system is structured:
Federal Courts
| Level | Courts | What They Handle |
|---|---|---|
| Supreme Court (SCOTUS) | 1 court, 9 justices | Final appellate jurisdiction over all federal and state courts on constitutional and federal law questions. Hears ~70 cases per year on certiorari. |
| Circuit Courts of Appeals | 13 circuits (1st-11th, D.C., Federal) | Intermediate appellate courts. Each circuit covers multiple states. The D.C. Circuit is particularly important for administrative law; the Federal Circuit handles patent appeals. |
| District Courts | 94 districts across 50 states + territories | Federal trial courts. Handle civil cases involving federal questions or diversity jurisdiction, federal criminal cases, and bankruptcy (through bankruptcy judges). |
| Specialized Courts | Tax Court, Court of International Trade, Court of Federal Claims | Handle specific subject matters at the federal level. |
State Courts
Each state has its own court system, typically with three tiers: a supreme court (called the Court of Appeals in New York), intermediate appellate courts, and trial courts. CourtListener covers appellate decisions from all 50 states.
How Citations Work
US legal citations reference specific reporter volumes where a decision was published. Understanding the format helps you use the citation tools effectively:
410 U.S. 113= Volume 410 of the United States Reports, page 113 (Roe v. Wade)556 U.S. 662= Volume 556 of the United States Reports, page 662 (Ashcroft v. Iqbal)84 F.4th 1234= Volume 84 of the Federal Reporter, Fourth Series, page 1234 (a circuit court opinion)625 F. Supp. 3d 500= Volume 625 of the Federal Supplement, Third Series, page 500 (a district court opinion)
Key federal reporters:
- U.S. (United States Reports) - Supreme Court opinions (official reporter)
- S. Ct. (Supreme Court Reporter) - Supreme Court opinions (West Publishing)
- F., F.2d, F.3d, F.4th (Federal Reporter) - Circuit court opinions
- F. Supp., F. Supp. 2d, F. Supp. 3d (Federal Supplement) - District court opinions
Regional reporters for state courts: West Publishing divides state court opinions into seven regional reporters - Atlantic (A.2d/A.3d), North Eastern (N.E.2d/N.E.3d), North Western (N.W.2d), Pacific (P.2d/P.3d), South Eastern (S.E.2d), South Western (S.W.2d/S.W.3d), and Southern (So.2d/So.3d).
The citation_lookup_citation tool resolves any of these citation formats to the corresponding CourtListener opinion.
19 Tools Available
The CourtListener MCP server exposes 19 tools across four categories:
Search Tools
| Tool | What It Does |
|---|---|
search_opinions | Search court opinions by keyword, court, date range, and jurisdiction. Covers federal circuit courts, district courts, state supreme courts, and appellate courts. |
search_dockets | Search court dockets with party names, case numbers, and court filters. Full PACER data where available. |
search_dockets_with_documents | Search dockets that have associated documents in the RECAP archive. |
search_recap_documents | Search the RECAP archive of PACER documents directly. |
search_audio | Search oral argument audio recordings from federal appellate courts. |
search_people | Search judges and lawyers in the CourtListener database. |
Get by ID
| Tool | What It Does |
|---|---|
get_opinion | Get full opinion text and metadata by CourtListener opinion ID. |
get_docket | Get docket details including parties, lawyers, and associated entries. |
get_audio | Get oral argument audio metadata and download links. |
get_cluster | Get an opinion cluster - a group of related opinions from the same case. |
get_person | Get detailed information about a judge or lawyer. |
get_court | Get court metadata - name, jurisdiction, location, URL. |
Citation Tools
| Tool | What It Does |
|---|---|
citation_lookup_citation | Look up a case by its legal citation (e.g., "410 U.S. 113"). |
citation_batch_lookup_citations | Resolve multiple citations in a single call. |
citation_verify_citation_format | Check whether a citation string is properly formatted. |
citation_parse_citation_with_citeurl | Parse a citation and generate a direct URL. |
citation_extract_citations_from_text | Extract all citations from a block of legal text. |
citation_enhanced_citation_lookup | Enhanced lookup with additional context and metadata. |
System
| Tool | What It Does |
|---|---|
status | Check server health and CourtListener API connectivity. |
Setup: 30 Seconds
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"courtlistener": {
"url": "https://courtlistener-mcp.vaquill.ai/mcp/"
}
}
}
Claude Code
claude mcp add courtlistener --transport http https://courtlistener-mcp.vaquill.ai/mcp/
Cursor
Go to Settings > MCP and add:
- Type:
streamableHttp - URL:
https://courtlistener-mcp.vaquill.ai/mcp/
VS Code (Copilot)
Add to .vscode/settings.json:
{
"mcp": {
"servers": {
"courtlistener": {
"type": "http",
"url": "https://courtlistener-mcp.vaquill.ai/mcp/"
}
}
}
}
Windsurf
Add to your MCP config:
{
"mcpServers": {
"courtlistener": {
"serverUrl": "https://courtlistener-mcp.vaquill.ai/mcp/"
}
}
}
Example Prompts
Once connected, try these in your AI editor:
- "Search for 9th Circuit opinions on qualified immunity from 2023"
- "Find the docket for Apple v. Samsung in the Northern District of California"
- "Look up the citation 410 U.S. 113"
- "Extract all citations from this brief" (paste text)
- "Search for Supreme Court opinions on Section 1983 civil rights claims"
- "Find oral arguments in the DC Circuit about agency rulemaking"
Your AI assistant will automatically call the right CourtListener tools and return grounded results from actual court records.
A Worked Query and Its Result
Here is what one call looks like end to end. Ask your editor to look up a citation, and it calls citation_lookup_citation:
{
"tool": "citation_lookup_citation",
"arguments": { "citation": "410 U.S. 113" }
}
The tool resolves it against CourtListener and returns the matching opinion cluster:
{
"citation": "410 U.S. 113",
"case_name": "Roe v. Wade",
"court": "Supreme Court of the United States",
"date_filed": "1973-01-22",
"cluster_id": 108713,
"absolute_url": "https://www.courtlistener.com/opinion/108713/roe-v-wade/"
}
Your editor then narrates it in plain English: Roe v. Wade, 410 U.S. 113 (1973), decided January 22, 1973 by the Supreme Court. The absolute_url is a live link you can open to read the full opinion, so the answer is checkable, not generated from model memory. Field names will vary slightly by server version; the shape is the same: input citation in, structured opinion record out.
Practical Research Workflows
Here are concrete workflows that demonstrate how the MCP server changes legal research:
Finding Precedent on a Specific Issue
Traditional workflow: Go to Westlaw or LexisNexis, run keyword searches, scan dozens of results, follow citation trails manually.
With the MCP server: Ask your AI assistant "Find 9th Circuit opinions from the last 3 years on qualified immunity in excessive force cases." It calls search_opinions with the right filters, returns relevant cases with metadata, and can then use get_opinion to pull full text for the most relevant results.
Follow up with "What does the 4th Circuit say on the same issue?" and it runs a parallel search instantly.
Tracking Active Litigation
Use search_dockets to find a specific case by party names, then get_docket to see all filed documents, parties, lawyers, and the current status. For cases with RECAP coverage, search_dockets_with_documents lets you find dockets that have freely available filings.
Citation Verification
Paste a brief or memo into your AI editor and ask "Extract and verify all citations in this document." The citation_extract_citations_from_text tool pulls every citation, and citation_batch_lookup_citations resolves them all against CourtListener's database.
You'll immediately see which citations are valid and which might be incorrect, a critical check in an era where AI-generated legal content sometimes includes fabricated citations.
Oral Argument Research
The search_audio and get_audio tools let you find oral argument recordings from federal appellate courts. Ask "Find oral arguments in the DC Circuit about Chevron deference from 2023" to find recordings of arguments in cases that may have preceded or followed Loper Bright Enterprises v. Raimondo (2024), which overturned Chevron.
How It Compares to Westlaw and LexisNexis


CourtListener is not a replacement for Westlaw or LexisNexis, it's a complement. Here's what you get and what you don't:
| Feature | CourtListener (Free) | Westlaw/LexisNexis (Paid) |
|---|---|---|
| Court opinions (full text) | 10M+ opinions, strong federal coverage | More comprehensive, especially older state decisions |
| Headnotes and key numbers | No | Yes (West's Key Number System / LexisNexis Headnotes) |
| Citator (Shepard's / KeyCite) | Basic citation data | Full treatment analysis (overruled, distinguished, followed) |
| PACER docket data | Yes, via RECAP archive (crowdsourced) | Yes, direct PACER integration |
| Federal regulations | Yes (eCFR) | Yes |
| Secondary sources | No | Treatises, law reviews, practice guides |
| Price | Free | $200-400+/month per user |
The MCP server gives your AI assistant free access to the core primary law (opinions, dockets, and regulations) that covers the majority of research needs. For specialized citation analysis or comprehensive secondary sources, paid platforms still have an edge.
Combine with Statutes and Canadian Coverage
The real power is combining CourtListener's open US case data with a statutes MCP and the CanLII MCP server.
The statutes MCP handles US primary-law lookup (USC, CFR, 50-state codes, state constitutions, Federal Rules, Executive Orders), and the CanLII MCP server handles Canadian law. Add them to your editor config:
{
"mcpServers": {
"statutes": {
"command": "uvx",
"args": ["vaquill-mcp"],
"env": {
"VAQUILL_API_KEY": "vq_key_your_key_here"
}
},
"courtlistener": {
"url": "https://courtlistener-mcp.vaquill.ai/mcp/"
},
"canlii": {
"url": "https://canlii-mcp.vaquill.ai/mcp",
"headers": {
"Authorization": "Bearer YOUR_CANLII_API_KEY"
}
}
}
}
Now your AI assistant can research across the US and Canada in a single conversation. Ask "Compare how the right to privacy is treated in American and Canadian jurisprudence" and it will call the right tools across the servers.
Self-Hosting
If you prefer to run your own instance, clone the courtlistener-mcp source, copy .env.example to .env with your COURT_LISTENER_API_KEY, then docker-compose up -d (port 8000).
Get a free CourtListener API key at courtlistener.com/api.
The server supports three transports:
streamable_httpat/mcp/(default, used by the hosted endpoint)ssefor Server-Sent Eventsstdiofor local process communication
Rate Limits and Fair Use
CourtListener's API is free for non-commercial and research use. The hosted endpoint forwards your token, so calls hit your quota:
- Reasonable use: Individual research sessions, building legal tech prototypes, academic research
- Heavy use: If you're building a product that will make sustained, high-volume API calls, self-host the MCP server with your own CourtListener token
- Not allowed: Bulk scraping, commercial data aggregation without a CourtListener partnership
The hosted endpoint is a convenience for individual researchers and developers. For production use, self-host with your own key.
Technical Details
- Language: Python with FastMCP
- Transport: Streamable HTTP (stateless)
- Docker:
docker-compose up -don port 8000 - Rate limits: Subject to CourtListener API rate limits
FAQ
What is a CourtListener MCP server?
It is a Model Context Protocol server that exposes CourtListener's US case-law API to AI editors like Claude, Cursor, and VS Code. Instead of guessing at case law, your assistant calls real tools to search opinions, pull dockets, and verify citations against CourtListener's database of 10M+ federal and state opinions.
Is the CourtListener MCP server free?
Yes. The CourtListener API is free for non-commercial and research use, and both the official mcp.courtlistener.com connector and the open-source server are free to use. You bring your own free CourtListener token (or OAuth-connect your account on the official server). High-volume or commercial use should self-host and may need a CourtListener partnership.
How do I add the CourtListener MCP to Claude?
Two ways. For the official server, open Claude's connector directory, find CourtListener, and grant access to your account over OAuth. For the open-source hosted server, add a mcpServers block with the URL https://courtlistener-mcp.vaquill.ai/mcp/ to your claude_desktop_config.json, or run claude mcp add courtlistener --transport http in Claude Code.
What is the difference between the official CourtListener MCP and a third-party one?
The official server (mcp.courtlistener.com, launched May 2026) uses OAuth and is the quickest connect inside Claude or ChatGPT. The open-source server lets you self-host on Docker, pin the exact tool set, and bring your own key, which suits Cursor, VS Code, Windsurf, and production use. They both read the same CourtListener data.
What tools does the CourtListener MCP server expose?
The open-source server exposes 19 tools across four groups: search (opinions, dockets, RECAP documents, audio, people), get-by-ID (opinion, docket, cluster, court, person, audio), citation (lookup, batch lookup, verify, parse, extract, enhanced lookup), and a status check. See the full table above.
Does the CourtListener MCP cover state courts as well as federal?
Yes. CourtListener indexes opinions from over 400 jurisdictions, including appellate decisions from all 50 states plus the full federal hierarchy from district courts up to SCOTUS. The search_opinions tool filters by court and jurisdiction.
Can I use the CourtListener MCP server in Cursor or VS Code?
Yes. Add the server URL under Cursor's Settings > MCP as a streamableHttp server, or add an mcp.servers block to .vscode/settings.json in VS Code with Copilot. The setup section above has the exact config for each.
Does a CourtListener MCP give me US statutes too?
No. CourtListener is case law, dockets, and the eCFR. For US statutes (US Code, CFR, 50-state codes, Federal Rules, Executive Orders) you add a separate statutes MCP alongside it, as shown in the combined config above.
What's Next
We're adding more jurisdiction-specific MCP servers. The CanLII MCP server for Canadian law is already live.

Vaquill AI publishes its MCP servers on the official MCP registry under io.github.Vaquill-AI/*, including the CourtListener server above and a statutes MCP. To be clear about scope: Vaquill AI's public API is US statutes only (US Code, CFR, 50-state codes, Federal Rules, Executive Orders). Case-law access comes from CourtListener through the MCP. Vaquill AI does not offer a case-law API. Pair the two and your editor can move from a statute to the opinions interpreting it in one conversation.
Want to run all of this together? See how to compose the CourtListener, CanLII, and Vaquill AI MCPs into one workflow, or read about the statutes MCP at /features/legal-research.
New legal AI guides, weekly.
Further Reading
How to Compose Legal MCPs: A Multi-Server Cross-Jurisdiction Workflow
Read postLegal Research from Inside Cursor and Claude Code: The MCP Way
Read postReplace Harvey AI: Build Your Own Legal AI Stack on Claude + MCP (2026)
Read postThe MCP Registry Is the New App Store for Legal AI. Here's How to Read It.
Read postCanLII MCP Server: Canadian Legal Research
Read postSearching US Statutes and Regulations With AI: Is the Section Still Current?
Read post
Co-Founder & CTO
Priyansh leads engineering and AI at Vaquill, from the matter workbench to drafting, document comparison, document matrix, and citation-verified research.