CourtAPI is a remote Model Context Protocol (MCP) connector that lets an AI assistant such as Claude or ChatGPT retrieve US federal court data from PACER — cases, dockets, claims, parties, creditors, and documents — across district, bankruptcy, and appellate courts. Every tool is a focused operation: cached reads are separate from explicitly billable PACER retrievals, while credential access is status-only. It is factual retrieval and research support and does not provide legal advice.
https://mcp.courtapi.com/mcp, then complete sign-in.https://mcp.courtapi.com/mcp.https://mcp.courtapi.com/mcp.On first connect you are redirected to a CourtAPI sign-in page to authorize the connector. The assistant never sees your CourtAPI password.
OAuth 2.0 with Dynamic Client Registration (DCR) and PKCE. No API keys are pasted into chat or
exposed to the model. Discovery metadata is published at
/.well-known/oauth-authorization-server and
/.well-known/oauth-protected-resource; the authorization, token, and registration
endpoints are /authorize, /token, and /register. Your CourtAPI
App ID/Key are used server-side to call CourtAPI on your behalf and protected by production storage
and access controls. PACER credentials, if provided, remain on your CourtAPI account. Neither the
username nor password is returned; check_pacer_credentials reports only configuration status.
Every tool has a title and all three MCP annotations (readOnlyHint,
destructiveHint, openWorldHint) so a client can tell what it does before
calling it. Read and write are kept in separate tools: the get_* tools
are pure lookups against already-cached data (readOnlyHint, free and instant). Fetching a
fresher copy from PACER is a separate, clearly-labeled tool that is not read-only — a live retrieval
writes CourtAPI's cache and incurs a PACER charge, so the refresh_*_from_pacer /
purchase_* tools are annotated destructiveHint so your client can ask you to
confirm before spending money. No tool deletes court records.
| Tool | Reads / Paid | Description |
|---|---|---|
find_cases | read | Find federal cases by party name, case number, or keyword. |
get_case | read | Case metadata, key dates, and which sub-records are available. |
get_dockets | read | The docket sheet, with keyword and date filtering. |
get_document | read | A case document's cache status and signed links (no charge). |
get_claims | read | The bankruptcy claims register. |
get_creditors | read | The scheduled creditor list. |
get_parties | read | Parties in a case and, optionally, their attorneys. |
get_case_activity | read | Recent docket and claim activity on your firm's tracked cases. |
get_pacer_refresh_status | read | Poll the status and result of a live retrieval you started. |
ncl_search | paid | One live PACER National Case Locator result page across federal courts by name or case number — billable (about $0.10). Pagination tokens and receipt account details are not exposed. Social Security / Tax ID number lookups are not supported. |
list_courts | read | List PACER courts and their codes. |
check_pacer_credentials | read | Report only whether PACER credentials are stored; return neither username nor password. |
fetch_document_text | read | Fetch redacted OCR text into the assistant sandbox from a CourtAPI link. |
refresh_case_from_pacer | paid | Fetch a fresh copy of the case live from PACER (incurs a PACER charge). |
refresh_dockets_from_pacer | paid | Fetch an updated docket sheet live from PACER (incurs a PACER charge). |
refresh_claims_from_pacer | paid | Fetch a live claims-register update from PACER (incurs a PACER charge). |
refresh_creditors_from_pacer | paid | Fetch a fresh creditor list live from PACER (incurs a PACER charge). |
purchase_document_from_pacer | paid | Buy an uncached document from PACER (incurs a PACER charge; skips the charge if already cached). |
A live retrieval from PACER can take time, so it does not block. The tool returns immediately with
a task id; the assistant then calls get_pacer_refresh_status with that id to retrieve the
result once ready. Upstream operations are allowed up to 15 minutes.
US federal courts via PACER: district (civil and criminal), bankruptcy, and appellate. Nationwide
party and case discovery is available through the National Case Locator (ncl_search), a
live PACER query billed per result page. Cached CourtAPI data (via the read tools) is returned
instantly and free; the latest filings can be fetched live from PACER on request (billable). Use
list_courts for the full list of court codes.
Retry-After header.Cached reads are free. The separately named live PACER tools may incur standard PACER access fees billed to your CourtAPI account. Usage and fees are visible in your CourtAPI account dashboard.
The connector processes connection/account data, tool parameters, public court records, PACER transactions, and technical logs as described in the privacy policy. Every result is validated against a typed, tool-specific field allowlist that checks each field at its own location and type and fails closed; unknown nested fields, receipt account data, internal identifiers, raw HTML, navigation URLs, and debug/source structures are dropped, and only authorized CourtAPI document and calendar links survive. Approved strings and OCR text receive additional identifier-pattern redaction, and original binary documents are linked for the user rather than inserted into model context — a file or OCR document opened through such a link is served directly by CourtAPI/PACER and may not have passed through the connector's redaction. It does not use queries or returned data to train AI models, and the public tools do not accept Social Security numbers, Tax IDs, or passwords. See the privacy policy for the full detail.
CourtAPI retrieves and organizes public court records. It does not provide legal advice, interpretation, or recommendations. Verify results independently; any decision with legal consequences should be reviewed by a qualified person. Do not use it for automated court filing or actions without human review.