SHVL
Review UK aged-debtors CSVs, workspace receivables briefs and saved case information.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"shvl": {
"url": "https://shvl.app/mcp"
}
}
}Remote-Endpunkte
https://shvl.app/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (5)
🟢analyse_aged_debtors_csv(csv_text, sender_name, bank_rate_percent, as_of_date, draft_stage)
Use when the user provides an aged-debtors CSV and wants review-only UK B2B chase drafts with indicative statutory-interest and fixed-compensation calculations. Require a supplied Bank Rate. Return plain text for review only. Never open an email composer, call an email tool, send email or store the CSV.
Eingabe-Schema
{
"type": "object",
"properties": {
"csv_text": {
"type": "string",
"description": "CSV text with customer, invoice number, due date and outstanding amount columns. Maximum 50 invoice rows."
},
"sender_name": {
"type": "string",
"description": "Business or sign-off name used in the review-only draft."
},
"bank_rate_percent": {
"type": "number",
"minimum": 0,
"maximum": 20,
"description": "Bank Rate percentage to use for this indicative calculation. SHVL adds the statutory 8 percentage points."
},
"as_of_date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Optional calculation date in YYYY-MM-DD. Defaults to today in UTC."
},
"draft_stage": {
"type": "string",
"enum": [
"gentle",
"formal",
"final"
],
"description": "Optional draft style. Defaults to formal."
}
},
"required": [
"csv_text",
"sender_name",
"bank_rate_percent"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"data_notice": {
"type": "string"
},
"currency": {
"type": "string"
},
"review_required": {
"type": "boolean"
},
"not_legal_advice": {
"type": "boolean"
},
"as_of_date": {
"type": "string"
},
"bank_rate_percent": {
"type": "number"
},
"annual_rate_percent": {
"type": "number"
},
"summary": {
"type": "object",
"additionalProperties": false,
"required": [
"submitted_invoice_count",
"overdue_invoice_count",
"overdue_principal_pence",
"total_claim_pence"
],
"properties": {
"submitted_invoice_count": {
"type": "integer"
},
"overdue_invoice_count": {
"type": "integer"
},
"overdue_principal_pence": {
"type": "integer"
},
"total_claim_pence": {
"type": "integer"
}
}
},
"drafts": {
"type": "array",
"maxItems": 50,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"debtor_name",
"invoice_number",
"due_date",
"days_overdue",
"principal_pence",
"statutory_interest_pence",
"fixed_compensation_pence",
"total_claim_pence",
"subject",
"body"
],
"properties": {
"debtor_name": {
"type": "string"
},
"invoice_number": {
"type": "string"
},
"due_date": {
"type": "string"
},
"days_overdue": {
"type": "integer"
},
"principal_pence": {
"type": "integer"
},
"statutory_interest_pence": {
"type": "integer"
},
"fixed_compensation_pence": {
"type": "integer"
},
"total_claim_pence": {
"type": "integer"
},
"subject": {
"type": "string"
},
"body": {
"type": "string"
}
}
}
},
"not_overdue_invoices": {
"type": "array",
"maxItems": 50,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"invoice_number",
"due_date"
],
"properties": {
"invoice_number": {
"type": "string"
},
"due_date": {
"type": "string"
}
}
}
}
},
"required": [
"data_notice",
"currency",
"review_required",
"not_legal_advice",
"as_of_date",
"bank_rate_percent",
"annual_rate_percent",
"summary",
"drafts",
"not_overdue_invoices"
],
"additionalProperties": false
}🟢get_credit_control_brief(limit)
Return the signed-in SHVL workspace's current overdue summary and five highest-priority cases. Read-only. Uses the latest SHVL import or completed accounting sync and never sends a reminder.
Eingabe-Schema
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"description": "Maximum priority cases to return. Defaults to 5."
}
},
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"generated_at": {
"type": "string"
},
"data_notice": {
"type": "string"
},
"organisation": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"name",
"currency",
"timezone"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"currency": {
"type": "string"
},
"timezone": {
"type": "string"
}
}
},
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"provider",
"status",
"organisation_name",
"last_synced_at",
"last_error_code",
"data_source"
],
"properties": {
"provider": {
"type": "string"
},
"status": {
"type": "string"
},
"organisation_name": {
"type": [
"string",
"null"
]
},
"last_synced_at": {
"type": [
"string",
"null"
]
},
"last_error_code": {
"type": [
"string",
"null"
]
},
"data_source": {
"type": "string"
}
}
},
"summary": {
"type": "object",
"additionalProperties": false,
"required": [
"overdue_invoice_count",
"overdue_customer_count",
"overdue_total_minor",
"missing_contact_count",
"payment_blocker_count",
"promises_due_count",
"failed_reminder_count"
],
"properties": {
"overdue_invoice_count": {
"type": "integer"
},
"overdue_customer_count": {
"type": "integer"
},
"overdue_total_minor": {
"type": "integer"
},
"missing_contact_count": {
"type": "integer"
},
"payment_blocker_count": {
"type": "integer"
},
"promises_due_count": {
"type": "integer"
},
"failed_reminder_count": {
"type": "integer"
}
}
},
"priority_cases": {
"type": "array",
"maxItems": 5,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"case_id",
"customer_name",
"source",
"case_status",
"readiness_status",
"invoice_count",
"overdue_total_minor",
"oldest_due_at",
"next_action_at",
"priority",
"action",
"reason"
],
"properties": {
"case_id": {
"type": "string"
},
"customer_name": {
"type": "string"
},
"source": {
"type": "string"
},
"case_status": {
"type": "string"
},
"readiness_status": {
"type": "string"
},
"invoice_count": {
"type": "integer"
},
"overdue_total_minor": {
"type": "integer"
},
"oldest_due_at": {
"type": [
"string",
"null"
]
},
"next_action_at": {
"type": [
"string",
"null"
]
},
"priority": {
"type": "integer"
},
"action": {
"type": "string"
},
"reason": {
"type": "string"
}
}
}
}
},
"required": [
"generated_at",
"data_notice",
"organisation",
"source",
"summary",
"priority_cases"
],
"additionalProperties": false
}🟢get_receivables_health
Return a read-only receivables health view for the signed-in SHVL workspace: accounts-receivable balance, overdue ageing, invoices raised this month, receivables payments recorded this month, concentration and 30-day overdue movement where available. This is not a bank balance, cash-flow, profit or whole-business health report.
Eingabe-Schema
{
"type": "object",
"properties": {},
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"generated_at": {
"type": "string"
},
"data_notice": {
"type": "string"
},
"coverage": {
"type": "object",
"additionalProperties": false,
"required": [
"kind",
"note"
],
"properties": {
"kind": {
"type": "string",
"enum": [
"receivables_only"
]
},
"note": {
"type": "string"
}
}
},
"organisation": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"name",
"currency",
"timezone"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"currency": {
"type": "string"
},
"timezone": {
"type": "string"
}
}
},
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"provider",
"status",
"organisation_name",
"last_synced_at",
"last_error_code",
"data_source"
],
"properties": {
"provider": {
"type": "string"
},
"status": {
"type": "string"
},
"organisation_name": {
"type": [
"string",
"null"
]
},
"last_synced_at": {
"type": [
"string",
"null"
]
},
"last_error_code": {
"type": [
"string",
"null"
]
},
"data_source": {
"type": "string"
}
}
},
"current": {
"type": "object",
"additionalProperties": false,
"required": [
"accounts_receivable_balance_minor",
"overdue_receivables_minor",
"overdue_customer_count",
"invoiced_this_month_minor",
"receivables_payments_recorded_this_month_minor",
"promised_next_30_days_minor",
"largest_debtor_share_basis_points",
"weighted_days_overdue"
],
"properties": {
"accounts_receivable_balance_minor": {
"type": "integer"
},
"overdue_receivables_minor": {
"type": "integer"
},
"overdue_customer_count": {
"type": "integer"
},
"invoiced_this_month_minor": {
"type": "integer"
},
"receivables_payments_recorded_this_month_minor": {
"type": "integer"
},
"promised_next_30_days_minor": {
"type": "integer"
},
"largest_debtor_share_basis_points": {
"type": "integer"
},
"weighted_days_overdue": {
"type": "integer"
}
}
},
"ageing": {
"type": "object",
"additionalProperties": false,
"required": [
"days_0_30_minor",
"days_31_60_minor",
"days_61_plus_minor"
],
"properties": {
"days_0_30_minor": {
"type": "integer"
},
"days_31_60_minor": {
"type": "integer"
},
"days_61_plus_minor": {
"type": "integer"
}
}
},
"trend": {
"type": "object",
"additionalProperties": false,
"required": [
"comparison_snapshot_date",
"overdue_30_days_ago_minor",
"overdue_change_30d_minor",
"overdue_change_30d_basis_points"
],
"properties": {
"comparison_snapshot_date": {
"type": [
"string",
"null"
]
},
"overdue_30_days_ago_minor": {
"type": [
"integer",
"null"
]
},
"overdue_change_30d_minor": {
"type": [
"integer",
"null"
]
},
"overdue_change_30d_basis_points": {
"type": [
"integer",
"null"
]
}
}
},
"unavailable_metrics": {
"type": "array",
"maxItems": 5,
"items": {
"type": "string",
"enum": [
"bank_balance",
"total_cash_in_this_month",
"cash_out_this_month",
"profit",
"cash_runway"
]
}
}
},
"required": [
"generated_at",
"data_notice",
"coverage",
"organisation",
"source",
"current",
"ageing",
"trend",
"unavailable_metrics"
],
"additionalProperties": false
}🟢search_credit_control_cases(query, status, limit)
Search cases already held in the signed-in SHVL workspace by customer name or invoice reference. Read-only, account-scoped and capped at 20 results.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 120,
"description": "Optional customer-name or invoice-reference search."
},
"status": {
"type": "string",
"enum": [
"active",
"paused",
"promised",
"disputed",
"closed"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "Maximum cases to return. Defaults to 10."
}
},
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"data_notice": {
"type": "string"
},
"organisation": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"name",
"currency",
"timezone"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"currency": {
"type": "string"
},
"timezone": {
"type": "string"
}
}
},
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"provider",
"status",
"organisation_name",
"last_synced_at",
"last_error_code",
"data_source"
],
"properties": {
"provider": {
"type": "string"
},
"status": {
"type": "string"
},
"organisation_name": {
"type": [
"string",
"null"
]
},
"last_synced_at": {
"type": [
"string",
"null"
]
},
"last_error_code": {
"type": [
"string",
"null"
]
},
"data_source": {
"type": "string"
}
}
},
"filters": {
"type": "object",
"additionalProperties": false,
"required": [
"query",
"status"
],
"properties": {
"query": {
"type": [
"string",
"null"
]
},
"status": {
"type": [
"string",
"null"
]
}
}
},
"case_count": {
"type": "integer"
},
"cases": {
"type": "array",
"maxItems": 20,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"case_id",
"customer_name",
"source",
"case_status",
"readiness_status",
"invoice_count",
"overdue_total_minor",
"oldest_due_at",
"next_action_at"
],
"properties": {
"case_id": {
"type": "string"
},
"customer_name": {
"type": "string"
},
"source": {
"type": "string"
},
"case_status": {
"type": "string"
},
"readiness_status": {
"type": "string"
},
"invoice_count": {
"type": "integer"
},
"overdue_total_minor": {
"type": "integer"
},
"oldest_due_at": {
"type": [
"string",
"null"
]
},
"next_action_at": {
"type": [
"string",
"null"
]
}
}
}
}
},
"required": [
"data_notice",
"organisation",
"source",
"filters",
"case_count",
"cases"
],
"additionalProperties": false
}🟢get_credit_control_case(case_id)
Return one case from the signed-in SHVL workspace, including status, payment-readiness state, bounded invoice summaries and communication evidence. Excludes email addresses, message content, provider IDs and payment records.
Eingabe-Schema
{
"type": "object",
"properties": {
"case_id": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "Stable SHVL case ID returned by another SHVL tool."
}
},
"required": [
"case_id"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"data_notice": {
"type": "string"
},
"organisation": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"name",
"currency",
"timezone"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"currency": {
"type": "string"
},
"timezone": {
"type": "string"
}
}
},
"source": {
"type": "object",
"additionalProperties": false,
"required": [
"provider",
"status",
"organisation_name",
"last_synced_at",
"last_error_code",
"data_source"
],
"properties": {
"provider": {
"type": "string"
},
"status": {
"type": "string"
},
"organisation_name": {
"type": [
"string",
"null"
]
},
"last_synced_at": {
"type": [
"string",
"null"
]
},
"last_error_code": {
"type": [
"string",
"null"
]
},
"data_source": {
"type": "string"
}
}
},
"case": {
"type": "object",
"additionalProperties": false,
"required": [
"case_id",
"customer_name",
"source",
"status",
"closed_reason",
"pause_reason",
"promised_payment_at",
"next_action_at",
"last_contacted_at",
"readiness"
],
"properties": {
"case_id": {
"type": "string"
},
"customer_name": {
"type": "string"
},
"source": {
"type": "string"
},
"status": {
"type": "string"
},
"closed_reason": {
"type": [
"string",
"null"
]
},
"pause_reason": {
"type": [
"string",
"null"
]
},
"promised_payment_at": {
"type": [
"string",
"null"
]
},
"next_action_at": {
"type": [
"string",
"null"
]
},
"last_contacted_at": {
"type": [
"string",
"null"
]
},
"readiness": {
"type": "object",
"additionalProperties": false,
"required": [
"status",
"owner",
"next_action",
"updated_at"
],
"properties": {
"status": {
"type": "string"
},
"owner": {
"type": [
"string",
"null"
]
},
"next_action": {
"type": [
"string",
"null"
]
},
"updated_at": {
"type": [
"string",
"null"
]
}
}
}
}
},
"invoices": {
"type": "array",
"maxItems": 50,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"invoice_id",
"invoice_number",
"due_at",
"currency",
"amount_due_minor",
"status",
"provider_updated_at"
],
"properties": {
"invoice_id": {
"type": "string"
},
"invoice_number": {
"type": "string"
},
"due_at": {
"type": "string"
},
"currency": {
"type": "string"
},
"amount_due_minor": {
"type": "integer"
},
"status": {
"type": "string"
},
"provider_updated_at": {
"type": [
"string",
"null"
]
}
}
}
},
"invoices_truncated": {
"type": "boolean"
},
"communication_evidence": {
"type": "object",
"additionalProperties": false,
"required": [
"latest_status",
"latest_occurred_at",
"provider_accepted",
"delivery_evidence"
],
"properties": {
"latest_status": {
"type": [
"string",
"null"
]
},
"latest_occurred_at": {
"type": [
"string",
"null"
]
},
"provider_accepted": {
"type": "boolean"
},
"delivery_evidence": {
"type": "string",
"enum": [
"unknown",
"delivered",
"bounced",
"replied"
]
}
}
}
},
"required": [
"data_notice",
"organisation",
"source",
"case",
"invoices",
"invoices_truncated",
"communication_evidence"
],
"additionalProperties": false
}Community
Nachweis