PlugWiki

CourtListener MCP Server: Setup for Claude, ChatGPT and Other Apps

OfficialRemote

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.

Install CourtListener (Free Law Project) MCP

Claude Code

  1. 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. 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 · search

  • Fetches 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_item

  • Pages 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_results

  • Gives 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_counts

  • Reads 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_document

  • Searches 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_document

  • Calls 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_endpoint

  • Shows 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_schema

  • Lists 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_choices

  • Pulls 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_citations

  • Extracts 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_citations

  • Continues 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_analysis

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-onlyNo 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 toCourtListener (mcp.courtlistener.com), which calls the CourtListener REST API
Sign-in and keysSign 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
  • OAuth scopes openid and api (the sign-in screen asks for these two); the server also supports wiki, email and profile

  • Your CourtListener account's standard API access

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

WebsiteDocs

Sources

Docs, issue trackers and discussions this page is built from. Issues, quotes and findings above link to their own source.

Show all 3
  1. www.courtlistener.com · courtlistener.com
  2. github.com · github.com
  3. github.com · github.com

Facts from the official MCP registry, GitHub, npm, PyPI and the Docker catalog. Updated Nov 2, 2026.