mcpField
L
Local-first personal finance MCP

Local-first personal finance MCP

本地服务
github.com/adelaidasofia金融数据01 天前更新

关于 Local-first personal finance MCP

finance-mcp 面向希望将账户数据保存在本地 Markdown 库中的个人财务用户,采用本地优先设计。它通过 Plaid 同步余额、持仓、交易和负债,并将访问令牌存储在 macOS Keychain 中。

主要功能

  1. 01通过 Plaid 连接银行和券商账户
  2. 02同步余额、持仓、交易和负债
  3. 03将账户与现金流数据写入 Markdown
  4. 04在 macOS Keychain 中保存访问令牌
  5. 05在本地 SQLite 中保存交易记录

适用场景

  1. 01跟踪已连接金融账户的余额
  2. 02在本地库中查看投资持仓和月度现金流
  3. 03在本地同步交易且不返回访问令牌

MCP 相关

MCP 服务提供连接和解除机构、同步财务数据、汇总月度现金流及查看审计日志的工具。工具响应以别名标识机构,不包含原始访问令牌。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbfinance-mcp.mcpb0.1.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

许可证 GitHub 星标数 最近一次提交 未解决的问题 PyPI 版本 PyPI 下载量 由 Mycelium AI 构建

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 钥匙串(security CLI)中,服务名称为 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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。