关于 chargescout
chargescout 是本地运行的 MCP 服务和命令行工具,用于分析银行或信用卡账单 CSV,识别定期扣款、价格上涨和可能的重复收费。它无需账户或网络连接,适合个人、小企业和自由职业者审查支出。
主要功能
- 01识别周期性扣款及周期
- 02估算年度支出
- 03提示价格上涨和重复收费
- 04检查 CSV 列与行数
- 05支持 JSON 输出
适用场景
- 01审查个人或企业订阅支出
- 02寻找可能已停止的订阅
- 03检查账单中的涨价或重复收费
MCP 相关
MCP 服务提供订阅查找和 CSV 检查工具。查找工具会将商户名称和金额返回给 MCP 客户端;处理在本地进行,项目不使用网络。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| path | string | 是 | 银行或信用卡账单 CSV 的路径 |
| limit | null|integer | 否 | 返回的最多发现数,默认值为 100。0 表示仅返回汇总 |
| columns | object | 否 | 字段对应的列名(date、amount、credit、debit、description),在检测失败时使用 |
| date_format | string | 否 | dmy 或 mdy,仅在工具报告日期有歧义时需要 |
| positive_out | boolean | 否 | 如果文件像许多信用卡账单一样将扣费显示为正数,则设置此项 |
详细介绍
chargescout:在银行账单中查找订阅和定期扣费
查看你正在支付的所有订阅、每年的费用、价格上涨的项目,以及被重复扣费的情况,无需关联银行账户或上传任何内容。适用于小型企业、自由职业者以及任何想要审查支出的人。
订阅追踪工具通常需要你的银行登录信息,并收取月费。chargescout 会读取银行或信用卡导出的 CSV 文件,找出每周、每月、每季度或每年重复发生的扣费。它既是 MCP 服务,也是单个 Go 二进制文件,无需账户、API 密钥,也不会访问网络。
可以向你的 Agent 提出的问题
- “我正在支付哪些订阅费用?”
- “我的定期扣费每年要花多少钱?”
- “哪些订阅涨价了?”
- “有什么项目被重复扣费了吗?”
- “我的企业可以取消哪些项目来省钱?”
安装
作为 Claude Code 插件安装,它会添加 MCP 服务和一项技能,用来告知 Claude 何时使用该工具。你需要安装 Node,它会通过 npx 运行此服务:
claude plugin marketplace add GillMacedo/chargescout
claude plugin install chargescout@chargescout-marketplace
其他 MCP 客户端:
{
"mcpServers": {
"chargescout": {
"command": "npx",
"args": ["-y", "chargescout", "serve"]
}
}
}
也可以使用 Go 1.27 或更高版本构建二进制文件:
go install github.com/GillMacedo/chargescout@latest
用法
无需安装即可运行 npx chargescout find statement.csv。此示例使用 examples/ 中虚构的账单:
$ go run . find examples/statement.csv
SAMPLE POWER CO 83.30 monthly 999.60/year last 2026-09-12 active (likely)
! amount varies, so this may be a usage-based bill
MOCK ACCOUNTING SOFTWARE 60.00 quarterly 240.00/year last 2026-08-25 active (likely)
SAMPLE STREAM 18.99 monthly 227.88/year last 2026-09-03 active
! price went up from 15.99 to 18.99 on 2026-06-03
PLACEHOLDER DOMAINS ANNUAL 120.00 yearly 120.00/year last 2026-09-14 active (likely)
EXAMPLE CLOUD STORAGE 9.99 monthly 119.88/year last 2026-09-07 active
! possible double charge of 9.99 on 2026-06-08
FICTIONAL GYM MEMBERSHIP 45.00 monthly 540.00/year last 2026-05-21 may have stopped
SKIPPED row 59: no valid date or amount
6 recurring charges, 5 active, costing 1707.36 a year
如果文件中的扣费以正数显示(许多信用卡账单都是如此),请添加 --positive-out;如果需要机器可读的输出,请添加 --json。账单越长,结果越准确;最好提供一整年的记录。
判定方式
| 发现结果 | 规则 |
|---|---|
| 定期扣费 | 同一商户有 4 笔或更多扣费,且间隔和金额稳定 |
| 可能 | 有 3 笔扣费、间隔一年的 2 笔扣费,或金额在大多数周期中会变化但整体规律的账单 |
| 可能已停止 | 截至账单末尾,下一笔扣费已逾期。此类项目不会计入总额 |
大多数扣费间隔必须符合周期,金额波动不得超过 25%,因此日常购物不会被报告。同一家公司的两项套餐会分别列出。
MCP 工具
| 工具 | 功能 |
|---|---|
subscriptions_find | 返回定期扣费、年度费用和提醒;长结果会受到条数限制 |
subscriptions_inspect_csv | 显示检测到的列和行数,不显示行内容 |
这两项工具都只读。subscriptions_find 会将商户名称和金额返回给 MCP 客户端,因此这些信息会传送给你使用的 AI 模型。CLI 会将所有内容保留在你的计算机上。
常见问题
如何查找遗忘的订阅? 将银行或银行卡交易记录导出为 CSV,然后运行 npx chargescout find statement.csv。
我必须连接银行账户吗? 不需要。它只会读取你提供的文件,而且不包含任何网络代码。
它能取消订阅吗? 不能。它会显示已有的订阅,你需要联系各个服务提供商取消。
它适用于我的银行吗? 它可以读取 CSV 导出文件,并识别多种语言中的常见列名;你也可以通过 --columns date=When,amount=Sum,description=What 指定其他列名。目前尚未针对各家银行的实际导出文件进行测试。
限制
- 这款工具可以帮助你查看支出,但不构成财务建议。请对照账单核实结果。
- 它只能读取 CSV,因此需要先转换 PDF 账单。
- 商户名称来自银行的交易描述,因此同一家公司可能会显示为两个名称,且这些名称不会关联起来。
- 它可能会漏掉时间间隔不规律的扣款,也可能会将稳定的非订阅支出(例如房租或定期购物)报告为订阅。
- 年度费用是最近一次扣款金额乘以每年的扣款次数,因此只是估算值。
- 它假定金额有两位小数,且不会转换货币。
- 目前仅在模拟数据上进行过测试,未使用实际导出文件。如果你的文件无法正常使用,请提交问题,并附上列标题,而不是你的数据。
参与贡献
欢迎大家贡献,无论是个人还是与 AI Agent 合作的人。请参阅 CONTRIBUTING.md。适合新手的事项:
- 添加更多银行和语言的列名
- 添加更多银行卡处理商前缀,以便清理商户名称
- 将不同名称对应的同一商户关联起来
- 添加
--out,将结果写入 CSV - 添加插件图标
拉取请求的处理方式
- 提交 PR。 Fork 这个仓库,在分支上进行开发,并确保每个 PR 只包含一项更改。标题应说明用户会看到什么变化,因为它会成为变更日志中的条目:
feat:会列在“新增”下,fix:会列在“修复”下。 - 自动检查。 代码更改需要附带测试,并且
make test必须通过。超过 30 行的更改需要关联一个已开启的问题(Closes #<number>),且 PR 最多只能包含 800 行更改。如果缺少任何内容,系统会通过评论告知你需要修复什么。 - 审核。 Claude 会自动审核每个 PR。代码 PR 还会接受安全审核,并在沙箱中进行测试。审核完成后会合并 PR,或要求你进行修改。涉及 CI、Agent 设置、npm 或 Python 依赖、供应商代码或构建文件更改的 PR 无法通过这种方式合并,系统会通过评论说明。安全审核未通过的内容也同样无法合并。
- 发布。 影响用户安装内容的合并更改会在约两小时内发布为新版本,并附带 GitHub Release;如果项目有 npm 包,也会一并发布。文档和 CI 更改会等到下一次发布。
AI 披露
本项目大部分由 Claude Code 生成,并经维护者审核。
关于我
我是 Giulliano Macedo,在 GoTech Solutions 开发开发者工具。欢迎关注或联系我:
- GitHub:GillMacedo
- LinkedIn:giulliano
- X:@giumacedo
如果 chargescout 找到了你忘记的一笔扣款,点个星标可以帮助其他人发现它。
采用 MIT 许可证。
由 Giulliano Macedo、GoTech Solutions 构建 · LinkedIn · X
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。