CourtListener MCP Server: Setup for Claude, ChatGPT and Other Apps
Lets Claude and ChatGPT search case law, read opinions and dockets, check citations and manage alerts using CourtListener, with 19 tools.
This is Free Law Project's hosted server for CourtListener, at https://mcp.courtlistener.com/. You sign in with a free CourtListener account over OAuth, and nothing runs on your computer. It has 19 tools for search, reading documents, citation checks, alerts and Pray and Pay requests, plus a read-only call that reaches any other CourtListener API endpoint.
It is for lawyers, students, journalists and builders who need court data. Check every case yourself before you rely on it in a filing.
Good for
- Lawyers and paralegals who research case law
- Law students and academics who study courts
- Journalists who track dockets and filings
- Legal tech builders who need open court data
Works in
14 should work
Tap an app to see how to set it up and any known problems.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Supports hosted MCP servers.
Install CourtListener (Free Law Project) MCP
Claude Code
- 1
Copy this prompt.
Add the CourtListener (Free Law Project) MCP server to Claude Code. Run this command: claude mcp add --transport http courtlistener-official https://mcp.courtlistener.com Then check that it loaded and tell me if I need to sign in or restart.
- 2
Paste it into Claude Code. It shows the change and asks before running it.
Requires Sign-in with the vendor account (OAuth).
Built from the package data we hold. Not yet tested by us.
Tools
Searches case law, dockets, judges and oral arguments
Runs the same search as courtlistener.com with filters such as court, date range, judge and citation. Results come back in pages.
Try: “Find Supreme Court opinions about qualified immunity from the last five years.”
Network ·
searchFetches one item by its CourtListener ID
Returns a single opinion, docket, judge or other record when you have its ID.
Try: “Get the details for opinion 123456.”
Network ·
get_endpoint_itemPages through more results
Fetches the next results from an earlier search or endpoint call.
Try: “Show me the next page of results.”
Network ·
get_more_resultsGives the total result count for a query
Returns the total number of results for an earlier query, since some counts are computed lazily.
Try: “How many results did that search return in total?”
Network ·
get_countsReads the full text of an opinion or filing
Returns an opinion or PACER document by opinion, document or cluster ID, either whole or in chunks. Cluster mode lists every opinion in the case with type and author.
Try: “Read the main opinion in this case cluster.”
Network ·
read_documentSearches inside opinions or filings
Does a case-insensitive literal search, like grep, across up to 10 documents and returns snippets with context around each match.
Try: “Find where these two opinions mention "reasonable expectation of privacy".”
Network ·
search_documentCalls any CourtListener API endpoint
Reads any CourtListener REST API endpoint with the query parameters you give. It covers data without its own tool, such as financial disclosures, parties and attorneys. The tool is marked read-only.
Try: “List the financial disclosures for this judge.”
Network ·
call_endpointShows the filters and fields of an API endpoint
Returns the JSON schema for an endpoint so the assistant knows which filters and response fields exist.
Try: “What filters does the dockets endpoint support?”
Network ·
get_endpoint_schemaLists long choice values such as court IDs
Returns the full list of values for fields whose choice lists are too long for the schema: court IDs, docket sources, position types and US states.
Try: “What is the court ID for the Ninth Circuit?”
Network ·
get_choicesPulls legal citations out of text
Finds case, statute, id., supra and short citations in a block of text using eyecite. It runs on the server and makes no API calls.
Try: “List every citation in this brief.”
Read ·
extract_citationsExtracts citations and checks them against CourtListener
Extracts citations, then checks each unique case citation and returns the case name, court, date and a status of good, bad or ambiguous. Large jobs run in batches of about 250 and return a job ID.
Try: “Verify every citation in this brief and flag any unknown ones.”
Network ·
analyze_citationsContinues a large citation check
Verifies the remaining citations from an analyze_citations job that went over the per-call batch limit.
Try: “Continue checking the rest of the citations.”
Network ·
resume_citation_analysisShows your API usage and limits
Returns your remaining requests, daily request counts for the last 14 days and membership status. It has its own throttle, so it works when you are rate limited.
Try: “How much of my CourtListener API quota have I used?”
Network ·
get_api_usageCreates a search alert on your account
Creates an email alert for a search with real-time, daily, weekly or monthly frequency. It changes your CourtListener account.
Try: “Alert me daily about new filings mentioning "algorithmic discrimination".”
Write ·
create_search_alertDeletes one of your search alerts
Deletes a search alert by its ID.
Try: “Delete my alert number 4821.”
Delete ·
delete_search_alertSubscribes you to a docket by email
Subscribes you to email updates for one docket. It changes your CourtListener account.
Try: “Subscribe me to updates on this docket.”
Write ·
subscribe_to_docket_alertUnsubscribes you from a docket alert
Removes your email subscription to a docket.
Try: “Unsubscribe me from this docket.”
Delete ·
unsubscribe_from_docket_alertRequests a PACER filing that is not yet on CourtListener
Records a Pray and Pay request for a filing by its document ID. It checks first whether the PDF is already available and points you to read_document if so. Nothing is charged to you, and fulfillment is not guaranteed.
Try: “Pray for this RECAP document.”
Write ·
pray_for_documentWithdraws a pending Pray and Pay request
Withdraws your pending request for a filing, looked up by document ID.
Try: “Withdraw my prayer for this document.”
Delete ·
withdraw_prayer
From the official docs
Permissions
medium risk · 5 things to watch
Medium risk
It mostly reads public court data. Six tools change your CourtListener account: they create or delete search alerts, subscribe to or leave docket alerts, and file or withdraw Pray and Pay requests.
What it can do
- Read your data
- Create and change things
- Delete things
- Read-only mode
Watch out for
It changes alerts and Pray and Pay requests on your account
Six tools create or delete search alerts, subscribe to or leave docket alerts, and file or withdraw Pray and Pay requests. The README says your client should ask before it calls them. Nothing is charged for a prayer. github.com
An API token gives full access to your account API
Clients that cannot sign in with OAuth can send a CourtListener API token instead. The README says it grants full access to the alert and subscription tools and never expires. Keep it out of source control and regenerate it if it leaks. github.com
Use is limited by your API access
The server uses standard CourtListener API access and its rate limits. get_api_usage shows what is left. Higher limits need a Free Law Project membership or commercial agreement. courtlistener.com
Some state is stored on the server
The README says pagination cursors and citation jobs are kept for one hour of inactivity, and document text fetched for reading is cached for 24 hours, shared across users. github.com
Check citations yourself
analyze_citations reduces made-up cases, but for court filings still open each case and confirm it. courtlistener.com
Security advisories
No published security advisories as of Nov 2, 2026.
Technical details
| Turning on read-only | No read-only switch is documented. Search, read and citation tools only read. Only the six alert, subscription and prayer tools change your account, and your client should ask before running them. |
|---|---|
| Talks to | CourtListener (mcp.courtlistener.com), which calls the CourtListener REST API |
| Sign-in and keys | Sign in with your CourtListener account (OAuth), or send a CourtListener API token. The README says the server forwards your credential to the CourtListener API on each call and does not store the raw token. |
| Scopes |
|
Questions
Is the CourtListener MCP server official?
Yes. Free Law Project, the nonprofit behind CourtListener, hosts it at https://mcp.courtlistener.com/. Its code is in the courtlistener-api-client repository.
Is it free?
Yes, with a free CourtListener account. All users get API access automatically. Higher limits need a Free Law Project membership or a commercial agreement.
What is the CourtListener MCP server URL?
It is https://mcp.courtlistener.com/. Add it as a custom connector or MCP server, choose OAuth and sign in with your CourtListener account.
Which apps does it work with?
The docs cover Claude, Claude Code, ChatGPT and Google Gemini Enterprise. The README says it is tested with Claude.ai, Claude Desktop, Claude Code and Cursor, and any client with Streamable HTTP and OAuth 2.0 can connect.
Do I need an API token?
No. Signing in with your CourtListener account through OAuth is enough. A token is only for clients that cannot run a browser sign-in, and it goes in an Authorization header as "Token", not "Bearer".
Which tools does it have?
Nineteen. Four search and fetch tools, two document tools, three generic API tools, three citation tools, one usage tool, four alert tools and two Pray and Pay tools.
Can it check the citations in a brief?
Yes. analyze_citations extracts each citation and checks it against CourtListener, returning good, bad or ambiguous. It verifies about 250 unique citations per call and resumes larger jobs.
Can I run it myself?
Yes. The README shows a local stdio mode with pip install "courtlistener-api-client[mcp]" and a CourtListener API token, and a Docker Compose setup. It recommends the hosted server for most people.
Information
updated Nov 2, 2026
- Publisher
- Official
- Transport
- Streamable HTTP
- Auth
- OAuth
- License
- BSD-2-Clause
Sources
Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.
Show all 3Hide
- www.courtlistener.com · courtlistener.com
- github.com · github.com
- github.com · github.com