dunning
Write payment chasers at three levels from the invoices that are actually overdue.
사용해야 할까요
품질 및 안전성
발견 사항 (1)
- LOWstatements_report에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"dunning": {
"command": "uvx",
"args": [
"https://github.com/theluckystrike/mcp-servers/releases/download/v0.21.0/statement-of-account.mcpb"
]
}
}
}실행 가능한 패키지
0.21.0stdio0.22.0stdio원격 엔드포인트
https://mcp.zovo.one/mcp/dunningstreamable-http할 수 있는 일
도구 목록
도구 (8)
⚪statement_build(client, from, to, currency)
Build one client's statement for a period: opening, invoices, payments with deposits applied broken out, credit notes and closing, formatted and in minor units. Free: 5 a month; a rebuild is free.
입력 스키마
{
"type": "object",
"properties": {
"client": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Client id from the invoice server, an exact client name, or a name containing this text"
},
"from": {
"type": "string",
"maxLength": 10,
"description": "First day of the period, YYYY-MM-DD. Everything dated before it becomes the opening balance"
},
"to": {
"type": "string",
"maxLength": 10,
"description": "Last day of the period, YYYY-MM-DD, inclusive"
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "Only needed when the client has documents in more than one currency. Currencies are never added together"
}
},
"required": [
"client",
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪statement_aging(client, currency, as_of, limit)
Age open invoices into 0-30, 31-60, 61-90 and over 90 days past DUE date at a date, per client and currency, with the invoices themselves. Free. statements_report rolls up the whole book instead.
입력 스키마
{
"type": "object",
"properties": {
"client": {
"type": "string",
"maxLength": 200,
"description": "One client id or name. Omit to age every client in the books"
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "Only this currency. Omit for every currency, each aged separately"
},
"as_of": {
"type": "string",
"maxLength": 10,
"description": "Age the invoices as at this date, YYYY-MM-DD. Defaults to today"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 2000,
"description": "Maximum invoice rows returned, default and ceiling 2000"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢statement_text(client, from, to, currency, as_of, ...)
Turn one client's statement into a plain-text letter for an email: movements in date order, opening and closing balances, deposit held, a sign-off. It is also a .txt download link valid one hour and counts toward the 5 a month; statement_pdf writes the A4 page.
입력 스키마
{
"type": "object",
"properties": {
"client": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Client id from the invoice server, an exact client name, or a name containing this text"
},
"from": {
"type": "string",
"maxLength": 10,
"description": "First day of the period, YYYY-MM-DD"
},
"to": {
"type": "string",
"maxLength": 10,
"description": "Last day of the period, YYYY-MM-DD, inclusive"
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "Only needed when the client has documents in more than one currency. Currencies are never added together"
},
"as_of": {
"type": "string",
"maxLength": 10,
"description": "Date printed on the statement, YYYY-MM-DD. Defaults to today"
},
"greeting": {
"type": "string",
"maxLength": 4000,
"description": "Opening line, default \"Hello\" and the client name"
},
"sign_off": {
"type": "string",
"maxLength": 4000,
"description": "Closing line, default your business name from the shared profile"
}
},
"required": [
"client",
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢statement_pdf(client, from, to, currency, as_of, ...)
Call this tool to render one client's A4 statement of account and return a download link valid for one hour. Titled STATEMENT OF ACCOUNT, movements in date order, BALANCE OUTSTANDING at the foot. Pro.
입력 스키마
{
"type": "object",
"properties": {
"client": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Client id from the invoice server, an exact client name, or a name containing this text"
},
"from": {
"type": "string",
"maxLength": 10,
"description": "First day of the period, YYYY-MM-DD"
},
"to": {
"type": "string",
"maxLength": 10,
"description": "Last day of the period, YYYY-MM-DD, inclusive"
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "Only needed when the client has documents in more than one currency. Currencies are never added together"
},
"as_of": {
"type": "string",
"maxLength": 10,
"description": "Date printed on the statement, YYYY-MM-DD. Defaults to today"
},
"out_path": {
"type": "string",
"description": "Name for the downloaded file, e.g. acme-statement. Defaults to the client, currency and period; the statement comes back as a download link valid for one hour"
}
},
"required": [
"client",
"from",
"to"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢dunning_text(client, level, currency, as_of, greeting, ...)
Write a payment chaser at level 1 friendly, 2 firm or 3 final demand: every OVERDUE invoice with its age, the total and your bank details. Refused if nothing is overdue. No interest is stated. The letter is also a .txt download link valid one hour. Level 3 is Pro.
입력 스키마
{
"type": "object",
"properties": {
"client": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Client id from the invoice server, an exact client name, or a name containing this text"
},
"level": {
"type": "integer",
"minimum": 1,
"maximum": 3,
"description": "1 friendly reminder, 2 firm reminder, 3 final demand. Level 3 is Pro"
},
"currency": {
"type": "string",
"pattern": "^[A-Za-z]{3}$",
"description": "Only needed when the client has documents in more than one currency. Currencies are never added together"
},
"as_of": {
"type": "string",
"maxLength": 10,
"description": "Age the invoices as at this date, YYYY-MM-DD. Defaults to today"
},
"greeting": {
"type": "string",
"maxLength": 4000,
"description": "Opening line, default \"Hello\" and the client name"
},
"sign_off": {
"type": "string",
"maxLength": 4000,
"description": "Closing line, default your business name from the shared profile"
}
},
"required": [
"client",
"level"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢statements_report(as_of, limit)
Receivables across every client at a date: totals and aging per currency, clients ranked by how much is OVERDUE, and the oldest overdue invoice. Pro. statement_aging is the free per-client view.
입력 스키마
{
"type": "object",
"properties": {
"as_of": {
"type": "string",
"maxLength": 10,
"description": "Age the invoices as at this date, YYYY-MM-DD. Defaults to today"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"description": "How many clients to list, worst first. Default 20"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢license_status
Report this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪license_activate(key)
Turn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms it.
입력 스키마
{
"type": "object",
"properties": {
"key": {
"type": "string",
"description": "License key from checkout, MCPL1.<payload>.<signature>"
}
},
"required": [
"key"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거