Chargescout

io.github.GillMacedo由 GitHub 账号 GillMacedo 发布v0.2.0更新于 Nov 3, 2026

Find subscriptions, price increases and double charges in a bank statement CSV, on your machine.

已验证STDIO仅桌面金融数据与分析

概览

AI 生成的概览

在本机读取银行或信用卡对账单 CSV,找出周期性订阅、年度花费、涨价和可能的重复扣款。

可以做什么
  • 在账单 CSV 中查找周期性扣款,给出计费周期、年度费用、涨价提示和可能的重复扣款
  • 检查不熟悉的 CSV,显示识别到的列和可读取的行数,但不返回行内容
  • 回答诸如在付哪些订阅、每年花多少钱、哪些订阅涨价了、有没有被重复扣款等问题
适用场景
适合根据银行或信用卡交易的 CSV 导出审查个人或企业支出、寻找被遗忘的订阅或涨价、决定该取消哪些服务。它只处理你已有的文件,无需登录银行。
运行要求
作为本地进程通过 stdio 运行;通过 npx 运行需要 Node.js,或用 Go 1.27 及以上版本自行编译。无需账号、API 密钥或网络访问。需要一份交易 CSV 导出,历史越长效果越好,最好有一年数据。
安装前请注意
查找工具会把商户名称和金额返回给 MCP 客户端,因此这些信息会传到所使用的 AI 模型;命令行方式则全部留在本机。结果只是估算,不构成理财建议,应与账单核对。仅支持 CSV,假定两位小数,不做货币换算,且目前只用虚构数据测试过,未在真实银行导出上验证。它无法取消任何订阅。

安装

在 SourceWeft 中

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

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

其他 MCP 客户端

参照 仓库 中的启动说明。

README

chargescout: find subscriptions and recurring charges in your bank statement

[npm] [CI] [MIT license] [MCP Registry]

See every subscription you're paying for, what it costs per year, which prices went up, and where you were charged twice, without linking your bank account or uploading anything. For small businesses, freelancers and anyone auditing their spending.

Subscription trackers usually want your bank login and charge a monthly fee. chargescout reads a CSV export from your bank or card instead, and finds the charges that repeat weekly, monthly, quarterly or yearly. It's an MCP server and a single Go binary, with no account, no API key and no network access.

What you can ask your agent

  • "What subscriptions am I paying for?"
  • "How much do my recurring charges cost per year?"
  • "Which subscription prices went up?"
  • "Was I charged twice for anything?"
  • "What should my business cancel to save money?"

Install

As a Claude Code plugin, which adds the MCP server and a skill that tells Claude when to use it. You need Node, which runs the server through npx:

claude plugin marketplace add GillMacedo/chargescoutclaude plugin install chargescout@chargescout-marketplace

For other MCP clients:

json
{  "mcpServers": {    "chargescout": {      "command": "npx",      "args": ["-y", "chargescout", "serve"]    }  }}

Or build the binary with Go 1.27 or newer:

go install github.com/GillMacedo/chargescout@latest

Usage

Without installing anything, run npx chargescout find statement.csv. This example uses the made-up statement in examples/:

$ go run . find examples/statement.csvSAMPLE POWER CO  83.30  monthly  999.60/year  last 2026-09-12  active  (likely)  ! amount varies, so this may be a usage-based billMOCK 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-03PLACEHOLDER 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-08FICTIONAL GYM MEMBERSHIP  45.00  monthly  540.00/year  last 2026-05-21  may have stoppedSKIPPED row 59: no valid date or amount6 recurring charges, 5 active, costing 1707.36 a year

Add --positive-out if your file shows charges as positive numbers, as many card statements do, and --json for machine-readable output. A longer statement gives better results, and a year of history is ideal.

How it decides

FindingRule
Recurring4 or more charges from one merchant at a steady interval and price
Likely3 charges, 2 charges a year apart, or a steady bill whose amount changes most cycles
May have stoppedThe next charge is overdue by the end of the statement. It's left out of the total

Most intervals must fit the cycle, and amounts must stay within 25%, so everyday shopping isn't reported. Two plans from one company stay separate.

MCP tools

ToolWhat it does
subscriptions_findReturns recurring charges, yearly cost and alerts, with a limit for long results
subscriptions_inspect_csvShows detected columns and row counts, without row contents

Both are read-only. subscriptions_find returns merchant names and amounts to the MCP client, so they reach whichever AI model you use. The CLI keeps everything on your machine.

FAQ

How do I find forgotten subscriptions? Export your bank or card transactions as CSV and run npx chargescout find statement.csv.

Do I have to connect my bank account? No. It only reads the file you give it, and it has no network code.

Can it cancel subscriptions? No. It shows you what's there, and you cancel with each provider.

Does it work with my bank? It reads CSV exports and recognizes common column names in several languages, and you can name others with --columns date=When,amount=Sum,description=What. It hasn't been tested on each bank's real exports yet.

Limits

  • This helps you review spending and isn't financial advice. Check results against your statement.
  • It reads CSV only, so PDF statements need converting first.
  • Merchant names come from bank descriptions, so one company can appear under two names, and those won't be connected.
  • It can miss charges with irregular timing, and can report steady non-subscription spending, such as rent or a regular purchase.
  • Yearly cost is the last amount times the cycles per year, so it's an estimate.
  • It assumes two decimal places, and doesn't convert currencies.
  • So far it has been tested on made-up data, not real exports. If yours fails, please open an issue with the column headers, not your data.

Contributing

Contributions are welcome, from people and from people working with AI agents. See CONTRIBUTING.md. Good first issues:

  • Add column names from more banks and languages
  • Add more card-processor prefixes to merchant name cleanup
  • Connect the same merchant under different names
  • Add --out to write results to a CSV
  • Add a plugin icon

AI disclosure

This project was largely generated with Claude Code and reviewed by its maintainer.

About me

I'm Giulliano Macedo, and I build developer tools at GoTech Solutions. Follow along or get in touch:

If chargescout found a charge you forgot about, a star helps others find it.


MIT licensed.

Built by Giulliano Macedo, GoTech Solutions · LinkedIn · X

来源:README.md,提交 5fbae2c

工具

2

subscriptions_find

Find subscriptions and recurring charges

Finds subscriptions and other recurring charges in a bank or card statement CSV, with billing cycle, yearly cost, price increases and possible double charges. Use to audit spending or find what to cancel. Read-only, and never uses the network. Results include merchant names and amounts from the file, so they reach the model. It can't cancel anything.

输入参数path必填limitcolumnsdate_formatpositive_out

subscriptions_inspect_csv

Inspect a statement CSV

Shows which columns chargescout detects in a statement CSV and how many rows it can read, without returning row contents. Use if the file is unfamiliar or nothing was found.

输入参数path必填date_format

版本历史

2
  1. v0.2.0最新Nov 1, 2026
  2. v0.1.0Oct 31, 2026

评分

已满足适用检查项的 90%

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

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

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

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分