US business bankruptcy MCP: filings, dockets, documents, case summaries. Free tier + subscription.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer MCP API token for subscriber tools. Optional for free-tier lookups. X-API-Key also supported.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Add a bankruptcy case to your BankruptcyObserver.com monitoring list so BKO checks the court hourly and updates the docket every business day. Pass simple_name or a 7-digit case_number (with court when the number is reused). Subscribers only; respects your plan monitoring limit.
Court name as returned in the court field, for example "Delaware" or "Texas Southern".
7-digit short case number alternative to simple_name.
2-letter state. Matches every district in that state.
Case simpleName (e.g. SILVER-AIRWAYS).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Add a bankruptcy case to your BankruptcyObserver.com monitoring list so BKO checks the court hourly and updates the docket every business day. Pass simple_name or a 7-digit case_number (with court when the number is reused). Subscribers only; respects your plan monitoring limit.
| Argument | Type | Description |
|---|---|---|
| court | string | Court name as returned in the court field, for example "Delaware" or "Texas Southern". |
| case_number | string | 7-digit short case number alternative to simple_name. |
| court_state | string | 2-letter state. Matches every district in that state. |
| simple_name | string | Case simpleName (e.g. SILVER-AIRWAYS). |
{
"type": "object",
"required": [],
"properties": {
"court": {
"type": "string",
"description": "Court name as returned in the court field, for example \"Delaware\" or \"Texas Southern\"."
},
"case_number": {
"type": "string",
"description": "7-digit short case number alternative to simple_name."
},
"court_state": {
"type": "string",
"description": "2-letter state. Matches every district in that state."
},
"simple_name": {
"type": "string",
"description": "Case simpleName (e.g. SILVER-AIRWAYS)."
}
}
}Refresh one case from the court case summary and return the dates the court has on file (filed, last filing, converted, plan confirmed, discharged, dismissed, terminated, closed). Identifies the case by simpleName. Pass simple_name or a case number (with court when the number is reused). This calls the court, so use it for one case at a time. Single Case plan: monitored cases only. Subscribers only.
| Argument | Type | Description |
|---|---|---|
| court | string | Court name as returned in the court field, for example "Delaware" or "Texas Southern". |
| simpleName | string | Alias for simple_name. |
| case_number | string | 7-digit short case number alternative to simple_name. |
| court_state | string | 2-letter state. Matches every district in that state. |
| simple_name | string | Case simpleName (e.g. adaptive-phage-therapeutics). |
{
"type": "object",
"required": [],
"properties": {
"court": {
"type": "string",
"description": "Court name as returned in the court field, for example \"Delaware\" or \"Texas Southern\"."
},
"simpleName": {
"type": "string",
"description": "Alias for simple_name."
},
"case_number": {
"type": "string",
"description": "7-digit short case number alternative to simple_name."
},
"court_state": {
"type": "string",
"description": "2-letter state. Matches every district in that state."
},
"simple_name": {
"type": "string",
"description": "Case simpleName (e.g. adaptive-phage-therapeutics)."
}
}
}Check your MCP subscription status and remaining quota. Uses credentials from the request if api_key omitted.
| Argument | Type | Description |
|---|---|---|
| api_key | string |
{
"type": "object",
"required": [],
"properties": {
"api_key": {
"type": "string"
}
}
}Look up case(s) by short case number (e.g. 26-10543). FREE for 7-digit format (limited fields, all courts). Paid: full + live_update + court filter. Pass court with the court name from a case result to limit the lookup to one court.
| Argument | Type | Description |
|---|---|---|
| court | string | Court name as returned in the court field, for example "Delaware" or "Texas Southern". |
| court_state | string | 2-letter state. Matches every district in that state. |
| live_update | boolean | |
| short_case_number* | string |
{
"type": "object",
"required": [
"short_case_number"
],
"properties": {
"court": {
"type": "string",
"description": "Court name as returned in the court field, for example \"Delaware\" or \"Texas Southern\"."
},
"court_state": {
"type": "string",
"description": "2-letter state. Matches every district in that state."
},
"live_update": {
"type": "boolean"
},
"short_case_number": {
"type": "string"
}
}
}Look up case by debtor EIN. Paid (full data + optional last filing date). live_update (subscribers) triggers one-time source refresh.
| Argument | Type | Description |
|---|---|---|
| debtor_ein* | string | |
| live_update | boolean | One-time refresh from source (subscribers only). |
| include_last_filing | boolean | Include lastFilingDate from docket (slower). |
{
"type": "object",
"required": [
"debtor_ein"
],
"properties": {
"debtor_ein": {
"type": "string"
},
"live_update": {
"type": "boolean",
"description": "One-time refresh from source (subscribers only)."
},
"include_last_filing": {
"type": "boolean",
"description": "Include lastFilingDate from docket (slower)."
}
}
}Plain-English structured summary of one case: debtor, chapter, court, case number, key dates (filed, plan confirmed, discharged, closed), asset/liability ranges, nature of business, judge, and AI-extracted case profile data when available. ranges.assets and ranges.liabilities are the petition checkbox buckets (including "Unknown"). amounts.assets and amounts.liabilities are numeric dollar totals only, and are null when the stored value is a range label rather than a point amount. Null is not zero. Pass simple_name (preferred, see list_monitored_cases_tool) or a 7-digit case_number. Subscribers only.
| Argument | Type | Description |
|---|---|---|
| court | string | Court name as returned in the court field, for example "Delaware" or "Texas Southern". |
| case_number | string | 7-digit short case number (e.g. 26-10543). Pass court to pick one court when the number is reused. |
| court_state | string | 2-letter state. Matches every district in that state. |
| simple_name | string | Case simpleName (e.g. SILVER-AIRWAYS). |
{
"type": "object",
"required": [],
"properties": {
"court": {
"type": "string",
"description": "Court name as returned in the court field, for example \"Delaware\" or \"Texas Southern\"."
},
"case_number": {
"type": "string",
"description": "7-digit short case number (e.g. 26-10543). Pass court to pick one court when the number is reused."
},
"court_state": {
"type": "string",
"description": "2-letter state. Matches every district in that state."
},
"simple_name": {
"type": "string",
"description": "Case simpleName (e.g. SILVER-AIRWAYS)."
}
}
}US business bankruptcy cases filed in a date range (dateFiled). Individual debtors and adversary proceedings (lawsuits) are omitted unless include_individuals or include_adversary is true. Omitting both dates defaults to yesterday. start_date and end_date are inclusive calendar days (YYYY-MM-DD), including filings later that day. Case numbers are shortCaseNumber. total is the full match count, not the page size. limit is one page (max 500, default 100); pass skip or offset for the next page. has_more is true when more rows remain. Paid.
| Argument | Type | Description |
|---|---|---|
| skip | integer | Rows to skip. Alias: offset. skip wins when both are set. |
| limit | integer | Max rows in this page (1-500). Default 100. total is the full match count. |
| offset | integer | Alias for skip. |
| end_date | string | YYYY-MM-DD. Inclusive through the end of that calendar day. |
| start_date | string | YYYY-MM-DD. Inclusive of that whole calendar day. |
| include_adversary | boolean | Include adversary proceedings (lawsuits). Default false. |
| include_individuals | boolean | Include individual debtors. Default false (business filings only). |
US business bankruptcy cases by industry label or key (Hotels, Retail, real-estate, etc.). Individual debtors and adversary proceedings (lawsuits) are omitted unless include_individuals or include_adversary is true. start_date and end_date are inclusive calendar days (YYYY-MM-DD). When a date is set, total is the full match count and skip (or offset) pages past limit (max 100). Paid.
| Argument | Type | Description |
|---|---|---|
| skip | integer | Rows to skip. Alias: offset. skip wins when both are set. |
| limit | integer | Max rows in this page (1-100). Default 25. |
| offset | integer | Alias for skip. |
| end_date | string | Filed on or before this date (YYYY-MM-DD), inclusive through the end of that day. |
| industry* | string | |
| start_date | string | Filed on or after this date (YYYY-MM-DD), inclusive of that whole day. |
| include_adversary | boolean | Include adversary proceedings (lawsuits). Default false. |
| include_individuals | boolean | Include individual debtors. Default false (business filings only). |
US business bankruptcy cases by NAICS (2-4 digits). Individual debtors and adversary proceedings (lawsuits) are omitted unless include_individuals or include_adversary is true. start_date and end_date are inclusive calendar days (YYYY-MM-DD). When a date is set, total is the full match count and skip (or offset) pages past limit (max 100). Paid.
| Argument | Type | Description |
|---|---|---|
| skip | integer | Rows to skip. Alias: offset. skip wins when both are set. |
| limit | integer | Max rows in this page (1-100). Default 25. |
| naics* | string | |
| offset | integer | Alias for skip. |
| end_date | string | Filed on or before this date (YYYY-MM-DD), inclusive through the end of that day. |
| start_date | string | Filed on or after this date (YYYY-MM-DD), inclusive of that whole day. |
| include_adversary | boolean | Include adversary proceedings (lawsuits). Default false. |
| include_individuals | boolean | Include individual debtors. Default false (business filings only). |
US business bankruptcy cases by debtor state (2-letter). Individual debtors and adversary proceedings (lawsuits) are omitted unless include_individuals or include_adversary is true. start_date and end_date are inclusive calendar days (YYYY-MM-DD). When a date is set, total is the full match count and skip (or offset) pages past limit (max 100). Paid.
| Argument | Type | Description |
|---|---|---|
| skip | integer | Rows to skip. Alias: offset. skip wins when both are set. |
| limit | integer | Max rows in this page (1-100). Default 25. |
| state* | string | |
| offset | integer | Alias for skip. |
| end_date | string | Filed on or before this date (YYYY-MM-DD), inclusive through the end of that day. |
| start_date | string | Filed on or after this date (YYYY-MM-DD), inclusive of that whole day. |
| include_adversary | boolean | Include adversary proceedings (lawsuits). Default false. |
| include_individuals | boolean | Include individual debtors. Default false (business filings only). |
Docket entries for a case, ordered by itemNumber ascending. Each entry includes the full PACER itemText (never sliced). The case is identified by simpleName. Call get_document_tool with simple_name and item_number (no accept_charge) for an inline cost preview, then again with accept_charge: true to download the PDF. Pass simple_name (preferred, see list_monitored_cases_tool) or short_case_number / case_number (e.g. 26-42901; use court or court_state to disambiguate). Optional item_number or item_from/item_to to fetch specific entries. Single Case plan: monitored cases only. limit max 50 (default 25); pass skip (or offset, or 1-based page) to walk past the first block. A page may contain fewer than limit entries so every caption stays complete for MCP clients. Response includes total, skip, limit, returned, and has_more. Optional live_update refreshes from court sources first. Subscribers only.
| Argument | Type | Description |
|---|---|---|
| page | integer | 1-based page number; equivalent to skip=(page-1)*limit. Ignored if skip or offset is set. |
| skip | integer | Number of entries to skip before returning results (default 0). Example: limit=50, skip=50 returns items 51–100. |
| court | string | Court name as returned in the court field, for example "Delaware" or "Texas Southern". |
| limit | integer | Max entries to return (default 25, max 50). Combine with skip to walk the full docket. itemText is never cut; a page may return fewer than this when captions are long. |
| offset | integer | Alias for skip. |
| item_to |
Preview the cost to download a court filing PDF. Identify the entry with simple_name and item_number. Does not pull the document and does not charge. Same preview as get_document_tool when accept_charge/download is omitted. Confirm the cost with the user before download. Cost is $0 if already purchased, or if the PDF is already in our library and the plan has flagFreeLibrary. Free-page allowances (if any) come from plan limitDocuments and apply to billable pulls. Returns simpleName, item_number, page_count, chargeable_pages, cost, plan_limit_documents, pages_used_this_period, free_pages_remaining, document_in_library, and already_owned.
| Argument | Type | Description |
|---|---|---|
| download | boolean | Optional legacy alias for accept_charge:true (some connectors cannot pass accept_charge). |
| docket_id | string | Optional. A docket entry id already known to the caller. Responses identify filings by simpleName and item_number instead. |
| item_number | integer | Docket item number (e.g. 1 for the petition). Use with simple_name. |
| simple_name | string | Case simpleName (e.g. 1251-pacific-st). Use with item_number. |
| accept_charge | boolean | Optional. Omit or false for cost preview only. true after the user explicitly approves the previewed cost. |
{
"type": "object",
"required": [],
"properties": {
"download": {
"type": "boolean",
"description": "Optional legacy alias for accept_charge:true (some connectors cannot pass accept_charge)."
},
"docket_id": {
"type": "string",
"description": "Optional. A docket entry id already known to the caller. Responses identify filings by simpleName and item_number instead."
},
"item_number": {
"type": "integer",
"description": "Docket item number (e.g. 1 for the petition). Use with simple_name."
},
"simple_name": {
"type": "string",
"description": "Case simpleName (e.g. 1251-pacific-st). Use with item_number."
},
"accept_charge": {
"type": "boolean",
"description": "Optional. Omit or false for cost preview only. true after the user explicitly approves the previewed cost."
}
}
}Court filing PDF. Identify the entry with simple_name and item_number. Step 1: cost preview — omit accept_charge/download or set false. Step 2: after user confirms, call with the same simple_name and item_number plus accept_charge:true or download:true to purchase and download (signed URL). The response identifies the case by simpleName. Pulls from PACER when needed.
| Argument | Type | Description |
|---|---|---|
| download | boolean | Optional legacy alias for accept_charge:true (some connectors cannot pass accept_charge). |
| docket_id | string | Optional. A docket entry id already known to the caller. Responses identify filings by simpleName and item_number instead. |
| item_number | integer | Docket item number (e.g. 1 for the petition). Use with simple_name. |
| simple_name | string | Case simpleName (e.g. 1251-pacific-st). Use with item_number. |
| accept_charge | boolean | Optional. Omit or false for cost preview only. true after the user explicitly approves the previewed cost. |
{
"type": "object",
"required": [],
"properties": {
"download": {
"type": "boolean",
"description": "Optional legacy alias for accept_charge:true (some connectors cannot pass accept_charge)."
},
"docket_id": {
"type": "string",
"description": "Optional. A docket entry id already known to the caller. Responses identify filings by simpleName and item_number instead."
},
"item_number": {
"type": "integer",
"description": "Docket item number (e.g. 1 for the petition). Use with simple_name."
},
"simple_name": {
"type": "string",
"description": "Case simpleName (e.g. 1251-pacific-st). Use with item_number."
},
"accept_charge": {
"type": "boolean",
"description": "Optional. Omit or false for cost preview only. true after the user explicitly approves the previewed cost."
}
}
}What happened recently? Docket entries since a date (default: last 7 days) for one monitored case (simple_name) or ALL your monitored cases when simple_name is omitted. Newest first, with item numbers, dates, full itemText (never sliced), and counts. A page may contain fewer than limit entries so every caption stays complete. Subscribers only.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max entries (default 100, max 250). |
| since_date | string | YYYY-MM-DD; default 7 days ago. |
| simple_name | string | Optional case simpleName; omit for all monitored cases. |
{
"type": "object",
"required": [],
"properties": {
"limit": {
"type": "integer",
"description": "Max entries (default 100, max 250)."
},
"since_date": {
"type": "string",
"description": "YYYY-MM-DD; default 7 days ago."
},
"simple_name": {
"type": "string",
"description": "Optional case simpleName; omit for all monitored cases."
}
}
}List the cases on your BankruptcyObserver.com monitoring list (simpleName, name, chapter, court, case number, dateFiled, last docket date). Pass simple_name to get_docket_entries_tool. Requires your MCP token to be linked to your subscriber account. Subscribers only.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}List available BKO subscription plans (sourced from VwSubscriptions where service = BKO) with current pricing and agent tiers. No auth required.
No arguments.
{
"type": "object",
"required": [],
"properties": {}
}Get Stripe checkout URL for a plan. No auth required. Pass plan_id (from list_plans_tool) and optional email.
| Argument | Type | Description |
|---|---|---|
| string | Optional email to prefill on Stripe checkout | |
| plan_id* | string | Plan id or stripe price id from list_plans_tool |
{
"type": "object",
"required": [
"plan_id"
],
"properties": {
"email": {
"type": "string",
"description": "Optional email to prefill on Stripe checkout"
},
"plan_id": {
"type": "string",
"description": "Plan id or stripe price id from list_plans_tool"
}
}
}Request an immediate docket refresh from court sources for one case (slower; use when you need the latest filings now). Pass simple_name or case_number. Single Case plan: monitored cases only. Full Access: any case. Subscribers only.
| Argument | Type | Description |
|---|---|---|
| court | string | Court name as returned in the court field, for example "Delaware" or "Texas Southern". |
| case_number | string | 7-digit short case number alternative. |
| court_state | string | 2-letter state. Matches every district in that state. |
| simple_name | string | Case simpleName. |
{
"type": "object",
"required": [],
"properties": {
"court": {
"type": "string",
"description": "Court name as returned in the court field, for example \"Delaware\" or \"Texas Southern\"."
},
"case_number": {
"type": "string",
"description": "7-digit short case number alternative."
},
"court_state": {
"type": "string",
"description": "2-letter state. Matches every district in that state."
},
"simple_name": {
"type": "string",
"description": "Case simpleName."
}
}
}Search US business bankruptcy cases by debtor name. Individual debtors and adversary proceedings (lawsuits) are omitted unless include_individuals or include_adversary is true. Case numbers are shortCaseNumber. FREE (exact/prefix, no *): limited fields, no auth. Use *term for contains (paid). Optional court filter uses the court name returned on a case (for example "Delaware" or "Texas Southern"). total is the full match count; pass skip for the next page.
| Argument | Type | Description |
|---|---|---|
| skip | integer | Offset for paging. |
| court | string | Court name as returned in the court field, for example "Delaware" or "Texas Southern". |
| limit | integer | Max results (1-100). Default 25. |
| court_state | string | 2-letter state. Matches every district in that state. |
| search_term | string | Debtor name (prefix or *contains) |
| include_adversary | boolean | Include adversary proceedings (lawsuits). Default false. |
| include_individuals | boolean | Include individual debtors. Default false (business filings only). |
{
"type": "object",
"required": [],
"properties": {
"skip": {
"type": "integer",
"description": "Offset for paging."
},
"court": {
"type": "string",
"description": "Court name as returned in the court field, for example \"Delaware\" or \"Texas Southern\"."
},
"limit": {
"type": "integer",
"description": "Max results (1-100). Default 25."
},
"court_state": {
"type": "string",
"description": "2-letter state. Matches every district in that state."
},
"search_term": {
"type": "string",
"description": "Debtor name (prefix or *contains)"
},
"include_adversary": {
"type": "boolean",
"description": "Include adversary proceedings (lawsuits). Default false."
},
"include_individuals": {
"type": "boolean",
"description": "Include individual debtors. Default false (business filings only)."
}
}
}{
"type": "object",
"required": [],
"properties": {
"skip": {
"type": "integer",
"description": "Rows to skip. Alias: offset. skip wins when both are set."
},
"limit": {
"type": "integer",
"description": "Max rows in this page (1-500). Default 100. total is the full match count."
},
"offset": {
"type": "integer",
"description": "Alias for skip."
},
"end_date": {
"type": "string",
"description": "YYYY-MM-DD. Inclusive through the end of that calendar day."
},
"start_date": {
"type": "string",
"description": "YYYY-MM-DD. Inclusive of that whole calendar day."
},
"include_adversary": {
"type": "boolean",
"description": "Include adversary proceedings (lawsuits). Default false."
},
"include_individuals": {
"type": "boolean",
"description": "Include individual debtors. Default false (business filings only)."
}
}
}{
"type": "object",
"required": [
"industry"
],
"properties": {
"skip": {
"type": "integer",
"description": "Rows to skip. Alias: offset. skip wins when both are set."
},
"limit": {
"type": "integer",
"description": "Max rows in this page (1-100). Default 25."
},
"offset": {
"type": "integer",
"description": "Alias for skip."
},
"end_date": {
"type": "string",
"description": "Filed on or before this date (YYYY-MM-DD), inclusive through the end of that day."
},
"industry": {
"type": "string"
},
"start_date": {
"type": "string",
"description": "Filed on or after this date (YYYY-MM-DD), inclusive of that whole day."
},
"include_adversary": {
"type": "boolean",
"description": "Include adversary proceedings (lawsuits). Default false."
},
"include_individuals": {
"type": "boolean",
"description": "Include individual debtors. Default false (business filings only)."
}
}
}{
"type": "object",
"required": [
"naics"
],
"properties": {
"skip": {
"type": "integer",
"description": "Rows to skip. Alias: offset. skip wins when both are set."
},
"limit": {
"type": "integer",
"description": "Max rows in this page (1-100). Default 25."
},
"naics": {
"type": "string"
},
"offset": {
"type": "integer",
"description": "Alias for skip."
},
"end_date": {
"type": "string",
"description": "Filed on or before this date (YYYY-MM-DD), inclusive through the end of that day."
},
"start_date": {
"type": "string",
"description": "Filed on or after this date (YYYY-MM-DD), inclusive of that whole day."
},
"include_adversary": {
"type": "boolean",
"description": "Include adversary proceedings (lawsuits). Default false."
},
"include_individuals": {
"type": "boolean",
"description": "Include individual debtors. Default false (business filings only)."
}
}
}{
"type": "object",
"required": [
"state"
],
"properties": {
"skip": {
"type": "integer",
"description": "Rows to skip. Alias: offset. skip wins when both are set."
},
"limit": {
"type": "integer",
"description": "Max rows in this page (1-100). Default 25."
},
"state": {
"type": "string"
},
"offset": {
"type": "integer",
"description": "Alias for skip."
},
"end_date": {
"type": "string",
"description": "Filed on or before this date (YYYY-MM-DD), inclusive through the end of that day."
},
"start_date": {
"type": "string",
"description": "Filed on or after this date (YYYY-MM-DD), inclusive of that whole day."
},
"include_adversary": {
"type": "boolean",
"description": "Include adversary proceedings (lawsuits). Default false."
},
"include_individuals": {
"type": "boolean",
"description": "Include individual debtors. Default false (business filings only)."
}
}
}| integer |
| Filter to items with itemNumber <= this value. |
| docket_id | string | Return only this docket entry (40-character hex hash). Full itemText. |
| item_from | integer | Filter to items with itemNumber >= this value. |
| case_number | string | Short or full case number (e.g. 26-42901 or 1-26-42901). Pass court to pick one court when the number is reused. |
| court_state | string | 2-letter state. Matches every district in that state. |
| item_number | integer | Return only this docket item number. Full itemText. |
| live_update | boolean |
| simple_name | string | Case simpleName (e.g. 1251-pacific-st-llc). |
| short_case_number | string | Alias for case_number. |
{
"type": "object",
"required": [],
"properties": {
"page": {
"type": "integer",
"description": "1-based page number; equivalent to skip=(page-1)*limit. Ignored if skip or offset is set."
},
"skip": {
"type": "integer",
"description": "Number of entries to skip before returning results (default 0). Example: limit=50, skip=50 returns items 51–100."
},
"court": {
"type": "string",
"description": "Court name as returned in the court field, for example \"Delaware\" or \"Texas Southern\"."
},
"limit": {
"type": "integer",
"description": "Max entries to return (default 25, max 50). Combine with skip to walk the full docket. itemText is never cut; a page may return fewer than this when captions are long."
},
"offset": {
"type": "integer",
"description": "Alias for skip."
},
"item_to": {
"type": "integer",
"description": "Filter to items with itemNumber <= this value."
},
"docket_id": {
"type": "string",
"description": "Return only this docket entry (40-character hex hash). Full itemText."
},
"item_from": {
"type": "integer",
"description": "Filter to items with itemNumber >= this value."
},
"case_number": {
"type": "string",
"description": "Short or full case number (e.g. 26-42901 or 1-26-42901). Pass court to pick one court when the number is reused."
},
"court_state": {
"type": "string",
"description": "2-letter state. Matches every district in that state."
},
"item_number": {
"type": "integer",
"description": "Return only this docket item number. Full itemText."
},
"live_update": {
"type": "boolean"
},
"simple_name": {
"type": "string",
"description": "Case simpleName (e.g. 1251-pacific-st-llc)."
},
"short_case_number": {
"type": "string",
"description": "Alias for case_number."
}
}
}