# CourtListener MCP MCP

> CourtListener connects your AI agent to massive legal databases, letting you search court opinions, dockets, and judicial records in plain conversation. It lets you audit case law by keyword or track ongoing litigation history without ever visiting a complex portal.

## Overview
- **Category:** knowledge-management
- **Price:** Free
- **Tags:** legal-research, court-opinions, docket-tracking, case-law, judicial-data

## Description

Need to understand the background on a specific ruling? CourtListener runs an entire legal research workflow through your AI client. You stop jumping between separate court websites and start talking to a single agent that pulls data from open, authoritative sources. Your agent can find opinions based on keywords, check an individual judge’s history, or pull up a list of related cases. It handles everything required to trace the full lineage of a legal concept.

This MCP is built for deep compliance and research. When your AI client compiles data from various tools, Vinkius tracks every single call through its cryptographically signed audit trail. This means you get verifiable proof of exactly where the information came from. Whether you are monitoring corporate litigation or verifying judicial disclosures, this tool ensures your legal context is always grounded in traceable records.

## Tools

### get_court
Gets the detailed information for one specific court location or jurisdiction.

### get_judge
Retrieves full background details for a single, specified judge.

### get_opinion
Retrieves detailed metadata and text for a single, specific court opinion.

### list_citations
Lists all related citations to an opinion, helping you map the legal network.

### list_courts
Lists all available courts and their metadata to confirm your research scope.

### list_financial_disclosures
Provides public records of financial disclosures made by a judge.

### list_judges
Provides lists of judges, which you can then use to narrow down your search context.

### list_opinions
Lists available legal opinions, allowing you to browse the scope of existing case law.

### search_dockets
Searches active court dockets to see real-time status and filings for current cases.

### search_opinions
Searches the entire repository of legal opinions using keywords or date ranges.

## Prompt Examples

**Prompt:** 
```
Search for court opinions about 'copyright fair use'.
```

**Response:** 
```
I've retrieved recent opinions. Top results include cases from the 2nd and 9th Circuits regarding digital media and transformation. Would you like the full citations for any of them?
```

**Prompt:** 
```
Show me details for judge ID 1234.
```

**Response:** 
```
I've retrieved the judge profile. He has served on the Federal Court since 2010. I can also check for recent financial disclosures if you'd like.
```

**Prompt:** 
```
Check for dockets related to 'SpaceX' in 2024.
```

**Response:** 
```
I've found 3 active dockets for 'SpaceX' filed this year. They include a civil matter in Texas and an administrative appeal. Would you like the case numbers and court details?
```

## Capabilities

### Find court details
Retrieves specific metadata about any available court system.

### Track case filings
Searches active court dockets to keep you updated on ongoing litigation and case movements.

### Research legal rulings
Finds specific legal opinions by keyword, retrieving the full metadata like the filing date and originating court.

### Audit judicial history
Gathers background information on judges, including their service dates and financial disclosures.

### Follow legal citations
Lists all precedents or related cases tied to a specific published opinion.

## Use Cases

### Investigating conflicts of interest
An investigator needs to know if a judge ruled on a case where they had a financial stake. They start by running `list_judges`, then find the specific judge, and use `get_judge` paired with `list_financial_disclosures` to check for conflicts before trusting any ruling.

### Tracking corporate litigation
A legal team needs a summary of all recent filings against their client. They ask the agent to run `search_dockets` for the company name across multiple jurisdictions, getting an immediate status report on every active case.

### Building a research paper
A student needs context for a specific legal concept. They use `search_opinions` to find initial rulings, then use `list_citations` repeatedly to map the entire body of supporting law and build their argument.

### Verifying court scope
A firm is moving into a new region. They first call `list_courts` to get all available jurisdiction metadata, ensuring they use the correct legal framework for any future client work.

## Benefits

- Trace a full legal lineage: You can find an opinion using `search_opinions`, then use `list_citations` to see every related precedent, building a complete picture of the law's evolution.
- Monitor active litigation: Use `search_dockets` to track ongoing case filings. This keeps you current on real-time legal movement without manual checks.
- Vet judicial credibility: The MCP lets you cross-reference rulings with judge records using `list_financial_disclosures`, ensuring your research context is clean and verifiable.
- Establish jurisdiction: Start by running `list_courts` to confirm which specific courts are relevant. This prevents your agent from wasting time searching in the wrong jurisdiction.
- Deep dive on rulings: After finding a general opinion list via `list_opinions`, you can pull the full text using `get_opinion` for detailed analysis.

## How It Works

The bottom line is that you give the AI agent the prompt, and it executes the entire multi-step search process across the legal databases.

1. Subscribe to the MCP and enter your CourtListener API key.
2. Connect this service through your preferred client like Claude or Cursor.
3. Ask your agent to perform a complex query, such as 'Find all opinions regarding X by Judge Y'.

## Frequently Asked Questions

**How do I find my CourtListener API Key?**
Log in to your [**CourtListener account**](https://www.courtlistener.com/profile/api/), and you will find your API Key under the **API Tokens** section. Copy and paste it below.

**Can the agent search for both opinions and dockets?**
Yes. Use the `search_opinions` tool for legal judgments and `search_dockets` for case records. Your agent will return matching results from the Free Law Project database.

**Is it possible to list judicial citations via the agent?**
Yes. The `list_citations` tool allows your agent to retrieve all precedents and subsequent citations for any opinion by providing its Opinion ID, helping you map the legal landscape.

**How can I use the `list_courts` tool to determine my correct jurisdiction?**
You simply run the `list_courts` command. This pulls a complete catalog of all available courts in our database, letting you confirm your search area and ensure any dockets or opinions you retrieve are legally accurate for your region.

**If I want to see a judge's financial history, is `list_financial_disclosures` the right tool?**
Yes, running `list_financial_disclosures` provides mandated public records of a judge’s assets and income. This lets researchers verify a judge's economic context or potential conflicts of interest directly within your workflow.

**What information does `get_opinion` return for a specific case?**
It pulls comprehensive metadata about the legal opinion, including the court name, date filed, and often the full body of the argument. You get everything needed to understand the core precedent without leaving your agent environment.

**What happens if I use `search_opinions` and don't find any results?**
The tool will return a clear message indicating no matches were found. This usually means you need to adjust the search parameters, such as broadening your date range or using more generalized keywords.

**If I need details for multiple judges, is it better to use `list_judges` first?**
It’s best practice. You should use `list_judges` to get the names and IDs of all relevant personnel. Then you can loop through those IDs using `get_judge` to gather detailed profiles efficiently.