# com.debitura/mcp-server (remote · mcp.debitura.com)

Cross-border debt collection: submit and track cases handled by local partners in 183 countries.

- Trust score: 78/100 (medium)
- Change this week: +7
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.debitura.com`: 78/100 (this document), [markdown](https://verifymcp.io/servers/com-debitura-mcp-server/mcp.md), [page](https://verifymcp.io/servers/com-debitura-mcp-server/mcp)

## Channel facts

- Endpoint: `https://mcp.debitura.com/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 83/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, but the challenge carries no valid RFC 9728 metadata, so a client cannot discover where to get a token.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 80/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2821 tokens (~148/item across 19 items; 16 tools + 3 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http com-debitura-mcp-server https://mcp.debitura.com/mcp
```

### Codex

```toml
[mcp_servers.com-debitura-mcp-server]
url = "https://mcp.debitura.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-debitura-mcp-server": {
      "type": "remote",
      "url": "https://mcp.debitura.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-debitura-mcp-server --url https://mcp.debitura.com/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-debitura-mcp-server:
    url: "https://mcp.debitura.com/mcp"
```

### Other

```json
{
  "mcpServers": {
    "com-debitura-mcp-server": {
      "type": "http",
      "url": "https://mcp.debitura.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 78, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 77, +4)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 73, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 73, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 71, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 71)

First indexed and scored.

## MCP tools (16)

### `ping` (~36 tokens)

Test Connection

Verify the connection to Debitura and show which creditor account the API key belongs to. Call this first to confirm the integration is set up correctly.

### `list_cases` (~353 tokens)

List Cases

List the creditor's debt collection cases with pagination, status filtering, and sorting. Returns compact case summaries: reference, debtor name + country, amounts, lifecycle, partner, key dates. Use get_case for full detail on a specific case.

Lifecycle values (statuses filter and output):
\`PendingContractSigning` · `PendingVerificationInternal` · `PendingVerification` · `NeedsAdditionalDetails` · `Leads` · `LeadsQuoteGiven` · `Active` · `Paused` · `Closed` · `Merged`

Sortable fields: `DateCreated` · `DateUpdated` · `DateFinished` · `DateCollectionStarted` · `DueDate` · `Date` · `GrossAmount` · `Remainder` · `InterestFees` · `CollectionFees`
Sort format: `Field:asc` or `Field:desc`, e.g. `GrossAmount:desc`

Note: results include the creditor's own test cases; the `isTestCase` flag on each case marks them.

Input parameters:

- `page` (integer): Page number, starting from 1 (default 1)
- `pageSize` (integer): Results per page (default 10, max 100)
- `sort` (string): Sort expression: Field:asc or Field:desc. Valid fields: DateCreated, DateUpdated, DateFinished, DateCollectionStarted, DueDate, Date, GrossAmount, Remainder, InterestFees, CollectionFees. Example: Gr…
- `statuses` (array): Filter by lifecycle status. Values: PendingContractSigning, PendingVerificationInternal, PendingVerification, NeedsAdditionalDetails, Leads, LeadsQuoteGiven, Active, Paused, Closed, Merged

### `get_case` (~109 tokens)

Get Case

Fetch one collection case in full detail. Look it up by Debitura case ID (GUID), by your own creditor reference (e.g. invoice number), or by the Debitura case reference shown in the portal. Provide exactly one of the three identifiers.

Input parameters:

- `caseReference` (string): Debitura case reference as shown in the portal
- `creditorReference` (string): Your own reference for the case (e.g. invoice number)
- `id` (string): Debitura case ID (GUID)

### `get_case_activity` (~103 tokens)

Get Case Activity

Fetch the chronological timeline of a case — what has happened so far: status changes, partner actions, communications, and payments. Returns an envelope `{ items, currentEngagementPhase }`: `items` is the chronological event list, and `currentEngagementPhase` is the case's current engagement phase ("Pre-legal", "Legal", or "Enforcement"; null when no active engagement exists).

Input parameters:

- `caseId` (string, required): Debitura case ID (GUID)

### `get_case_messages` (~82 tokens)

Get Case Messages

Read the chat conversation on a case between you and the collection partner handling it. Each message includes: senderName, role (Creditor / Partner / Managed by partner), sentAt (UTC), message. See the debitura://glossary/chat-roles resource for what each role means.

Input parameters:

- `caseId` (string, required): Debitura case ID (GUID)

### `get_case_payments` (~37 tokens)

Get Case Payments

List every payment recorded on a case — money recovered so far.

Input parameters:

- `caseId` (string, required): Debitura case ID (GUID)

### `get_case_contract_status` (~55 tokens)

Get Case Contract Status

Check which contracts (e.g. debt collection agreement, power of attorney) are signed or still blocking a case, including signing URLs for any outstanding documents.

Input parameters:

- `caseId` (string, required): Debitura case ID (GUID)

### `preview_case` (~206 tokens)

Preview Case (Pricing & Eligibility)

Dry-run a collection case BEFORE creating it: returns eligibility, the assigned collection partner, pricing (success fee), and any contracts that would need signing. Nothing is persisted. ALWAYS call this before create_case and show the user the pricing and requirements.

Input parameters:

- `amountToRecover` (number, required): Total principal amount to recover
- `currencyCode` (string, required): ISO 4217 currency code, e.g. "EUR", "USD", "DKK"
- `debtorCountryAlpha2` (string, required): Debtor country, ISO 3166-1 alpha-2, e.g. "DE", "US"
- `debtorStateAlpha2` (string): US state code, e.g. "CA" — REQUIRED when the debtor is in the United States
- `debtorType` (string, required): Company (B2B) or Private individual (B2C)
- `dueDate` (string): Invoice due date (ISO 8601) — used to compute debt age for pricing

### `list_team_members` (~72 tokens)

List Team Members

List the team members on the creditor's Debitura account. Use this to resolve a valid sender (userId or email) before calling send_case_message, or a case owner for create_case.

Input parameters:

- `page` (integer): Page number (default 1)
- `pageSize` (integer): Results per page

### `list_case_files` (~89 tokens)

List Case Files

List all documents attached to a case: file name, document type, description, upload date, and a time-limited SAS download URL. Each file also carries downloadUrlExpiresAt (UTC) — when the download URL stops working, so a cached URL can be refreshed in time. Use upload_case_file to attach new documents.

Input parameters:

- `caseId` (string, required): Debitura case ID (GUID)

### `get_account_summary` (~94 tokens)

Get Account Summary

Return a count of cases per lifecycle stage for the creditor's account. Useful for a quick portfolio overview without listing all cases. Stages: PendingContractSigning, PendingVerificationInternal, PendingVerification, NeedsAdditionalDetails, Leads, LeadsQuoteGiven, Active, Paused, Closed, Merged. Note: these counts include the creditor's own test cases; list_cases exposes the `isTestCase` flag that marks them.

### `list_tasks` (~373 tokens)

List Tasks

List every open task (action-item) across your whole account — things the platform needs you to do before a case (or your account) can proceed: reply to a chat, sign a contract, assign a bank account, and so on. Use get_case_tasks instead to scope this to one case.

Tasks auto-resolve once the underlying condition clears — e.g. replying to a case's chat makes its ReplyToChat task disappear on its own. Treat this as a live work queue, not a log: a task seen on one call may no longer be open on the next.

Every task carries a solutionUrl — an absolute link a human can open to resolve it in one click, whatever the type. Some types (today: ReplyToChat, ClientInputRequired, MoreInfoNeeded) additionally carry a non-null `action` pointing at the exact API call that resolves them — for those, call send_case_message with the task's caseId instead of sending a human to solutionUrl. Tasks without an action rely on solutionUrl alone.

Task types: Generic, ReplyToChat, SelectQuoteWinner, ReviewPartner, ClientInputRequired, SignContract, MoreInfoNeeded, AssignBankAccount, CaseValidationNeedsInfo.

Input parameters:

- `page` (integer): Page number, starting from 1 (default 1)
- `pageSize` (integer): Results per page (default 10, max 100)
- `status` (string): Filter by task status. "Open" (default) or "Solved".
- `type` (array): Restrict to specific task types, e.g. ["ReplyToChat", "SignContract"]. Valid values: Generic, ReplyToChat, SelectQuoteWinner, ReviewPartner, ClientInputRequired, SignContract, MoreInfoNeeded, AssignB…

### `get_case_tasks` (~209 tokens)

Get Case Tasks

List the open tasks (action-items) attached to one specific case — same data as list_tasks, scoped to a single case. Use this when you're already working a specific case and want just its outstanding tasks.

Note: account-level tasks that aren't tied to any one case (e.g. SignContract, AssignBankAccount — these block the whole account, not one case) never appear here; use list_tasks to see those.

See list_tasks for the full task model (auto-resolve, solutionUrl, action).

Input parameters:

- `caseId` (string, required): Debitura case ID (GUID)
- `status` (string): Filter by task status. "Open" (default) or "Solved".
- `type` (array): Restrict to specific task types, e.g. ["ReplyToChat", "SignContract"]. Valid values: Generic, ReplyToChat, SelectQuoteWinner, ReviewPartner, ClientInputRequired, SignContract, MoreInfoNeeded, AssignB…

### `create_case` (~449 tokens)

Create Collection Case

Submit a debt collection case to Debitura. This is a LEGAL AND FINANCIAL ACTION: a collection partner starts recovery against the debtor, and contractual fees apply on success.

Required workflow — never skip it:
1\. Call preview_case first and show the user the pricing, assigned partner, and any contracts that need signing.
2\. Ask the user to explicitly confirm submission.
3\. Only then call this tool. NEVER call it without the user's explicit confirmation in this conversation.

Submission is idempotent: the server sends a unique Idempotency-Key and safely retries transient network failures without risk of duplicate cases. A 422 response is a business rejection — read its payload (it may contain signing URLs for required contracts, or duplicate-reference details).

Input parameters:

- `allowPendingContracts` (boolean): Accept the case even if contracts (SDCA/POA) are unsigned — it waits in PendingContractSigning with signing URLs returned
- `amountToRecover` (number, required): Total principal amount to recover
- `assignedUserEmail` (string): Email of the team member to own the case (use list_team_members to find valid team members)
- `claimDescription` (string): Description of the claim (what the debt is for)
- `comments` (string): Context for the collection partner, e.g. payment history or prior communication
- `creditorReference` (string): RECOMMENDED: your own reference (e.g. invoice number). Helps avoid business duplicates and lets you look the case up later.
- `currencyCode` (string, required): ISO 4217 currency code, e.g. "EUR"
- `date` (string, required): Invoice date (ISO 8601, e.g. 2026-03-01) — required by the API
- `debtor` (object, required): The debtor the claim is against
- `dueDate` (string, required): Invoice due date (ISO 8601, e.g. 2026-04-30). Required — Debitura computes the age of the debt from it, which affects pricing.
- `isTest` (boolean): Create as test data (persisted but excluded from production metrics)
- `tag` (string): Optional tag for grouping test data

### `upload_case_file` (~197 tokens)

Upload Case File

Attach a document to a case (invoice copy, contract, correspondence, proof of delivery). Max 25 MB. Allowed extensions: .pdf, .xls, .xlsx, .csv, .txt, .jpg, .jpeg, .png, .gif. Provide the file content base64-encoded.

Input parameters:

- `caseId` (string, required): Debitura case ID (GUID)
- `contentBase64` (string, required): File content, base64-encoded
- `contentType` (string): MIME type, e.g. "application/pdf" (inferred from extension if omitted)
- `description` (string): Short description of the document
- `documentType` (string): Document category (default: OriginalInvoice). Values: OriginalInvoice · DebtorDocuments · CreditorDocuments · PartnerDocuments · DemandLetter · Miscellaneous
- `fileName` (string, required): File name including extension, e.g. "invoice-1042.pdf"

### `send_case_message` (~140 tokens)

Send Case Message

Send a chat message on a case to the collection partner handling it. The partner is notified by email. The message is attributed to a named team member, so a sender is REQUIRED: pass the sender's userId or email from list_team_members. Ask the user who the message should be sent as if it is not obvious.

Input parameters:

- `caseId` (string, required): Debitura case ID (GUID)
- `message` (string, required): The message to send
- `senderEmail` (string): Team member email sending the message (alternative to senderUserId)
- `senderUserId` (string): Team member ID sending the message (from list_team_members)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-debitura-mcp-server/mcp#diagnostics

## Score history

- 2026-08-03: 78
- 2026-08-02: 78
- 2026-08-01: 77
- 2026-07-31: 77
- 2026-07-30: 73
- 2026-07-29: 73
- 2026-07-28: 72
- 2026-07-27: 71
- 2026-07-26: 71

## Links

- Remote endpoint: https://mcp.debitura.com/mcp
- Authorisation metadata: https://mcp.debitura.com/.well-known/oauth-protected-resource/mcp
- Repository: https://github.com/debitura/Debitura.MCP
- Website: https://www.debitura.com/integration/mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/com-debitura-mcp-server/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-debitura-mcp-server/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-debitura-mcp-server/mcp
