关于 cash-float
用于管理备用金定额制现金浮动的 MCP 服务,可记录凭证和补款、核对盘点差额并计算补充金额,不向其他账簿记账。
主要功能
- 01开立备用金并指定保管人
- 02记录凭证与补款
- 03核对现金盘点
- 04计算补充金额
- 05生成分类费用数据
- 06报告余额与盘点历史
适用场景
- 01记录现金盒支出的收据
- 02比较实点现金与预期余额
- 03依据凭证和差额准备补款
MCP 相关
向 MCP 客户端提供零用现金记录、核对和补充工具。它返回日记账及费用数据,但不会将其记入其他存储。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
从 Claude 跟踪备用金
收录于 官方 MCP Registry(io.github.theluckystrike/petty-cash)。
像纸面账目一样管理备用金。按定额备用金制开设一个钱箱,并指定保管人;每次从中支出时都记录一张凭证;随时清点现金,并精确到最小货币单位计算差额,同时列出本次清点涵盖的凭证。钱箱余额偏低时,它会计算补充金额:要让备用金恢复到定额所需开出的支票金额、该金额对应报销的凭证、按类别汇总且可直接用于 expense_add 的负载,以及使用现金簿自身账户名称的复式记账分录。所有金额均为整数个最小货币单位,不会存储任何余额,也不会将任何内容记账到其他地方:负载会返回给负责账簿的人。
由 theluckystrike 构建。
@theluckystrike/mcp-petty-cash 的 npm 发布尚未完成,因此今天运行 npx -y @theluckystrike/mcp-petty-cash 会返回 404。在此之前,可用的方式是 .mcpb 一键安装包,或克隆并构建。
安装
Claude Desktop
macOS:~/Library/Application Support/Claude/claude_desktop_config.json;Windows:%APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"petty-cash": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-petty-cash"]
}
}
}
Claude Code
claude mcp add petty-cash -- npx -y @theluckystrike/mcp-petty-cash
Cursor
~/.cursor/mcp.json(全局)或 .cursor/mcp.json(项目),使用与 Claude Desktop 相同的条目。
工具
| 工具 | 功能 |
|---|---|
float_open | 按定额备用金制开设备用金:名称、货币、以最小货币单位表示的定额金额、保管人。返回 FLOAT-YYYY-NNNN 和开账分录 |
topup_record | 记录存入钱箱的现金:金额、日期、来源。将截至该日期的所有凭证标记为已报销 |
voucher_add | 记录一张从钱箱支出的凭证:金额、日期、类别、说明、收款人、收据参考。返回 VOU-YYYY-NNNN |
voucher_delete | 删除仍未清点的错误录入凭证 |
reconcile | 清点现金:返回预期余额、差额、上次清点以来的凭证;将这些凭证全部标记为已核对,并记录本次清点 |
replenish_request | 计算恢复定额备用金所需内容:金额、涵盖的凭证、按类别汇总的 expense_add 负载和复式记账分录。不写入任何内容 |
float_report | 显示余额与定额的对比、未核对凭证、上次清点,以及每次清点发现的所有差额历史记录 |
license_status / license_activate | 免费版或 Pro 版,以及许可证密钥 |
免费版与 Pro 版
| 免费版 | Pro 版 | |
|---|---|---|
| 可开设备用金账户数 | 1 | 不限 |
| 每个日历月的凭证数 | 20 | 不限 |
核对(reconcile) | 不限 | 不限 |
删除凭证(voucher_delete) | 支持 | 支持 |
记录补充款(topup_record) | 支持 | 支持 |
补充申请(replenish_request) | - | 支持 |
报告(float_report) | - | 支持 |
清点次数永不设限。钱箱里的现金是否与账面记录相符,正是此服务存在的意义;如果免费版不提供答案,那就只是个演示。设限的是记录量:第二个备用金账户就意味着第二个钱箱,每月 20 张凭证足以满足真正的单钱箱办公室需求。voucher_delete 也免费,原因与记录数量设限相同:否则重复录入的凭证会占用一个名额,除非使用密钥,否则无法撤回。
获取 Pro 版:https://mcp.zovo.one/buy/petty-cash,单独购买此服务一次性收费 $19,或购买套装收费 $39。
一个有度的洞察
支票金额并不等于凭单金额总和,而且凭单记录中看不出其中的差额。
test/unit.test.mjs 中的示例月份:零用金定额为 EUR 500.00,五张凭单合计 20,194 个最小货币单位,因此账面记录显示,31 日现金盒中应有 29,806。实际只有 29,795。盘点结果恰好短少 11 个最小货币单位,也就是 11 分;没有凭单能解释这笔差额,也永远找不到对应的收据。
因此,补充金额是 20,205,而不是 20,194。按凭单总额报销是顺理成章的做法,毕竟这就是凭单金额的总和,但这样一来,备用金就会少补 11。相同的测试套件连续运行三个周期后,备用金余额变为 49,967,而定额为 50,000,短少 33 个最小货币单位;期间的三次对账都只报告了恰好 11 的差额,没有出现更大的问题。一切看起来都正常,只是现金盒里的钱越来越少。
这就是为什么 replenish_request 会计算 imprest - balance,而不是计算 sum(vouchers);也正因如此,差额会作为单独的 cash_over_short 日记账分录返回,而不是并入某个费用类别,让它看起来像邮资。
隐私
所有数据都保存在本地的 ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/petty-cash/ 中,共三个文件:floats.json、vouchers.json、counter.json。数据不会发送到任何地方,没有账户、没有 API 密钥,这个服务也完全不会进行网络调用。许可证密钥会离线验证。日记账和 expense_add 负载会返回给你;这个服务不会向任何其他存储写入内容。
由 theluckystrike 构建。https://github.com/theluckystrike
常见问题
有零用金 MCP 服务吗?
有。mcp.zovo.one 上的 petty-cash 服务采用定额备用金制管理零用金:凭单、补款、分类余额和对账。提供免费层级、托管端点和本地优先存储。
如何通过 Claude 跟踪零用金?
连接 https://mcp.zovo.one/mcp/petty-cash 并说:“记录一张 15 EUR 的办公用品凭单。”补款和对账只需单条提示词。
将这些文档用作 MCP 服务
任何 MCP 客户端(Claude、Cursor、Windsurf、VS Code)都可以通过 GitMCP 直接读取此代码库的文档,无需安装:
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。