Courtlistener MCP Server
Search US court opinions, federal dockets, judges, citations, and oral arguments via CourtListener.
Connect it
Settings → Connectors → Add custom connector
URL: https://courtlistener.caseyjhand.com/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://courtlistener.caseyjhand.com/mcp{
"mcpServers": {
"courtlistener-mcp-server": {
"url": "https://courtlistener.caseyjhand.com/mcp"
}
}
}claude mcp add --transport http courtlistener-mcp-server https://courtlistener.caseyjhand.com/mcp{
"servers": {
"courtlistener-mcp-server": {
"type": "http",
"url": "https://courtlistener.caseyjhand.com/mcp"
}
}
}{
"mcpServers": {
"courtlistener-mcp-server": {
"command": "npx",
"args": [
"-y",
"@cyanheads/courtlistener-mcp-server@0.7.3"
],
"env": {
"COURTLISTENER_API_TOKEN": "<value>"
}
}
}
}claude mcp add courtlistener-mcp-server -- npx -y @cyanheads/courtlistener-mcp-server@0.7.314 tools, verified live
courtlistener_search_opinionsread-onlyFull-text search across 9M+ written US court opinions with field-level filtering. Returns opinion cluster summaries with case metadata, citations, matched text snippets, and the individual opinion variants filed in each case. Supports CourtListener field syntax (caseName:"roe v wade", court_id:scotus, judge:"Alito") and boolean operators (AND, OR, NOT). Use courtlistener_lookup_courts to find cour
courtlistener_get_opinionread-onlyFetch the full text and metadata for a single opinion cluster by cluster ID. A cluster groups all opinions filed in a case â majority, concurrence, dissent, and per curiam. Returns the cluster metadata (case name, court, citations, dates) plus every opinion variant with HTML and plain text. When the combined opinion text is too large to inline, the response lists each variant as a retrievable se
courtlistener_get_citationsread-onlyRetrieve the citation network for an opinion cluster. Supports two directions: "cited_by" (opinions that cite this one â measures precedential influence) and "citing" (opinions this one cites â reveals the authority chain relied on). This is the primary tool for tracing legal precedent chains. Note: the free tier supports shallow traversal â following 1â2 hops of a single case is practical
courtlistener_lookup_citationread-onlyResolve legal citations (e.g., "410 U.S. 113", "93 S. Ct. 705") to opinion cluster IDs and case metadata. Enables workflows that start from a known citation rather than a search query. CourtListener extracts every citation it finds in the submitted text, so passing a passage returns one entry per citation, each with its own resolution status â an unresolved or ambiguous citation is reported in t
courtlistener_search_docketsread-onlySearch RECAP federal court dockets. Query terms match case name, docket number, party, and attorney names; filters narrow by party name, court, and filing date. RECAP is a crowd-sourced mirror of PACER (the federal court filing system) â coverage varies by court and date. Returns docket metadata with the parties, attorneys, and firms of record, plus up to 3 sample document entries per docket. Us
courtlistener_get_docketread-onlyFetch full docket metadata and entry list for a single federal case by docket ID. Returns all available docket entries with document availability status. Documents with is_available=true have a RECAP-stored copy; others require a PACER account. Obtain docket IDs from courtlistener_search_dockets or from opinion results.
courtlistener_get_partiesread-onlyFetch all parties and attorneys of record for a RECAP federal docket by docket ID. Returns each party's name, role (Plaintiff, Defendant, Petitioner, Respondent, etc.), and their attorneys with contact information, scoped to this docket. Costs two upstream requests per call (parties + attorney lookup) against a rate-limited free tier, and one more for each extra page of a large attorney roster. Ob
courtlistener_search_judgesread-onlySearch judge/person records by name, appointing president, court, political affiliation, or demographic. Returns biographical data, current position, and appointment summary. Use courtlistener_get_judge for full appointment history and education records.
courtlistener_get_judgeread-onlyFetch full biographical profile for a single judge: positions on record â judicial appointments across all courts plus non-judicial roles â education, political affiliations, and ABA ratings. The position list is paginated upstream and walked under a page bound; the response reports whether it was truncated. Obtain person IDs from courtlistener_search_judges results.
courtlistener_lookup_courtsread-onlyList courts with optional filtering by jurisdiction type, active/inactive status, and scraper coverage. Primarily used to discover court IDs for use in search and filter parameters across all other courtlistener tools. Defaults to the active bench â the courts CourtListener still scrapes; pass status:'inactive' for historical courts or status:'any' for every court. A bundled snapshot returns the
courtlistener_search_oral_argumentsread-onlySearch appellate oral argument audio recordings â the largest public collection of oral argument audio. Returns recording metadata with two direct MP3 links per result (download_url at the originating court, local_path for CourtListener's durable copy), panel judge IDs, and transcript snippets where available. Panel judge IDs can be passed to courtlistener_get_judge for biographical context.
courtlistener_get_oral_argumentread-onlyFetch the full detail record for a single oral argument audio recording by its ID (the audio_id from courtlistener_search_oral_arguments). Returns the case name, panel judge IDs, duration, MP3 download URL, linked docket, and the speech-to-text transcript when transcription has completed. A long transcript is withheld and listed as a retrievable section instead; re-call with sections:["transcript"
courtlistener_search_financial_disclosuresread-onlySearch federal judicial financial disclosure filings â the annual reports judges file on investments, gifts, debts, outside positions, and income. Filter by judge (person ID from courtlistener_search_judges) and/or filing year; the year filter is applied to the fetched page only (CourtListener has no server-side year filter), so page through with cursor to reach a judge's filings for a year that
courtlistener_get_financial_disclosureread-onlyFetch a single judicial financial disclosure by ID with its parsed line-item rows â investments, debts, positions, reimbursements, non-investment and spouse income, agreements, and gifts. This is the itemized companion to courtlistener_search_financial_disclosures (which returns only category counts). Pass categories:[...] to select specific categories; omit for all. Coded value/income columns a
Alternatives in Search & Research
Compare →ODOrchestKit Docs MCPA
Read-only MCP server for the OrchestKit docs: full-text search + Markdown fetch. No auth.
SSSEO SkillA
Free Google Search Console MCP: your real GSC, Google Analytics and keyword data for AI agents.
GitHitsA
Search public open-source code, documentation, metadata, vulnerabilities, changelogs, and examples.
CMClinicaltrialsgov MCP ServerA
Search ClinicalTrials.gov: find studies, retrieve results, match patients to candidate trials.
ESG Hub MCP ServerA
ESG knowledge base for AI agents: hybrid search, glossary, frameworks, industries, graph traversal.
pmndrs docsA
Search and read the docs and examples of react-three-fiber, drei, zustand, jotai... from your agent