Cross-border debt collection over the Debitura Customer API. Submit overdue B2B/B2C claims and local collection partners in the debtor's country recover them on a no-cure-no-pay basis.
The Debitura MCP server demonstrates solid definition quality with consistent naming patterns, comprehensive parameter descriptions, and well-structured schemas across 16 tools. All tools follow verb_noun naming conventions (get_, list_, create_, send_, upload_, preview_). Parameter descriptions are detailed and specific, often including constraints (enums, ranges, formats). However, output schemas are not explicitly documented in the source code provided, and several tools lack clear guidance on when to use similar functionality (e.g., preview_case vs create_case, list_cases vs list_tasks). Error handling guidance is minimal. Tool definitions are explicitly registered (visible in src/server.ts and referenced in scripts/e2e.ts), not inferred.
Create a new collection case. Requires explicit user confirmation. Use preview_case first to verify eligibility and pricing.
Retrieve summary statistics for the creditor account: total cases, active cases, closed cases, and recovery metrics.
Retrieve full details of a single collection case by ID or reference.
Retrieve the activity timeline for a case, showing status changes and major events.
Check the status of required contracts (debt collection agreement, power of attorney) for a case.
Retrieve chat messages between creditor and collection partner on a case.
Output schemas are not documented in visible source code. While parameter input schemas are comprehensive (with types, descriptions, enums, required fields), the response structure for each tool is not explicitly defined. This forces LLMs to infer output fields and risks missing critical chaining IDs.
Error handling guidance is missing. Tool descriptions do not explain what happens on failure (e.g., invalid case ID, API rate limit, authentication failure) or how LLMs should recover. This breaks the pattern of actionable error messages.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 71 | 2026-07-28+ | v2 |
Retrieve payment records for a case, showing amounts recovered and payment dates.
Retrieve pending tasks for a specific case that need creditor action (e.g., sign contract, provide info).
List files uploaded to a case (invoices, evidence, correspondence).
List collection cases with pagination, filtering by lifecycle status, debtor, or case ID, and sorting by various fields.
List all pending tasks for the creditor account that require action.
List team members in the creditor account who can send messages and perform actions.
Verify the connection and confirm the creditor account identity.
Preview a case before creation: confirm eligibility, get assigned partner, show pricing and contract requirements without persisting the case.
Send a chat message to the collection partner on a case.
Upload a file (invoice, evidence, document) to a case.
Confirmation/dry-run pattern absent for destructive operations. create_case and send_case_message are irreversible but lack a confirmation request or dry-run mode. The description mentions 'explicit user confirmation' is required, but this is not enforced at the MCP protocol level, it relies on the client/agent to implement the safeguard.
Overlapping tool functionality not clearly disambiguated. preview_case and create_case are adjacent in intent; list_cases and list_tasks both list items. Descriptions do not explicitly contrast when to use one vs. the other, creating decision overhead for LLMs.
Natural identifiers not fully supported. Tools accept case IDs (GUIDs) and require them, but no lookup tool is exposed to search cases by human-friendly criteria (e.g., creditor reference, debtor name, amount range). Agents must know the GUID upfront or call list_cases and scan results.
Pagination is supported (page, pageSize parameters) but the total count or next_cursor is not documented as being returned. Without knowing total results, agents cannot intelligently plan pagination and risk infinite loops or missing data.