Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Court Listener

NPM · @PIPEWORX/MCP-COURT-LISTENER · 2 COMPONENTS

CourtListener MCP — Free Law Project's CourtListener API (v4).

+3 this week 83 Trust /100

Last scanned (4 hours ago)

Scores higher than 76% of npm servers

Category Education and Research

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security100
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • No production dependencies, so there is no dependency health to assess. View diagnostics → Pass
Provenance & Transparency97
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Cryptographically verified build provenance (signed, bound to pipeworx-io/mcp-court-listener). View diagnostics → Pass
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 4 days ago).Pass
  • Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability68
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 2237 tokens (~203/item across 11 items; 11 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
  • Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 11 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 12 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

  • 3 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Nov 26 +26
    • Known CVEs: unverified → pass ▲ security
    • Malware scan: unverified → pass ▲ security
    • Dependency health: unverified → pass ▲ functional
  • 31 Oct 26 −25
    • Known CVEs: pass → unverified ▼ security
    • Malware scan: pass → unverified ▼ security
    • Dependency health: pass → unverified ▼ functional
    • Package version: 0.2.0 → 0.2.1 functional
  • 29 Oct 26 80

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Analysed npm/@pipeworx/mcp-court-listener@0.2.1

Provenance Verified

A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.

Result Verified
Ecosystem npm
Reason Verified
Discovered via Registry attestation endpoint
Source repo pipeworx-io/mcp-court-listener
Certificate issuer https://token.actions.githubusercontent.com
Certificate SAN https://github.com/pipeworx-io/mcp-court-listener/.github/workflows/publish.yml@refs/heads/main
Rekor log index 3612271845
Predicate type SLSA build provenance https://slsa.dev/provenance/v1
Subject digest sha512:b6d0f1b78a62dd8eeff88262fcce3028de2bad38b8622d561bcf52f3e90cf80da085caf10addc574d1b65ae8b7f6f689cada2ac50b36e9025e4bf1443

Background: How many MCP packages publish verified provenance →

Dependencies 0 packages
Packages resolved 0
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 11 exposed · ~2,182 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
find_case ~141

Find a US court case BY NAME and get its citations, filing date, judges and how often it has been cited. Searches 8.3 million opinions across 3,361 courts — no API key, no rate limit. Ranked by citation count, so the leading case for a name comes first. Use this when you know what the case is CALLED; use search_opinions when you only know the TOPIC.

NameTypeReqDescription
limitnumber–Maximum cases to return (1-25, default 5).
namestringyesCase name or a distinctive party, e.g. "Roe v. Wade" or "Sullivan".

No output schema declared.

No examples provided.

find_case_patents ~362

Patent litigation cross-reference: a named US district-court case to its docket, its asserted patent NUMBERS, and its defendants. Pass a case name (e.g. "TurboCode LLC v. Quectel Wireless Solutions") or a docket_id already known from search_dockets. Patent numbers come ONLY from text CourtListener/RECAP already indexes — the clerk's own docket-entry descriptions (e.g. an exhibit filed as "United States Patent No. 6,813,742") and the text of any document someone else has already purchased from PACER — never from buying a PACER document. Each patent number says exactly which filing it was found in and the label that preceded it, and carries USPTO patent metadata (title, status, grant date, inventor) when a platform USPTO key is configured — the number is still returned without one. Defendants come from the case caption CourtListener indexed, not an authenticated PACER party list, and say so. This is a thin cross-reference: a patent asserted only inside an unpurchased complaint PDF, or a defendant list CourtListener truncated with "et al.", will not be complete here — the response names that gap rather than hiding it.

NameTypeReqDescription
case_namestring–Case name, e.g. "TurboCode LLC v. Quectel Wireless Solutions". Required unless docket_id is given.
courtstring–Optional court filter when searching by case_name (e.g. "txed" for E.D. Texas).
docket_idnumber–Docket id already known from search_dockets. Skips the case-name lookup.
filing_limitnumber–How many docket filings to scan for patent numbers (default 50, max 100).

No output schema declared.

No examples provided.

get_docket_filing ~125

Get one filing from a US federal court docket by its document id — the entry description as the clerk wrote it, the filing date, page count, the docket_id it belongs to, a text excerpt where the document has been scanned, and a direct PDF link. Use after list_docket_filings or search_court_filings to read a specific document. Returns pdf_available false when RECAP has the docket entry but not the document itself.

NameTypeReqDescription
document_idnumberyesRECAP document id, from list_docket_filings or search_court_filings.

No output schema declared.

No examples provided.

get_opinion ~116

Get the FULL TEXT of a US court opinion by its CourtListener opinion ID (the opinion_id returned by search_opinions). Covers 8.3 million opinions, 71% state case law — no API key needed. Returns the opinion text, the case name, the real filing date, author, citation count, whether the text came from OCR of a scan, and the data as-of date. Opinions filed after that date may fall through to live search.

NameTypeReqDescription
idnumberyesCourtListener opinion ID (numeric)

No output schema declared.

No examples provided.

list_case_opinions ~87

List every opinion filed in one case (cluster) — majority, concurrences and dissents — with the opinion_id needed to read each one via get_opinion. No API key, no rate limit. Use after find_case or lookup_citation to get from a case to its readable text.

NameTypeReqDescription
cluster_idnumberyesCluster id from find_case or lookup_citation.

No output schema declared.

No examples provided.

list_docket_filings ~198

List the filings on a US FEDERAL district or bankruptcy court docket — every complaint, motion, order and exhibit RECAP has recorded for that case, in filing order, with the document id, entry number, filing date, page count and a link to the PDF. This is the docket sheet: what was filed, when, and by which entry number. Each filing reports whether its PDF is actually held (`pdf_available`); RECAP holds the docket text for far more filings than it holds documents, so treat a filing with no PDF as a real filing whose document nobody has purchased yet, not as a missing record. Takes the docket_id from search_dockets. Court opinions are a different thing and live in search_case_law / get_opinion.

NameTypeReqDescription
docket_idnumberyesDocket id from search_dockets (the docket_id field).
limitnumber–Maximum filings to return (default 20).

No output schema declared.

No examples provided.

lookup_citation ~108

Resolve a US reporter citation such as "410 U.S. 113" or "347 U.S. 483" to the case it refers to, with name, filing date, judges and citation count. No API key, no rate limit. Use when a brief, opinion or article cites a case by reporter and you need to know which case that is.

NameTypeReqDescription
citationstringyesReporter citation: volume, reporter, page. E.g. "410 U.S. 113".

No output schema declared.

No examples provided.

search_case_law ~209

Search the FULL TEXT of US court opinions by subject matter — "qualified immunity for police dogs", "securities fraud scienter pleading standard". Searches the full text of CourtListener opinions with no API key and no rate limit, and returns the most relevant opinion ids, a relevance score and how often each case has been cited; set include_snippets for a passage around the match, or call get_opinion to read the whole thing. Use this when you know the TOPIC. To find a case by NAME use find_case; by reporter citation use lookup_citation. Phrase queries need quotes.

NameTypeReqDescription
include_snippetsboolean–Return a passage of text around the match for each result (default false). Costs one extra fetch per result, so leave it off when you only need ids.
limitnumber–Maximum opinions to return (1-50, default 10).
querystringyesSubject matter to search for. Quote phrases: "clear and present danger".

No output schema declared.

No examples provided.

search_court_filings ~200

Search the TEXT of US federal court filings — complaints, motions, briefs, orders and exhibits from PACER as archived in RECAP, roughly 9.7 million documents. Use this to find what was actually argued or ordered in litigation ("trade secret misappropriation", a company named as a defendant, a specific contract term), as opposed to the appellate opinions that search_case_law covers. Returns the filing description as the clerk wrote it, the filing date, a matching text excerpt, a PDF link where the document is held, and the docket_id to read the rest of that case with list_docket_filings. Quote a phrase to search it exactly.

NameTypeReqDescription
courtstring–Optional court code to narrow to, e.g. "cand" or "txsd".
limitnumber–Maximum filings to return (default 20).
querystringyesSearch text. Quote a phrase for an exact match.

No output schema declared.

No examples provided.

search_dockets ~141

Search US court dockets by keyword. Covers PACER and RECAP archives. Each result carries docket_id, case name, court, filing and termination dates, docket number, nature of suit, the cause of action, the assigned judge, and the PACER case id.

NameTypeReqDescription
courtstring–Court filter (e.g., "nysd" for Southern District of New York)
limitnumber–How many dockets to return, 1–100 (default 20). CourtListener pages at 20, so higher values fetch additional pages.
querystringyesSearch keywords (e.g., "antitrust merger")

No output schema declared.

No examples provided.

search_opinions ~495

Search US court opinions from CourtListener — 8.3 million of them, with no API key and no rate limit. Covers the UNITED STATES SUPREME COURT (SCOTUS), the federal circuit courts of appeals, the federal district courts, and the state courts (71% of the corpus is state case law). THE tool for what a US court HELD, decided or ruled in a NAMED CASE — "What did the Supreme Court hold in Air France v. Saks?", "Miranda v. Arizona", "the Ninth Circuit ruling in ..." — including the treaty and statutory questions such cases turn on (Warsaw Convention, ERISA, the Fourth Amendment). Matches the case name, the judge, and (where CourtListener recorded one) a nature-of-suit/disposition category, so it is strongest on party names, judges, and case categories ("workers compensation", "habeas", "immigration") and weaker on a legal DOCTRINE that would not appear in those fields (e.g. "qualified immunity") — use find_case when you know the party, and expect this to sometimes miss on doctrine-only phrasing. Filter by jurisdiction (state vs federal, inferred from the citation reporter) and by date_filed (the real ruling date). A specific court code (e.g. "scotus", "ca9") or a filing after the covered window falls back to a live, token-less CourtListener search automatically. Every result carries snapshot_date and opinion_ids to read with get_opinion.

NameTypeReqDescription
courtstring–A specific court code (e.g. "scotus", "ca9", "nysd"). Not available on the indexed search — supplying this falls back to a live CourtListener search.
date_afterstring–Only opinions with a real filing date (date_filed) on or after this date (YYYY-MM-DD).
date_beforestring–Only opinions with a real filing date (date_filed) on or before this date (YYYY-MM-DD).
jurisdictionstring–Filter to state or federal case law (inferred from the reporter citation).
limitnumber–How many cases to return, 1–100 (default 10).
querystringyesSearch keywords — strongest on party names, judges and case categories (e.g. "workers compensation", "Sotomayor").

No output schema declared.

No examples provided.

Install

How do I install the Court Listener MCP server?

Court Listener runs locally as an npm package, launched with npx -y @pipeworx/mcp-court-listener. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · @pipeworx/mcp-court-listener

# add to Claude Code
claude mcp add pipeworx-io-court-listener -- npx -y @pipeworx/mcp-court-listener
Common questions

What is the Court Listener MCP server?

Court Listener is an MCP server listed in the public MCP registry as io.github.pipeworx-io/court-listener. CourtListener MCP, Free Law Project's CourtListener API (v4). This page covers its npm package (@pipeworx/mcp-court-listener).

Is the Court Listener MCP server safe to use?

Court Listener scores 83 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Court Listener MCP server expose?

Court Listener exposes 11 tools: search_opinions, search_dockets, search_case_law, find_case, lookup_citation, and 6 more. Their descriptions and schemas cost roughly 2,182 tokens of context every time the server is loaded.

Is the Court Listener MCP server still maintained?

Court Listener is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the Court Listener MCP server under?

Court Listener declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.