
Myfinance Mcp
io.github.alex-odoo由 GitHub 账号 alex-odoo 发布v0.18.0更新于 Oct 24, 2026
Personal finance by conversation: expenses, receipts, statement import, budgets, net worth.
概览
远程个人财务 MCP 服务器:通过对话记录支出、收入与转账,导入银行账单,并获得预算、趋势和净资产统计。
- 可以做什么
- 记录支出、收入、转账与退款,并修改或删除已有交易
- 批量导入 CSV、PDF 或截图形式的银行账单,自动去重并核对总额
- 按类别、商家、月份或周查看支出,支持与上一周期对比及趋势分析
- 管理账户、余额、净资产、预算和周期性付款,并在对话中显示仪表盘
- 导出个人资料 JSON 与交易 CSV,或以只读方式同步 ZenMoney 及内测中的开放银行数据
- 修改基础货币、时区和邮件摘要设置,或彻底删除全部数据
- 适用场景
- 适合希望用对话而非表格或记账软件来记录个人或小生意开支的人,包括导入已有银行导出文件、查看预算执行情况和净资产。也适合希望由 AI 客户端基于已存记录计算合计、而非自行估算的用户。
- 运行要求
- 通过 Streamable HTTP 连接 myfinance-mcp.com 的远程端点,无需本地安装。必须使用 OAuth 登录,可用 Google 或邮件一次性验证码,首次登录即创建账户。ZenMoney 同步需要用户自己的 API 令牌;开放银行仅限受邀账户。
安装
在 SourceWeft 中
- 打开 控制台中的 Myfinance Mcp,将其添加到工作区。
- 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
交给智能体安装
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/io.github.alex-odoo%2Fmyfinance-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。
{
"mcpServers": {
"myfinance": {
"type": "http",
"url": "https://myfinance-mcp.com/mcp"
}
}
}README
MyFinance MCP
A remote MCP server for personal finance, an AI expense tracker for Claude, ChatGPT, Codex and Cursor - log expenses by talking, snap receipt photos, import statements from any bank (CSV, PDF or a screenshot), and get budgets, trends and net worth computed for you, in 150+ currencies.
Website: myfinance-mcp.com · Free while in beta · Built by Rteam
Quick Start
Already hosted and ready to use - just connect it to your MCP client:
On Claude: Customize → Connectors → + Add → Add custom connector → name it and paste the URL → Continue → Authentication: Sign in now (if the form asks for an OAuth client, keep Use Claude's published identity (Recommended); Register automatically works too) → Add. Never choose "Use your own OAuth client" or fill a Client ID/Secret - that breaks sign-in. Works on every Claude plan (Free allows one custom connector).
On ChatGPT (web): turn on Developer mode (Settings → Apps → Advanced settings), then Plugins → + → Add custom MCP server (older menu: Settings → Apps → Create) → paste the URL → OAuth, client ID/secret empty → create and sign in → type @ in a chat to use it. Per OpenAI's help center, custom MCP servers with write actions (needed for logging) are available on Business, Enterprise and Edu; Pro gets read-only access; the help center does not list Developer mode for Free, Go or Plus, so if you do not see it, use Codex.
On Cursor: Add to Cursor, or add "myfinance": { "url": "https://myfinance-mcp.com/mcp" } under mcpServers in ~/.cursor/mcp.json, then click Connect next to MyFinance in Customize.
On Codex (included in every ChatGPT plan, Free too):
On first connect you sign in with Google or with a one-time code sent to your email; that first sign-in creates your MyFinance account. Your data persists across reconnections. Step-by-step guides per client: myfinance-mcp.com/install.
Why
- No app, no forms, no spreadsheet. "Spent 24.50 eur on groceries at Lidl" is the whole workflow.
- Every number is computed in SQL. The server owns the data and the math; the AI reads the results, it never guesses arithmetic.
- 150+ currencies. Transactions keep their original currency (ECB and National Bank of Ukraine rates, plus a public daily snapshot for every other ISO currency from March 2024); the FX rate to your base currency is frozen at transaction date, so history never rewrites itself.
- Any bank, by statement. Drop a CSV/PDF export or a screenshot from your banking app; hundreds of rows import in one call with idempotent deduplication, hand-logged twins merged, totals reconciled. ZenMoney users can sync read-only instead.
- Personal vs business. Entity tag on accounts and transactions, filterable everywhere, included in CSV export for your accountant.
- Dashboards in the chat. Budgets, trends, summaries and accounts render as interactive panels (MCP Apps) right in the conversation.
Tech Stack
- Bun - runtime and package manager
- Express - HTTP layer
- MCP SDK - Model Context Protocol over Streamable HTTP (stateless)
- OAuth 2.1 - PKCE, dynamic client registration and client ID metadata documents (Claude's published identity); sign-in with Google or an emailed one-time code (each optional)
- Prisma + PostgreSQL - all money as
numeric, all stats as SQL aggregates - Docker - single container deployment
MCP Tools
Tools merged in 0.18.0 (ping, get_trends, delete_transaction, create_account, update_account, delete_account, merge_accounts, log_balance, export_profile, export_transactions, connect_zenmoney, sync_zenmoney, connect_bank, sync_bank) are no longer listed but still answer under their old names, so a client that kept an older tool list keeps working.
MCP Apps
Three tools return an interactive dashboard (ui://myfinancemcp/dashboard) rendered directly in the chat on clients that support MCP Apps: budget rings (get_budget_progress), category summaries and monthly trends (get_summary) and the accounts/net-worth panel (get_accounts). Light and dark theme aware.
Security & Privacy
- Receipt photos are parsed by YOUR AI client; images never reach this server.
- Amounts, merchants and notes are never written to server logs (blind logs); usage events keep tool names, timings, error classes and coded argument values, keyed to the account and deleted with it.
- OAuth 2.1 with PKCE, rotating refresh tokens (
offline_accessadvertised), rate-limited sign-in. - All 20 tools carry MCP annotations (read-only and destructive ops flagged, connector tools marked open-world), so clients can gate confirmations correctly.
- Bank access is strictly read-only: ZenMoney via the user's own API token, and, in the closed beta, open banking consent via Enable Banking (the bank authenticates the user; we never see credentials). Session ids and tokens are stored AES-256-GCM encrypted.
- CSV export and instant full deletion are tools, not support tickets.
- Hosted instance: EU data residency (Supabase, eu-central-1), TLS to the database with a pinned CA. Every query is scoped to your account by the server; the database's own API is closed to everyone (row-level security, deny-all).
- 401 automated end-to-end checks (full OAuth flow for public and confidential clients incl. browser binding and audience checks, every tool, import dedup semantics, GDPR deletion) run as a hard deploy gate; CI runs lint and typecheck on every push.
See SECURITY.md for the disclosure policy.
Self-hosting
MIT-licensed; runs anywhere Bun and Postgres run.
The landing page in site/ is set in Switzer, whose free licence does not allow redistribution, so the font file is not in this repository. For the same look, download it from Fontshare and put Switzer-Variable.woff2 in site/fonts/; without it the pages fall back to the system font. The MCP server does not need it.
1. Postgres
Any PostgreSQL 15+ works. Supabase free tier is a good fit: create a project and copy the session pooler connection string (IPv4).
Apply the schema, then close the tables to Supabase's public Data API (Prisma creates tables with row-level security OFF, and Supabase exposes every public table to anyone holding the project's anon key). Re-run the second command after every db push that adds a table:
Database TLS: Supabase hosts are verified against Supabase's root CA automatically; for any other host, put sslmode= in DATABASE_URL.
2. Environment variables
Generate the password hash:
3. Run
Put nginx (or any TLS-terminating proxy) in front and point BASE_URL at your domain. The static landing in site/ is optional - serve it from the same origin if you want one.
Development
The e2e suite (359 checks) covers the full OAuth flow (discovery, dynamic registration, client ID metadata documents, PKCE, refresh rotation, revocation; public and confidential clients), every tool, statement-import dedup semantics, ZenMoney sync against a stubbed Diff API, and GDPR deletion.
API Endpoints
License
MIT - Rteam FZE LLC
来源:README.md,提交 4283315
工具
0版本历史
3- v0.18.0最新Oct 14, 2026
- v0.14.0Oct 1, 2026
- v0.12.0Sep 16, 2026
评分
已满足适用检查项的 85%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通必需25 分
- 已声明认证方式必需10 分
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分