dunning

Write payment chasers at three levels from the invoices that are actually overdue.

使うべきか

品質と安全性

A
説明の品質
96%
スキーマの完全性
89%
命名の品質
80%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(1)

  • LOWTool 'statements_report' description lacks action verbstatements_report 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~1,901トークン数(ツール定義)
~1.8 KB一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.49%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "dunning": {
      "command": "uvx",
      "args": [
        "https://github.com/theluckystrike/mcp-servers/releases/download/v0.21.0/statement-of-account.mcpb"
      ]
    }
  }
}

実行可能なパッケージ

mcpbhttps://github.com/theluckystrike/mcp-servers/releases/download/v0.21.0/statement-of-account.mcpb0.21.0stdio
mcpbhttps://github.com/theluckystrike/mcp-servers/releases/download/v0.22.0/statement-of-account.mcpb0.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#"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 8 件
検証済みバージョンは記録されていませんツール 8 件