find_case_patents
Pack: court-listener · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/find_case_patents for the schema, then POST the same URL with its arguments for the data.
A named patent-infringement case joined to its asserted patent numbers (with USPTO metadata) and its defendants.
Tool description as the model sees it
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.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
case_name | string | no | Case name, e.g. “TurboCode LLC v. Quectel Wireless Solutions”. Required unless docket_id is given. |
docket_id | number | no | Docket id already known from search_dockets. Skips the case-name lookup. |
court | string | no | Optional court filter when searching by case_name (e.g. “txed” for E.D. Texas). |
filing_limit | number | no | How many docket filings to scan for patent numbers (default 50, max 100). |
Example call
Arguments
{
"case_name": "TurboCode LLC v. Quectel Wireless Solutions",
"court": "txed"
}
curl
curl -X POST https://gateway.pipeworx.io/court-listener/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"find_case_patents","arguments":{"case_name":"TurboCode LLC v. Quectel Wireless Solutions","court":"txed"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('find_case_patents', {
"case_name": "TurboCode LLC v. Quectel Wireless Solutions",
"court": "txed"
});
Connect
Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the court-listener pack
{
"mcpServers": {
"court-listener": {
"url": "https://gateway.pipeworx.io/court-listener/mcp"
}
}
}
See Getting Started for client-specific install steps.