SHVL
Review UK aged-debtors CSVs, workspace receivables briefs and saved case information.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"shvl": {
"url": "https://shvl.app/mcp"
}
}
}원격 엔드포인트
https://shvl.app/mcpstreamable-http할 수 있는 일
도구 목록
도구 (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.
입력 스키마
{
"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
}출력 스키마
{
"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.
입력 스키마
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"description": "Maximum priority cases to return. Defaults to 5."
}
},
"additionalProperties": false
}출력 스키마
{
"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.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false
}출력 스키마
{
"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.
입력 스키마
{
"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
}출력 스키마
{
"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.
입력 스키마
{
"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
}출력 스키마
{
"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
}커뮤니티
증거