Overdue Invoice Reminder

io.github.theluckystrike由 GitHub 账号 theluckystrike 发布v0.22.5更新于 Oct 24, 2026

Overdue invoice chasers: reminder 1, reminder 2, the final notice, and the day's chase list.

已验证STDIO仅桌面效率与工作流金融

概览

AI 生成的概览

本地 MCP 服务器,用于跟踪未付发票,并按三阶段催款阶梯(第一次提醒、第二次提醒、最终通知)生成 Markdown 或可打印 HTML 催款函。

可以做什么
  • 登记未付发票(客户、编号、以整数分为单位的金额、币种、到期日),并得到各阶段催款日期。
  • 记录全额或部分收款,查看未结余额与下一封催款函的金额。
  • 按当前阶段生成催款函,输出为 Markdown 或自包含的可打印 HTML。
  • 标记催款函已发出,使阶梯按顺序推进。
  • 列出全部逾期发票(逾期最久优先),按 current/30/60/90+ 账龄分桶汇总,并给出当天的催款清单。
  • 查看单张发票的收款、函件与日程,或删除录入错误的发票。
适用场景
适合需要催收逾期账款、希望催款措辞统一、留存发送记录并掌握账龄概况的自由职业者和小型企业,无需完整会计系统。
运行要求
作为本地进程在用户机器上运行(仅桌面端),需在 Claude Desktop、Claude Code 或 Cursor 中配置。README 说明 npm 包尚未发布,目前需克隆仓库并自行构建。数据保存在本地用户数据目录。可选 Pro 许可证密钥通过环境变量 MCP_LICENSE_KEY 提供。
安装前请注意
服务器本身不发送任何内容:催款函文本需由你自行发送,送达与措辞由你负责。它会将发票、收款和函件记录写入本地文件,invoice_delete 会永久删除记录。免费版同时催收的发票上限为三张;Pro 为一次性付费购买。README 还提到一个托管远程端点和 GitMCP 文档地址,与本地包相互独立。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Overdue Invoice Reminder,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Automated payment reminders for overdue invoices

[theluckystrike/mcp-dunning-letters MCP server]

In the official MCP Registry (io.github.theluckystrike/dunning-letters). Chase overdue invoices without losing the thread. Register an unpaid invoice, client, invoice reference, amount in integer cents, currency, due date, and the server runs the escalation ladder: reminder 1 (polite, due + 7 days), reminder 2 (firm, with the late fees note, due + 14), and the final notice (before-action wording, due + 21; the gaps are configurable per invoice). For each stage it generates the letter, as Markdown or as a self-contained printable HTML page. It records what you sent and when, lists everything overdue with days late and stage, ages the whole register into current/30/60/90+ buckets, and answers "what do I need to send today". Nothing is emailed or sent anywhere: this server produces the letter text, and sending it is your act.

Built by theluckystrike.

npm publish for @theluckystrike/mcp-dunning-letters is pending, so npx -y @theluckystrike/mcp-dunning-letters returns 404 today. Until then, a clone+build is the working path.

Install

Claude Desktop

macOS ~/Library/Application Support/Claude/claude_desktop_config.json, Windows %APPDATA%\Claude\claude_desktop_config.json:

json
{  "mcpServers": {    "dunning-letters": {      "command": "npx",      "args": ["-y", "@theluckystrike/mcp-dunning-letters"]    }  }}

Claude Code

sh
claude mcp add dunning-letters -- npx -y @theluckystrike/mcp-dunning-letters

Cursor

~/.cursor/mcp.json (global) or .cursor/mcp.json (project), same entry as Claude Desktop.

Tools

toolwhat it does
invoice_registerStart chasing an unpaid invoice: client, reference, amount, currency, due date. Returns DUN-YYYY-NNNN and the three escalation dates
payment_recordRecord money received, full or partial. A part payment lowers what the next letter asks for; covering the balance closes the ladder
letter_renderGenerate the chase letter for the current stage -- reminder 1, reminder 2 or the final notice -- as Markdown or self-contained printable HTML. Nothing is emailed: you send the text it produces
letter_sentRecord that a letter actually went out, with its date, so the ladder advances. Letters go out in order
overdue_listEvery unpaid invoice past its due date: days late, outstanding, letters sent, what is due next, worst first
aging_summaryThe whole register in current/1-30/31-60/61-90/91+ buckets, counts and totals in integer cents, per currency
chase_todayThe day's chase list: which invoices cross an escalation threshold today, which letter to send each, what falls due next
invoice_statusOne chased invoice in full: payments, letters, schedule, next action
invoice_deleteDelete an invoice entered wrongly. The id is not reissued
license_status / license_activateFree or Pro, and the key

Free vs Pro

FreePro
Unpaid invoices chased at once3Unlimited
All three letters, both formatsYesYes
Aging summary and the day's chase listYesYes
Late fee accrual in the lettersYesYes
Payment recording and historyYesYes

The cap is on how many chases run at once, never on the letters or the aging: three late payers taken from first reminder to final notice is a real chase list, and an invoice that gets paid frees its slot. What is metered is breadth, a fourth concurrent chase is a collections workload, not a freelancer's month.

Get Pro: https://mcp.zovo.one/buy/dunning-letters, $19 one-time for this server, or $39 for the bundle.

A measured insight

The ladder is anchored to the due date, not to the last letter, and the two drift apart exactly when chasing is going badly.

The worked chase in test/_client.mjs: USD 1,250.00 due 2026-06-01, gaps 7/14/21, so the letters fall due on 06-08, 06-15 and 06-22 whether or not anything was sent. If reminder 1 actually goes out late, say 06-20, twelve days after its date, a previous-letter-anchored ladder would push the final notice to 07-11. This one does not: 06-22 stands, because the client's obligation was fixed by the due date, not by when you got around to writing. Recording a sending moves only which stage is next; it never moves the schedule. The letters are also strictly sequential: an invoice 60 days late with nothing sent is still owed reminder 1, because a final notice that no polite letter preceded reads as a threat, not a chase.

The late fee is measured the same way, once: simple interest, pro-rata on a 30-day month, on the amount outstanding on the day the letter is written, rounded once to the minor unit. On the worked chase that is 125,000 minor units at 2% over 30 days late, 2,500 exactly, and after a 50,000 part payment it is 1,500 on the 75,000 that remains, so the final notice asks for 76,500 and no invented figure more.

Privacy

All data stays local, in ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/dunning-letters/. Two files: invoices.json, counter.json. Nothing is sent anywhere, no account, no API key, no network call in this server at all, and the letters are rendered to text for you to send yourself; this server holds no mail credentials and wants none. License keys are verified offline.

Built by theluckystrike. https://github.com/theluckystrike

Frequently asked questions

Is there an MCP server for payment reminders or dunning letters?

Yes. The dunning-letters server at mcp.zovo.one automates accounts-receivable follow-up: tiered reminder sequences (friendly, firm, final), printable PDF letters, per-customer aging. Free tier, hosted remote endpoint.

How do I send payment reminders from Claude?

Connect https://mcp.zovo.one/mcp/dunning-letters and say: 'List overdue invoices and draft a firm reminder for Acme.' The letter follows the standard tier sequence and exports as PDF.

Use these docs as an MCP server

Any MCP client (Claude, Cursor, Windsurf, VS Code) can read this repository's documentation directly via GitMCP - no install:

来源:servers/dunning-letters/README.md,提交 1bd9d69

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v0.22.5最新Oct 14, 2026
  2. v0.21.0Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分