关于 credit-note
这是一款面向自由职业者和小型企业的贷项通知单 MCP 服务,可创建关联发票或独立单据。它支持可修改草稿、编号定稿、打印格式渲染和汇总,记录保存在本地。
主要功能
- 01创建关联发票或独立单据
- 02修改并删除草稿
- 03定稿并分配单据编号
- 04渲染为 Markdown 或可打印 HTML
- 05按币种、原因和月份汇总
适用场景
- 01为退货或多收费开具贷项通知单
- 02定稿前修改草稿
- 03生成可打印的贷项通知单
- 04按期间查看已定稿贷项
MCP 相关
向 MCP 客户端提供贷项通知单的创建、编辑、列出、读取、删除、定稿、渲染和汇总工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.zovo.one/mcp/credit-note-icsclaude mcp add --transport http theluckystrike-credit-note https://mcp.zovo.one/mcp/credit-note-ics{"mcpServers":{"theluckystrike-credit-note":{"type":"http","url":"https://mcp.zovo.one/mcp/credit-note-ics"}}}在 Cursor 中打开{"servers":{"theluckystrike-credit-note":{"type":"http","url":"https://mcp.zovo.one/mcp/credit-note-ics"}}}在 VS Code 中打开{"mcpServers":{"theluckystrike-credit-note":{"type":"http","url":"https://mcp.zovo.one/mcp/credit-note-ics"}}}{"mcpServers":{"theluckystrike-credit-note":{"serverUrl":"https://mcp.zovo.one/mcp/credit-note-ics"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.zovo.one/mcp/credit-note-ics需要授权工具
10| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| lines | array | 是 | 逐行列出贷项内容 |
| notes | string | 否 | 打印在单据底部的文本,例如贷项的结算方式 |
| reason | enum | 是 | 开具贷项的原因:returned_goods、overcharge、discount_correction、service_issue 或 otherreturned_goods | overcharge | discount_correction | service_issue | other |
| currency | string | 是 | 贷项所用币种的 ISO 代码 |
| recipient | string | 是 | 贷项的对象,例如 Acme GmbH |
| issue_date | string | 否 | 贷项开具日期,格式为 YYYY-MM-DD。默认今天;不接受未来日期 |
| invoice_ref | string | 否 | 此贷项所对应的发票,例如 INV-2026-0042。独立开具贷项时省略 |
| duplicate_ok | boolean | 否 | 即使已存在相同的草稿或通知单,也创建此单;仅用于确实需要重复开具贷项的情况。默认 false |
| reason_detail | string | 否 | 一行具体说明,例如:客户按 10 个席位计费,但实际使用了 7 个 |
详细介绍
mcp-credit-note
已收录于官方 MCP Registry(io.github.theluckystrike/credit-note)。
为自由职业者和小型企业提供贷项通知单(credit memo),并按照常规单据的形式保存。可针对发票开具贷项通知单,也可单独开具:填写收件人、原因(退货、超额收费、折扣更正、服务问题、其他)、包含数量、单价和税率的明细,以及币种。每张贷项通知单最初都是草稿,可修改和删除;定稿时会分配最终编号 CN-YYYY-NNNN,并将其锁定,因为客户可能已经看到定稿后的贷项通知单。可将其渲染为 Markdown,粘贴到邮件中;也可渲染为独立的可打印 HTML 页面,并按币种、原因和月份查看贷记总额。所有金额均为以最小货币单位表示的整数,且不会发送到任何地方。
由 theluckystrike 构建。
@theluckystrike/mcp-credit-note 尚未发布到 npm,因此目前运行 npx -y @theluckystrike/mcp-credit-note 会返回 404。在此之前,克隆并构建是可行的方式。
安装
Claude Desktop
macOS:~/Library/Application Support/Claude/claude_desktop_config.json;Windows:%APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"credit-note": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-credit-note"]
}
}
}
Claude Code
claude mcp add credit-note -- npx -y @theluckystrike/mcp-credit-note
Cursor
~/.cursor/mcp.json(全局)或 .cursor/mcp.json(项目),使用与 Claude Desktop 相同的条目。
工具
| 工具 | 功能 |
|---|---|
credit_note_create | 针对发票开具贷项通知单,或单独开具:填写收件人、原因、包含数量、以最小货币单位表示的单价和税率的明细,以及币种。返回一份 CN-DRAFT-YYYY-NNNN 草稿 |
credit_note_update | 在草稿状态下修改草稿:收件人、原因、明细、币种、发票参考、开具日期或备注。新明细会替换所有旧明细。若指定的贷项通知单已定稿,则会拒绝操作 |
credit_note_finalize | 分配最终编号 CN-YYYY-NNNN 并锁定贷项通知单:此后无法编辑或删除,只能渲染和列出 |
credit_note_list | 列出贷项通知单,包括编号、收件人、原因、状态、开具日期和总额。可按收件人、原因、状态和开具日期范围筛选 |
credit_note_get | 通过 CN 编号或草稿 ID 完整读取一张贷项通知单:包括每条明细、税额、总额、原因和备注 |
credit_note_delete | 删除误录的草稿。若贷项通知单已定稿,则会拒绝操作,因为客户可能已经看到这份单据 |
credit_note_render | 将贷项通知单渲染为 Markdown,以便粘贴到邮件中;或渲染为独立的可打印 HTML 页面。草稿渲染时会带有草稿横幅 |
credit_note_summary | 统计已定稿贷项通知单按币种汇总的贷记总额,并按原因和月份细分;可选指定开具日期范围 |
license_status / license_activate | 查看免费版或 Pro 版状态,以及许可证密钥 |
免费版与 Pro 版
| 免费版 | Pro 版 | |
|---|---|---|
| 已定稿贷项通知单 | 终身 10 张 | 无限制 |
草稿(credit_note_create、credit_note_update) | 无限制 | 无限制 |
删除草稿(credit_note_delete) | 是 | 是 |
列出和读取(credit_note_list、credit_note_get) | 无限制 | 无限制 |
渲染(credit_note_render) | 无限制,页脚为一行 | 无限制,无页脚 |
总额(credit_note_summary) | 无限制 | 无限制 |
定稿是计量收费的操作,因为它会将草稿变成客户能看到的单据。其他所有功能都免费且不受限制:如果免费版不提供渲染后的单据或总额,那就只是演示版;对于偶尔需要为发票做贷记的自由职业者来说,10 张实际定稿的贷项通知单足以满足一年的使用需求。
获取 Pro 版:https://mcp.zovo.one/buy/credit-note,本服务一次性付费 $19,或购买套装,价格为 $39。
舍入规则
每个金额都是以最小货币单位(分)计的整数,并且会记录每行的计算方式,以便打印出的文档可以用计算器复算:
- 单价以最小货币单位的整数输入,因此输入时不会发生舍入。行毛额为数量 × 单价,并且只进行一次四舍五入:
gross = round_half_up(quantity * unit_price_minor)。整数数量计算结果精确;小数数量(例如 EUR 33.33 的单价,计费 2.5 小时)则舍入到最近的分;2.5 × 3333 = 8332.5 会舍入为 8333,而不是银行家舍入法的 8332。 - 逐行计算税额,并逐行进行四舍五入:
tax = round_half_up(gross * rate / 100)。 - 行总额为毛额加税额,票据总额则是对已舍入的行金额直接求和。
逐行舍入,再求和:总额与打印出的各行金额之间的偏差不会超过各行上已经显示的舍入差额,因此 23% 的税额行只以其自身的计税基数(仅限 23% 的行)为准,而不是以整个小计为准。
编号
草稿使用 CN-DRAFT-YYYY-NNNN ID,客户看不到。最终的 CN-YYYY-NNNN 编号仅在定稿时分配,并使用开具日期所属年份的编号;计数器会先于记录写入,因此即使发生崩溃,也只会浪费一个编号,不会重复使用。由于草稿不会占用最终编号,且已定稿的票据无法删除,最终编号序列不会出现缺号。
隐私
所有数据都保存在本地,路径为 ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/credit-note/。共两个文件:notes.json、counter.json。不会向任何地方发送数据;本服务没有账户、API 密钥,也不会进行任何网络调用。许可证密钥会离线验证。Markdown 和 HTML 渲染结果以文本形式返回;本服务不会写入任何文档文件。
由 theluckystrike 构建。https://github.com/theluckystrike
将这些文档用作 MCP 服务
任何 MCP 客户端(Claude、Cursor、Windsurf、VS Code)都可以通过 GitMCP 直接读取此仓库的文档,无需安装:
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。