# PACER Court Records Intel - MCP Server (`seibs.co/mcp-court-records-intel`) Actor

MCP server for court-records-intel. AI-agent tools for US federal/state court dockets, parties, attorneys, litigation portfolios, and document text via CourtListener/PACER. x402/Skyfire ready. For law firms, insurers, journalists, and M\&A diligence.

- **URL**: https://apify.com/seibs.co/mcp-court-records-intel.md
- **Developed by:** [Seibs.co](https://apify.com/seibs.co) (community)
- **Categories:** AI, Business, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$5.00 / 1,000 mcp tool calls

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## PACER Court Records Intel - MCP Server

> Model Context Protocol (MCP) server wrapper for [court-records-intel](https://apify.com/seibs.co/court-records-intel). Gives AI agents direct, pay-per-call access to federal litigation intelligence - PACER-derived dockets via the free RECAP archive, with no PACER login and no PACER per-page fees.

### What it is

A thin MCP server that exposes the federal-litigation engine as five typed tools an AI agent can call. Each tool runs the upstream `court-records-intel` actor (CourtListener API + RECAP archive) and reshapes the result into small, deterministic JSON. Built for legal-research copilots, litigation-finance agents, M&A due-diligence bots, and competitive-intel workflows.

### Tools

| Tool | What it does | Key args |
|---|---|---|
| `get_party_litigation` | Federal cases for a person or company (plaintiff or defendant) + a rollup (total/active/closed, top courts, settlement-ratio estimate). | `party`, `courts[]`, `date_from`, `limit` |
| `get_litigation_portfolio` | Corporate-entity aggregate: jurisdiction mix, top judges, top opposing counsel, exposure estimate, diligence red flags. Rollup record returned first. | `entity`, `date_from` |
| `get_attorney_track_record` | An attorney's case load by year, top practice areas, opposing counsel, judges appeared before, win/loss estimate. | `attorney` |
| `get_recent_filings` | New federal dockets filed since a date, optionally scoped to courts / a party watchlist / keywords. The new-case alert tool. | `since`, `courts[]`, `parties[]`, `keywords[]`, `limit` |
| `get_case_documents` | RECAP document URLs + metadata for a case number; `include_text=true` also returns extracted filing text. | `case_number`, `include_text` |

Every tool returns the same envelope: `{ tool, args, ok, count, items, summary, error }`. Agents key off `summary` for natural-language framing and `items` for structured downstream use. Every tool also accepts an optional `courtlistener_api_key` (a free key raises CourtListener rate limits from ~60 req/min to ~5000/hr).

### Run modes

- `list_tools` - emit the tool catalog (free, no charge) including the agentic-payment descriptor.
- `call_tool` - invoke one tool. Requires `tool` + `args`.
- `batch` - invoke up to 10 `{tool, args}` calls in one run.

```json
{
  "mode": "call_tool",
  "tool": "get_litigation_portfolio",
  "args": { "entity": "Helion Compute, Inc." }
}
````

You can also set `courtlistener_api_key` at the top level of the input and it flows into every tool call (unless a per-call `args` value overrides it).

### Agentic payments (x402 + Skyfire)

This server is **x402 (USDC on Base)** and **Skyfire** ready. When the operator enables Apify MCP monetization, an AI agent can pay per tool call with no pre-provisioned API token. The `list_tools` response includes a `payments` descriptor advertising the accepted rails and per-call price. Operators enable rails via environment variables:

| Env | Purpose |
|---|---|
| `X402_ENABLED` | `1` to advertise x402 acceptance |
| `X402_PAY_TO_ADDRESS` | receiving wallet (USDC on Base) |
| `X402_PRICE_USD` | per-call price advertised (default 0.005) |
| `SKYFIRE_ENABLED` | `1` to advertise Skyfire acceptance |
| `SKYFIRE_SELLER_ID` | Skyfire seller identity |

Calls through Apify always bill via standard PPE (`mcp_tool_call` $0.005 + upstream pass-through); x402/Skyfire are the token-less rails layered on top for direct agents.

### Pricing

Flat **$0.005 per MCP tool call**, plus the upstream `court-records-intel` PPE pass-through billed to the same run:

- `case_record`: $0.005 per docket (parties, attorneys, status, judge, recent entries)
- `document_record`: $0.003 per RECAP document URL (when documents are requested)
- `document_text_charge`: $0.010 per document with extracted text (`include_text=true`)
- `intelligence_record`: $0.015 per aggregation (portfolio or attorney rollup)

PACER charges $0.10 per page for the same filings; RECAP already liberated them, so there are no PACER fees here. `mode=list_tools` is free, and a tool call that returns nothing costs only the $0.005 wrapper fee.

### Coverage honesty

RECAP mirrors only what PACER users have already pulled and contributed, so coverage is strong for high-profile and frequently-accessed dockets and thinner for obscure ones. When a docket or document is not in RECAP, the upstream actor flags the gap with `available=false` and a human-readable `reason` rather than guessing.

### Responsible use / data scope

This server reads only logged-out, public federal court records via the CourtListener API and the RECAP archive. No PACER login, no accounts, no cookies, no paywall bypass. Court dockets are public records; you are responsible for lawful use of the outputs (for example, FCRA limits apply if you use these records for employment, credit, or tenant screening). See the upstream actor's README for the full data-scope note.

### Related Actors

- [court-records-intel](https://apify.com/seibs.co/court-records-intel) - the non-MCP actor with full input controls, monitor mode for watchlist alerting, and CSV/HTML artifacts.
- [mcp-sec-edgar-intel](https://apify.com/seibs.co/mcp-sec-edgar-intel) - pair corporate litigation exposure with SEC filing intelligence in the same diligence agent.

### Repo

Source: portfolio repo, `actors/mcp-court-records-intel/`. Upstream: `actors/court-records-intel/`.

### Found this useful?

Leave a quick review: https://apify.com/seibs.co/mcp-court-records-intel#reviews

# Actor input Schema

## `mode` (type: `string`):

list\_tools = emit the MCP tool catalog (free). call\_tool = invoke one tool (requires 'tool' + 'args'). batch = invoke a list of {tool, args} calls.

## `tool` (type: `string`):

Required when mode=call\_tool. One of: get\_party\_litigation, get\_litigation\_portfolio, get\_attorney\_track\_record, get\_recent\_filings, get\_case\_documents.

## `args` (type: `object`):

Arguments for the selected tool. Example for get\_party\_litigation: {"party": "Helion Compute, Inc.", "courts": \["cand"], "limit": 25}. See mode=list\_tools for the per-tool schema.

## `calls` (type: `array`):

Required when mode=batch. Each entry is an object with 'tool' and 'args'. Example: \[{"tool": "get\_party\_litigation", "args": {"party": "Helion Compute, Inc."}}, {"tool": "get\_litigation\_portfolio", "args": {"entity": "Helion Compute, Inc."}}]. Max 10 calls per run.

## `courtlistener_api_key` (type: `string`):

Optional free CourtListener API key passed through to the upstream actor on every tool call (unless a per-call args value overrides it). Without a key the upstream runs anonymously at ~60 req/min; a free key raises limits to ~5000/hr. Get one at https://www.courtlistener.com/help/api/rest/.

## Actor input object example

```json
{
  "mode": "list_tools",
  "tool": "get_party_litigation",
  "args": {
    "party": "Helion Compute, Inc.",
    "limit": 25
  },
  "calls": []
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "mode": "list_tools",
    "args": {
        "party": "Helion Compute, Inc.",
        "limit": 25
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("seibs.co/mcp-court-records-intel").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "mode": "list_tools",
    "args": {
        "party": "Helion Compute, Inc.",
        "limit": 25,
    },
}

# Run the Actor and wait for it to finish
run = client.actor("seibs.co/mcp-court-records-intel").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mode": "list_tools",
  "args": {
    "party": "Helion Compute, Inc.",
    "limit": 25
  }
}' |
apify call seibs.co/mcp-court-records-intel --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=seibs.co/mcp-court-records-intel",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "PACER Court Records Intel - MCP Server",
        "description": "MCP server for court-records-intel. AI-agent tools for US federal/state court dockets, parties, attorneys, litigation portfolios, and document text via CourtListener/PACER. x402/Skyfire ready. For law firms, insurers, journalists, and M&A diligence.",
        "version": "0.1",
        "x-build-id": "ZDdncfYjxfzrhVks0"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/seibs.co~mcp-court-records-intel/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-seibs.co-mcp-court-records-intel",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/seibs.co~mcp-court-records-intel/runs": {
            "post": {
                "operationId": "runs-sync-seibs.co-mcp-court-records-intel",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/seibs.co~mcp-court-records-intel/run-sync": {
            "post": {
                "operationId": "run-sync-seibs.co-mcp-court-records-intel",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "list_tools",
                            "call_tool",
                            "batch"
                        ],
                        "type": "string",
                        "description": "list_tools = emit the MCP tool catalog (free). call_tool = invoke one tool (requires 'tool' + 'args'). batch = invoke a list of {tool, args} calls.",
                        "default": "list_tools"
                    },
                    "tool": {
                        "title": "Tool name",
                        "enum": [
                            "get_party_litigation",
                            "get_litigation_portfolio",
                            "get_attorney_track_record",
                            "get_recent_filings",
                            "get_case_documents"
                        ],
                        "type": "string",
                        "description": "Required when mode=call_tool. One of: get_party_litigation, get_litigation_portfolio, get_attorney_track_record, get_recent_filings, get_case_documents.",
                        "default": "get_party_litigation"
                    },
                    "args": {
                        "title": "Tool arguments (JSON object)",
                        "type": "object",
                        "description": "Arguments for the selected tool. Example for get_party_litigation: {\"party\": \"Helion Compute, Inc.\", \"courts\": [\"cand\"], \"limit\": 25}. See mode=list_tools for the per-tool schema."
                    },
                    "calls": {
                        "title": "Batch calls",
                        "maxItems": 10,
                        "type": "array",
                        "description": "Required when mode=batch. Each entry is an object with 'tool' and 'args'. Example: [{\"tool\": \"get_party_litigation\", \"args\": {\"party\": \"Helion Compute, Inc.\"}}, {\"tool\": \"get_litigation_portfolio\", \"args\": {\"entity\": \"Helion Compute, Inc.\"}}]. Max 10 calls per run.",
                        "default": []
                    },
                    "courtlistener_api_key": {
                        "title": "CourtListener API key (free, optional)",
                        "type": "string",
                        "description": "Optional free CourtListener API key passed through to the upstream actor on every tool call (unless a per-call args value overrides it). Without a key the upstream runs anonymously at ~60 req/min; a free key raises limits to ~5000/hr. Get one at https://www.courtlistener.com/help/api/rest/."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
