关于 Local-first personal finance MCP
finance-mcp 面向希望将账户数据保存在本地 Markdown 库中的个人财务用户,采用本地优先设计。它通过 Plaid 同步余额、持仓、交易和负债,并将访问令牌存储在 macOS Keychain 中。
主要功能
- 01通过 Plaid 连接银行和券商账户
- 02同步余额、持仓、交易和负债
- 03将账户与现金流数据写入 Markdown
- 04在 macOS Keychain 中保存访问令牌
- 05在本地 SQLite 中保存交易记录
适用场景
- 01跟踪已连接金融账户的余额
- 02在本地库中查看投资持仓和月度现金流
- 03在本地同步交易且不返回访问令牌
MCP 相关
MCP 服务提供连接和解除机构、同步财务数据、汇总月度现金流及查看审计日志的工具。工具响应以别名标识机构,不包含原始访问令牌。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
finance-mcp
本地优先的个人财务 MCP。通过 Plaid 汇总银行、券商、信用卡和贷款账户。将余额、持仓和交易写入本地 Obsidian 风格的 Markdown 知识库。访问令牌保存在 macOS Keychain 中。除 plaid.com 外,绝不会向任何地方发送数据。
功能
- 通过 Plaid 关联任意美国银行或券商(Chase、Citi、Schwab、Discover、Fidelity、Wells Fargo、Bank of America、Capital One、Vanguard、Robinhood、Coinbase、学生贷款服务商等,总计超过 12,000 家机构)。
- 获取所有账户的实时余额 → 将自动同步区块写入知识库中的
Accounts.md。 - 获取投资持仓,包括份额、成本基础和当前价值 → 写入
Investments.md。 - 以游标方式获取交易(首次同步后仅获取增量)→ 存储在本地 SQLite 中。
- 按类别汇总月度现金流 → 写入
Cash Flow.md。 - 获取负债信息(信用卡 APR、账单余额、学生贷款还款信息)。
- 记录每次 Plaid 调用和每次 Keychain 访问的审计日志。
为什么本地优先很重要
大多数个人财务 SaaS(Mint、Copilot、YNAB、Monarch)会将你的银行数据存储在其服务器上,并以此向你收费。这个 MCP:
- 在你的笔记本电脑上运行,直接连接 Plaid,并写入本地知识库。
- 将访问令牌保存在 macOS Keychain 中,而不是环境变量文件或任何数据库中。
- 绝不会在工具响应中返回访问令牌——账户以别名(
chase、citi等)引用。 - 知识库数据是带有 Dataview 内联字段的纯 Markdown——数据由你掌控,格式由你决定,永远可以查询。
安装
打开 Claude Code,粘贴:
/plugin marketplace add adelaidasofia/finance-mcp
/plugin install finance-mcp@finance-mcp
需要 macOS(用于 Keychain)和 Python 3.11+。安装后,在插件根目录的 .env 中设置 Plaid 凭据(Plaid 注册指南请参阅 SETUP.md)。
首次使用
> healthcheck
如果显示阻止项,请按提示处理。全部变为绿色后:
> link_start(institution_alias="chase")
在 Plaid 的 Link 演示页面中打开返回的 link_token(将令牌粘贴到标有“Link Token”的字段中,然后点击“Open Plaid Link”)。在浏览器中完成银行身份验证。从成功页面复制 public_token。
> link_complete(institution_alias="chase", public_token="public-sandbox-...")
对每家银行重复此操作。
> sync_balances
> sync_holdings
> sync_transactions
> rollup_month(month="2026-05")
现在,你的知识库中的 Accounts.md、Investments.md 和 Cash Flow.md 已包含带有当前数据的自动同步区块。需要时可随时重新运行。
工具概览
| 工具 | 功能 |
|---|---|
healthcheck | 验证 Plaid 凭据、保险库路径和钥匙串访问权限。 |
link_start(alias) | 开始关联新银行。返回 link_token。 |
link_complete(alias, public_token) | 兑换 public_token,并存储到钥匙串。 |
list_linked | 列出已关联的金融机构及上次同步时间戳。 |
unlink(alias) | 移除一家金融机构。撤销 Plaid 项目并删除钥匙串条目。 |
sync_balances([alias]) | 拉取当前余额 → Accounts.md。 |
sync_holdings([alias]) | 拉取投资持仓 → Investments.md。 |
sync_transactions([alias]) | 基于游标同步交易记录 → SQLite。 |
sync_liabilities([alias]) | 拉取信用账户和贷款详情。 |
sync_all([alias]) | 按顺序执行以上所有操作。 |
rollup_month(month) | 计算月度收支汇总 → Cash Flow.md。 |
audit_tail(n) | 最近 N 条审计日志记录。 |
安全模型
- Plaid
access_token存储在 macOS 钥匙串(securityCLI)中,服务名称为finance-mcp,账户名称 = 你的金融机构别名。 - Plaid
client_id和secret存储在.env中(chmod 600)。永不提交(位于.gitignore中)。 - 交易历史存储在
~/.claude/finance-mcp/data.db的 SQLite 数据库中(不在你的保险库中)。 - 只有在配置的
FINANCE_MCP_FINANCE_FOLDER目录中才会写入保险库。将其设为空字符串即可完全禁用保险库写入。 - 审计日志会记录每次 Plaid 调用和每次钥匙串操作。
- 工具响应绝不包含原始访问令牌。
Plaid 环境
- sandbox(默认):虚拟银行、虚拟凭据(
user_good/pass_good)。永久免费。请先使用此环境。 - development:真实银行,每个 Plaid 账户最多免费关联 100 个项目。用于个人账户。
- production:大规模使用真实银行。需要 Plaid 应用和付费计划。
在 .env 中通过 PLAID_ENV 设置。切换环境时需要重新关联所有金融机构(令牌与环境绑定)。
配套 MCP
jkoelker/schwab-mcp— 直接访问 Charles Schwab Trader API,支持期权、下单交易,以及 Plaid 未提供的详细持仓数据。tomasgesino/schwab-mcp— Schwab wheel 策略管理,默认采用模拟运行交易。
finance-mcp 通过 Plaid 提供 Schwab 基础余额和持仓信息;如需使用 Schwab 的高级功能,请使用以上工具。
此系列中的相关 MCP
- apollo-mcp — Apollo.io CRM 和外联序列。
- slack-mcp — 多工作区 Slack,具备草拟 + 确认安全机制。
- imessage-mcp — 本地 iMessage,支持 Whisper 语音转录。
- whatsapp-mcp — 通过本地桥接连接 WhatsApp。
- substack-mcp — 发布文章和 Notes,并获取分析数据。
- parse-mcp — 多后端文档解析路由器。
- graph-query-mcp — 个人知识图谱查询。
遥测
此插件在某台设备上的 Claude Code 会话中首次加载时,会向 myceliumai.co 发送一条匿名安装信号。
发送内容:
- 插件名称(例如
slack-mcp) - 插件版本(例如
0.1.0)
不会发送的内容:
- 不会发送任何用户标识符、姓名、电子邮件、令牌或 API 密钥
- 不会发送文件路径、消息内容或任何工作相关信息
- 去重处理后不会存储 IP 地址
**原因:**帮助维护者了解用户实际安装了哪些插件,以便将精力投入到有人使用的插件上。
**选择退出:**在启动 Claude Code 前设置环境变量 MYCELIUM_NO_PING=1。钩子将完全跳过网络调用。已发送过信号的安装会在 ~/.mycelium/onboarded-<plugin> 留下标记文件——如果想重置状态,请将其删除。
许可证
MIT。请参阅 LICENSE。
旧版安装(手动)
对于暂时无法使用插件市场的用户,手动安装流程:
git clone https://github.com/adelaidasofia/finance-mcp ~/.claude/finance-mcp
cd ~/.claude/finance-mcp
pip3 install --break-system-packages -r requirements.txt
cp .env.example .env
chmod 600 .env
然后将以下内容添加到保管库的 .mcp.json(项目范围)或 ~/.claude.json(用户范围,通过 claude mcp add),以在 Claude Code 中注册:
"finance": {
"type": "stdio",
"command": "python3",
"args": ["-m", "finance_mcp.server"],
"env": {
"PYTHONPATH": "/Users/<you>/.claude/finance-mcp",
"FINANCE_MCP_VAULT_PATH": "/Users/<you>/Documents/MyVault",
"FINANCE_MCP_FINANCE_FOLDER": "Finance"
}
}
重启 Claude Code。工具会显示在 mcp__finance__* 下。
由 Adelaida Diaz-Roa 构建。完整安装或团队版请访问 diazroa.com。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。