Retainer

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

Client retainers held on account: record one, draw it down against invoices, refund it.

已验证STDIO仅桌面金融商业与电商

概览

AI 生成的概览

记录代客户保管的预付款与保证金,可抵扣发票、退款并统计余额,数据全部保存在本机。

可以做什么
  • 登记、列出和删除客户预付款,含金额、币种、日期与参考号
  • 将部分或全部持有的预付款作为付款抵扣到发票,或退还给客户
  • 按客户和币种统计持有余额,含已收、已抵扣、已退还金额
  • 生成纯文本与 A4 PDF 预付款对账单,以及 Pro 版的持有资金与账龄报告
  • 查询并激活 Pro 许可证
适用场景
适合代收客户预付款或保证金的自由职业者和小型企业,希望由助手跟踪持有金额、抵扣发票、办理退款,并随时回答某客户还有多少钱在自己账上。它设计为与同一作者的发票服务器配合使用,读取并写入其中的客户与发票数据。
运行要求
以本地进程方式在用户电脑上运行,仅支持桌面端,通过 .mcpb 一键包或克隆后构建安装;npm 包尚未发布。需要同时运行 mcp-invoice 服务器以提供客户与发票,并共用同一份业务资料。无需账号、API 密钥或网络;可选的 MCP_LICENSE_KEY 用于解锁 Pro 功能,离线校验。
安装前请注意
它会写入发票服务器共享的数据存储,在发票上登记付款,因此抵扣会改变发票的已付金额与状态。预付款可被退还或删除,删除仅在从未抵扣或退还时才被拒绝。PDF 对账单与报告等 Pro 功能需一次性付费许可证密钥;免费版每月最多登记五笔预付款。

安装

在 SourceWeft 中

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

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

其他 MCP 客户端

参照 仓库 中的启动说明。

README

mcp-deposits

Security and retainer deposits, held per client, on the same engine as your invoices.

A deposit is the client's money sitting on your account. It has to be recorded when it arrives, set against an invoice when the work is billed, given back when it is not, and answered for at any point in between: how much of theirs are you holding, in which currency, since when. This server does those four things, against the invoices and the clients the mcp-invoice server already holds. When a deposit is applied to an invoice, the payment is recorded on that invoice, so invoice_list and overdue_report stop chasing money you already have. Everything stays on your machine.

Built on @theluckystrike/mcp-invoice/lib for the money, currency and store code, and on @theluckystrike/mcp-billing-docs/lib for the A4 page, so a deposit statement looks like the credit note and the invoice next to it and agrees with them to the minor unit.

In the official MCP Registry (io.github.theluckystrike/deposits).

[deposits demo]

npm publish for @theluckystrike/mcp-deposits is pending, so npx -y @theluckystrike/mcp-deposits returns 404 today. Until then, the .mcpb one-click bundle or a clone+build is the working path.

Install

Claude Desktop (claude_desktop_config.json):

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

Claude Code:

sh
claude mcp add deposits -- npx -y @theluckystrike/mcp-deposits

Cursor (.cursor/mcp.json):

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

Run mcp-invoice alongside it: this server reads that server's invoices and clients, writes the payment an applied deposit makes onto the invoice, and both take their name, address, VAT id and default currency from one shared business profile.

Tools

toolwhat it does
deposit_recordRecord a security or retainer deposit received: amount in minor units, currency, date, reference
deposit_listEvery deposit with received, applied, refunded and held. Filter by client, status, kind or date
deposit_applyApply part or all of a held deposit to an invoice, as a payment on that invoice
deposit_refundGive part or all of a held deposit back, with the date and the method
deposit_deleteRemove a deposit recorded by mistake, if none of it was ever applied or refunded
deposit_balanceWhat is held, per client and per currency: received, applied, refunded, held
deposit_statement_textThe plain-text statement to paste into an email
deposit_statement_pdfThe A4 PDF, titled DEPOSIT STATEMENT (Pro)
deposits_reportHeld per currency, the oldest held deposits, and what has sat unapplied for N days (Pro)
license_status, license_activateFree or Pro, and how to upgrade

One resource, deposits://held, and one prompt, settle_deposits.

Free vs Pro

FreePro
Deposits recorded per calendar month5Unlimited
Applying to invoices, refunds, balances, listsYes, unlimitedYes
deposit_delete for a deposit that never moved moneyYes, unlimitedYes
deposit_statement_textYes, unlimitedYes
deposit_statement_pdfNoYes, plus your logo and no footer credit
deposits_reportNoYes

The free cap is on recording new deposits only. Money already held can always be applied, refunded and accounted for, on any tier: a limit that trapped a client's deposit would be a limit on their money, not on yours.

The cap counts the deposits stored with a received date in that month, so deposit_delete gives the slot straight back: a deposit typed in twice or with the wrong amount costs nothing but the id. deposit_record also refuses a deposit that matches one already stored on client, amount, currency, kind, received date and reference, names that id and stores nothing, so the same money is never held twice and no free slot is spent on a retry.

Get Pro: https://mcp.zovo.one/buy/deposits ($19 one-time for this server, $39 for the bundle).

A measured thing

The invoice server's own payment tool SETS the amount paid, so routing a deposit through it erases the payment that came before. Measured against servers/invoice/dist/index.js on a EUR 1,000.00 invoice: invoice_mark_paid {amount: 200} for a bank transfer, then invoice_mark_paid {amount: 300} for the deposit, leaves paid_minor at 30000 and the reply reads "balance due EUR 700.00". The EUR 200.00 that actually arrived is gone from the record, and the client gets chased for it.

deposit_apply writes the same three fields on the same record, paid_minor, paid_date, status, but ADDS: the same two payments leave paid_minor at 50000 and a balance due of EUR 500.00. Asserted in test/unit.test.mjs, "a second application ADDS to paid_minor, it does not replace it".

The general form: a store shared between two servers is safe to write only if you have read how the owning server writes it. The field names matching is not the contract; the arithmetic on them is.

Privacy

All data stays local: ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/deposits/. No account, no API key, no network call, ever. Licence keys are verified offline.

Built by theluckystrike. Support: [email protected]

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/deposits/README.md,提交 6535b33

工具

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

版本历史

3
  1. v0.22.6最新Oct 14, 2026
  2. v0.22.1Sep 26, 2026
  3. v0.21.0Sep 16, 2026

评分

已满足适用检查项的 50%

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

  • 近 30 天内可连通25 分

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

  • 已声明认证方式10 分

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

  • 已列出工具15 分

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

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