TrollerBk — MCP
Public documentation for the TrollerBk Model Context Protocol server. It exposes market-wide US business bankruptcy intelligence (filings, case screening, EIN lookups, docket access, court documents) plus personalized custom subscriber reports.
Unlike PACER (which requires knowing a specific case), TrollerBk answers cross-case and market questions.
Website: trollerbk.com
MCP docs: trollerbk.com/mcp
Contact: support@trollerbk.com
Laravel controller: Laravel13/app/Http/Controllers/TRBK/TrbkMcpController.php
MCP endpoint
| Transport | Streamable HTTP (JSON-RPC 2.0 over HTTPS) |
| URL | https://mcp.trollerbk.com/mcp |
| Auth | Required for all calls (including initialize and tools/list) |
| Server name | trbk-mcp |
Send a standard MCP session: initialize → notifications/initialized (optional) → tools/list → tools/call.
Authentication
All requests require a valid TrollerBk credential. Prefer headers / OAuth when the client supports them:
Authorization: Bearer <your-api-token>X-API-Key: <your-api-token>(optionally withX-Client-Email)- OAuth Bearer token via the shared MCP OAuth flow
URL token (header-less clients, e.g. Grok web connectors)
Some clients cannot attach Authorization headers or complete OAuth. For those, put the API token in the MCP URL. Treat the full URL as a secret (do not share or commit it).
| Form | URL |
|---|---|
| Query (recommended) | https://mcp.trollerbk.com/mcp?api_key=YOUR_TOKEN |
| Path | https://mcp.trollerbk.com/mcp/t/YOUR_TOKEN |
Also accepted as query keys: api_token, access_token, token. Leave the connector’s auth field empty when the key is already in the URL.
curl -X POST "https://mcp.trollerbk.com/mcp?api_key=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
API tokens are obtained via subscription (subscriber dashboard MCP setup shows a copyable Grok URL). Requests without valid credentials return a JSON-RPC auth error (HTTP 401).
The authorize page takes a pasted API token. It does not ask for an email and password. redirect_uri must exactly match a URI registered for that client. Dynamic registration rejects a non-https URI, and a Google host that is not an official oauth-redirect prefix with an /r/ or /a/ path. Refresh tokens rotate, except a client registered with an official Google redirect keeps the same refresh token and gets a new access token. Revoking a refresh token also revokes its access token.
OAuth discovery endpoints are available at the MCP host root:
GET https://mcp.trollerbk.com/.well-known/oauth-authorization-serverGET https://mcp.trollerbk.com/.well-known/oauth-protected-resource
Core tools
These tools are always available to authenticated users.
get_new_filings
Recent US business bankruptcy filings.
| Parameter | Type | Description |
|---|---|---|
days |
integer | Trailing window in days (1–90); default 7 |
chapter |
integer | Bankruptcy chapter (7, 11, etc.) |
state |
string | Two-letter US state |
industry |
string | Industry / nature of business keyword |
limit |
integer | Max results (1–100); default 25 |
search_cases
Screen bankruptcy cases by multiple criteria.
| Parameter | Type | Description |
|---|---|---|
name |
string | Debtor name keyword |
chapter |
integer | Bankruptcy chapter |
state |
string | Two-letter US state |
industry |
string | Industry keyword |
status |
string | open or closed; default open |
date_from |
string | Filed on or after (YYYY-MM-DD) |
date_to |
string | Filed on or before (YYYY-MM-DD) |
limit |
integer | Max results (1–100); default 25 |
get_case_details
Full case record for a single bankruptcy by TrollerBk simple_name identifier.
| Parameter | Type | Required | Description |
|---|---|---|---|
simple_name |
string | yes | TrollerBk simpleName (e.g. acme-corp-24-00123) |
Returns caseId and core fields; simpleName, fullCaseNumber, and lead flag are not included in the response.
search_by_ein
All bankruptcy cases for a debtor EIN.
| Parameter | Type | Required | Description |
|---|---|---|---|
ein |
string | yes | Nine-digit EIN (with or without hyphen) |
get_case_by_number
Resolve a court case number to basic case records.
| Parameter | Type | Required | Description |
|---|---|---|---|
case_number |
string | yes | Short court case number (e.g. 24-10001) |
case_status
Refresh one case from the court case summary and return the dates the court has on file. This calls the court, so use it for one case at a time. The response identifies the case by simpleName and includes name, chapter, and dates. Only dates that have a value are returned: filed, last filing, converted, plan confirmed, discharged (including joint), dismissed (including joint), terminated, closed, and the time the summary was saved. A calendar date is YYYY-MM-DD.
| Parameter | Type | Description |
|---|---|---|
simple_name |
string | TrollerBk simpleName. simpleName is accepted as an alias |
case_id |
string | Internal TrollerBk caseId |
case_number |
string | Short court case number. If more than one case uses it, pass simple_name or case_id |
get_docket
Docket entries for a case. Returns docketId, caseId, itemText, itemDate, pageCount. Defaults to the first 10 items ordered by itemNumber ascending.
| Parameter | Type | Description |
|---|---|---|
case_id |
string | Internal TrollerBk caseId |
simple_name |
string | TrollerBk simpleName |
case_number |
string | Short court case number |
date_from |
string | Filter items on or after (YYYY-MM-DD) |
date_to |
string | Filter items on or before (YYYY-MM-DD) |
item_from |
integer | Filter items with itemNumber ≥ value |
item_to |
integer | Filter items with itemNumber ≤ value |
limit |
integer | Max items (default 10, max 100) |
Use returned docketId values with document tools below.
get_document_cost
Preview cost to obtain a full court document PDF. Does not pull or charge. Call this before request_document.
| Parameter | Type | Description |
|---|---|---|
docket_id |
string | docketId or claims register document ID |
pacer_rss_id |
string | pacerRSSItemId or rssId from custom report rows |
docket_ids |
array | Multiple docket IDs |
pacer_rss_ids |
array | Multiple pacer RSS IDs |
request_document
Request (pull if needed + charge if applicable) the full PDF document. Prefer calling get_document_cost first.
| Parameter | Type | Description |
|---|---|---|
docket_id |
string | docketId or claims register document ID |
pacer_rss_id |
string | pacerRSSItemId or rssId from custom report rows |
docket_ids |
array | Multiple docket IDs |
pacer_rss_ids |
array | Multiple pacer RSS IDs |
zip |
boolean | Deliver all documents as one zip with manifest |
get_claims_register
Claims register for one case: creditor, claim number, filed date, amounts, status, and the proof-of-claim documents linked to each claim. Use a POC entry's claims_register_doc_id with get_poc_document.
| Parameter | Type | Description |
|---|---|---|
simple_name |
string | TrollerBk simpleName |
case_id |
string | Internal TrollerBk caseId |
case_number |
string | Short court case number |
creditor |
string | Creditor name contains this text |
description |
string | Description contains this text |
claim_number |
string | Exact claim number |
search |
string | Free-text match against creditor, description, or claim number |
date_from |
string | Claims filed on or after (YYYY-MM-DD) |
date_to |
string | Claims filed on or before (YYYY-MM-DD) |
limit |
integer | Max claims (1–500). Default 100 |
offset |
integer | Claims to skip |
get_poc_document
Retrieve one or more proof-of-claim PDFs. A single document returns a download link. Several are delivered as one zip with a manifest. Set cost_only to preview the cost without pulling or charging.
| Parameter | Type | Description |
|---|---|---|
claims_register_doc_id |
string | One proof-of-claim document id from get_claims_register |
claims_register_doc_ids |
array | Several proof-of-claim document ids |
cost_only |
boolean | Preview cost only |
zip |
boolean | Deliver as a zip. Forced when more than one id is requested |
Custom report tools (custom_*)
When authenticated with a subscriber API token linked to VwClientAuth, the server dynamically registers personalized custom reports from the TrollerBk CustomReports register. Tool names follow the pattern custom_<report_slug>.
Examples that may appear depending on your subscription:
custom_admin_expcustom_sale_motioncustom_schedulescustom_adversary_proceedings
Exact custom tools and schemas are returned live from tools/list for your token.
MCP Registry
Listed in the official MCP Registry as com.trollerbk/mcp.
- Registry manifest:
server.json - Search:
https://registry.modelcontextprotocol.io/v0.1/servers?search=com.trollerbk
Example: Cursor / IDE config
{
"mcpServers": {
"trollerbk": {
"type": "streamableHttp",
"url": "https://mcp.trollerbk.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_TROLLERBK_API_TOKEN"
}
}
}
}
License and data
Bankruptcy data is aggregated from public court records (PACER-derived). Access and use are subject to TrollerBk terms of service and subscriber agreements.