{
  "markdown": "# CourtAPI MCP Server\n\nSearch and retrieve US federal court cases, dockets, claims, and documents via PACER — directly from Claude and other MCP-compatible AI assistants.\n\n## What it does\n\nThis MCP server exposes [CourtAPI](https://www.courtapi.com) as a set of tools that let an AI assistant:\n\n- **Find cases** by party name, case number, or free-text keywords across all federal courts\n- **Get case metadata** — title, chapter, judge, filing dates, assets/liabilities, and what sub-resources have been purchased\n- **Get dockets** — full docket sheets with filing history, keyword search, and date filtering\n- **Download documents** — PDFs attached to docket entries, with cost-checking before purchase\n- **Get claims** — bankruptcy claims registers with creditor names, amounts, and claim types\n- **Get parties** — all parties and attorneys in a case\n- **Get creditors** — scheduled creditors (Schedules D/E/F), separate from filed claims\n- **Search PACER NCL** — National Case Locator for cross-court party searches\n- **List courts** — all ~200 PACER courts with their codes\n- **Manage PACER credentials** — store and validate PACER username/password\n\nCoverage: **all US federal courts** — bankruptcy, district, and appellate. State courts are not supported.\n\n---\n\n## Prerequisites\n\n**CourtAPI account** — Get credentials (APP\\_ID + APP\\_KEY) at the [developer portal](https://courtapi-admin.3scale.net). A free 30-day sandbox is available (150 API calls/day, 500/month) — contact [support@courtapi.com](mailto:support@courtapi.com) to start one.\n\n**PACER account** — Required for fetching live data (docket updates, document downloads). Register free at [pacer.uscourts.gov](https://pacer.uscourts.gov/register-account/pacer-case-search-only). PACER charges per page for documents; CourtAPI passes these fees through at cost.\n\n---\n\n## Installation\n\n### Claude Desktop\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows):\n\n```json\n{\n  \"mcpServers\": {\n    \"courtapi\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@courtio/courtapi-mcp\"],\n      \"env\": {\n        \"COURTAPI_APP_ID\": \"your_app_id\",\n        \"COURTAPI_APP_KEY\": \"your_app_key\"\n      }\n    }\n  }\n}\n```\n\nRestart Claude Desktop. The hammer icon will show CourtAPI tools listed.\n\n### Other MCP clients\n\nThe server uses stdio transport by default, which is compatible with any MCP host. Use the same `command`/`args`/`env` pattern above.\n\n### HTTP mode (Streamable HTTP transport)\n\nFor clients that use HTTP rather than stdio (e.g. the OpenAI Responses API remote tools):\n\n```bash\nCOURTAPI_APP_ID=your_id COURTAPI_APP_KEY=your_key PORT=3000 \\\n  npx @courtio/courtapi-mcp --http\n```\n\n### From source\n\n```bash\ngit clone https://gitlab.com/courtio/courtio.git\ncd courtio/mcp/courtapi\nnpm install && npm run build\n# then point Claude Desktop at dist/index.js instead of npx\n```\n\n### Environment variables\n\n| Variable | Required | Description |\n|---|---|---|\n| `COURTAPI_APP_ID` | Yes | Your CourtAPI application ID |\n| `COURTAPI_APP_KEY` | Yes | Your CourtAPI application key |\n| `COURTAPI_BASE_URL` | No | Override API base URL (default: `https://v1.courtapi.com`) |\n\n---\n\n## Quick start\n\nOnce connected, try these prompts in Claude:\n\n> \"Find the Sbarro bankruptcy case and show me the latest docket entries\"\n\n> \"Search for Chapter 11 cases filed in the Delaware bankruptcy court in 2024\"\n\n> \"Get the claims register for case 1:14-bk-10557 in the SDNY bankruptcy court\"\n\n> \"Set my PACER credentials to username johndoe and password mypassword\"\n\n---\n\n## Tools\n\n### `find_cases`\nDiscover cases you don't have a court code or full case number for. Pass a party/company name, partial case number, or free-text keywords. The tool automatically picks the best search endpoint:\n\n- **Party/title search** — fast, free, good for company or person names\n- **Case number search** — resolves partial or ambiguous numbers\n- **Keyword search** (`search-filings`) — full-text across CourtAPI's filing repository; costs 1 API call per 25 results returned\n\nReturns `court_code` + `case_number` pairs needed by all other tools.\n\n### `get_case`\nGet all metadata for a known case: title, chapter, judge, key dates (filed/closed/discharged), assets, liabilities, and the `menu` object. The `menu` has one entry per sub-resource (dockets, claims, parties, etc.) with a `modified` timestamp — `null` means that resource has never been purchased from PACER.\n\nAlways call this first after finding a case to check what data is already available. Free unless `include_live_pacer=true`.\n\n### `get_dockets`\nGet the docket sheet — all filings in chronological order with dates, descriptions, and attached document info. Supports keyword search and date/number range filtering.\n\nTwo useful fields on every docket entry:\n- **`binder.documents`** — pre-fetched document metadata including `is_cached` and `download_cost` for each PDF, so you can check availability without a separate documents API call.\n- **`annotations`** — key dates extracted from docket text (deadlines, hearings, etc.) with `key_phrase`, `datetime`, and `time_zone`. Useful for building calendar integrations without parsing docket text.\n\nWhen calling with `include_live_pacer=true` to buy a fresh docket sheet from PACER, always pass `date_filed_from` to limit the purchase to entries newer than what CourtAPI already has. Omitting it buys the entire docket history — expensive for active cases.\n\n### `get_document`\nGet a PDF attached to a docket entry. Checks the cache first:\n- `is_cached=true` or `download_cost=\"0.00\"` → returns `download_url`, `preview_url`, and `ocr_link` at no cost\n- Not cached + `purchase=false` (default) → returns cost info so you can decide before spending\n- Not cached + `purchase=true` → buys from PACER, stores it, returns `download_url` + PACER `receipt`\n\n`docket_seq` comes from docket entries (e.g. `\"42.00000\"`). `part` defaults to 1 (main document); exhibits and attachments have higher part numbers.\n\nOnce purchased, the document is cached — all subsequent GETs are free.\n\n### `get_claims`\nGet the bankruptcy claims register — all proofs of claim filed by creditors, with amounts (filed/allowed/paid), claim type, creditor names, and filing dates. Essential for Chapter 11 creditor analysis.\n\nFilter by `claim_type` (secured, unsecured, priority, admin, etc.) and sort by claim number, filing date, or amendment date.\n\n### `get_parties`\nGet all parties in a case (debtors, creditors, plaintiffs, defendants, trustees) and optionally their attorneys with firm name, contact info, and bar number. Attorney records return `null` (not an error) when they haven't been purchased for this case — use `include_attorneys=false` to suppress the attorney fetch.\n\nUseful for conflicts checks, service lists, and identifying who is involved in a case.\n\n### `get_creditors`\nGet scheduled creditors from bankruptcy Schedules D/E/F. This is different from `get_claims` — creditors listed here may not have filed a proof of claim. Use both to get a complete creditor picture.\n\n### `ncl_search`\nSearch PACER's National Case Locator across all federal courts at once. More comprehensive than `find_cases` for party name searches because it queries PACER directly. Costs PACER credits.\n\nSupports: name searches, SSN/TIN lookups (with last name), case number, chapter, court, and date range filters. Paginate with `search_id` from the previous response.\n\n### `list_courts`\nList all ~200 PACER courts with their court codes and names. Filter by type: `bankruptcy`, `district`, or `appellate`.\n\nCommon codes: `nysbke` (NY Southern Bankruptcy), `debke` (Delaware Bankruptcy), `ilnbke` (IL Northern Bankruptcy), `cacdbe` (CA Central Bankruptcy), `txnbke` (TX Northern Bankruptcy).\n\n### `get_pacer_credentials`\nManage PACER credentials stored in CourtAPI. PACER credentials are required before any `include_live_pacer=true` call.\n\n| `action` | What it does |\n|---|---|\n| `check` | Show the stored PACER username (password not returned) |\n| `set` | Store `pacer_user` + `pacer_pass` (validates against PACER by default) |\n| `validate` | Test credentials against PACER without storing |\n| `delete` | Remove stored credentials |\n\n---\n\n## Understanding costs\n\nCourtAPI has two independent cost layers:\n\n**CourtAPI API credits** — charged by your CourtAPI plan. Free for: case GET lookups, party/title searches, docket GETs from cache, document GETs from cache. Costs 1 call per 25 results for keyword search (`search-filings`).\n\n**PACER fees** — charged by the US federal courts per page. Only incurred when:\n- `include_live_pacer=true` on dockets, claims, creditors, or case refresh\n- `purchase=true` on `get_document`\n\n`download_cost=\"0.00\"` means a document is cached and free to retrieve. Always check before purchasing.\n\n---\n\n## Case number format\n\nCourtAPI requires **long-form PACER case numbers**. PACER often shows short forms in its UI (e.g. `14-10557`) but the API always needs the full form.\n\n**Non-appellate courts (district, bankruptcy):**\n```\nO:YY-TT-NNNNN\n```\n- `O` — office/division number (e.g. `1`, `2`, `3`)\n- `YY` — two-digit filing year\n- `TT` — case type: `bk` bankruptcy, `cv` civil, `cr` criminal, `ap` adversary proceeding\n- `NNNNN` — sequence number\n\nExample: `1:14-bk-10557` (not `14-10557`)\n\n**Appellate courts:**\n```\nYY-NNNNN\n```\nExample: `23-1234`\n\nIf PACER shows a short form, use `find_cases` to resolve it. Always pair a case number with its `court_code` — the same sequence number can exist in multiple courts.\n\n---\n\n## PACER screenshots on updates\n\nWhen `get_dockets` or `get_claims` fetches live data from PACER (`include_live_pacer=true`), the response includes `links.screenshot.pdf.href` — a link to a PDF screenshot of the actual PACER page that was fetched. Useful for audit and compliance verification.\n\n---\n\n## License\n\nMIT — © CourtDrive. See [courtapi.com](https://www.courtapi.com) for API terms.\n",
  "bytes": 9940,
  "sha": "580f1bf35176f224456ae562b95ed9e0f414aa63444e2db257a66026ead7f519",
  "repo_slug": "courtio/courtapi-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_courtio_courtapi_mcp_6fb6b726/readme"
}