Personal finance by conversation: expenses, receipts, statement import, budgets, net worth.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Myfinance MCP.
log_expenseRecord one purchase, bill or receipt (negative amount = refund)
log_incomeRecord income: salary, invoice, refund, interest
log_transferMove money between accounts, cross-currency supported; never counts as spending
log_balanceAnchor an account's balance at a date; later flows compute from the snapshot
import_transactionsBulk statement import (up to 500 rows/call): dedup by bank reference or derived key, twin merge, reconciliation check
create_accountCreate a bank / card / cash / investment account with currency and personal/business entity
A remote MCP server for personal finance - log expenses by talking, snap receipt photos, import whole bank statements, and get budgets, trends and net worth computed for you, in any currency.
Website: myfinance-mcp.com Β· Free while in beta Β· Built by Rteam
Already hosted and ready to use - just connect it to your MCP client:
On Claude.ai: Customize β Connectors β + β Add custom connector β paste the URL β Connect. Leave the OAuth Client ID and Client Secret fields empty - filling them breaks sign-in.
On ChatGPT: Settings β Apps β Create app β paste the URL β choose OAuth β Create.
On first connect you sign in with Google or register with an email and password. Your data persists across reconnections.
numeric, all stats as SQL aggregates| Tool | Description |
|---|---|
log_expense | Record one purchase, bill or receipt (negative amount = refund) |
log_income | Record income: salary, invoice, refund, interest |
log_transfer | Move money between accounts, cross-currency supported; never counts as spending |
log_balance | Anchor an account's balance at a date; later flows compute from the snapshot |
import_transactions | Bulk statement import (up to 500 rows/call): dedup by bank reference or derived key, twin merge, reconciliation check |
create_account | Create a bank / card / cash / investment account with currency and personal/business entity |
update_account | Rename an account or change its type, entity or main currency |
delete_account | Delete one money account (with its transactions after explicit confirmation) |
merge_accounts | Fold one account into another: move rows, de-duplicate both sides, rewrite transfers |
get_accounts | All accounts with balances and net worth, converted to base currency |
get_summary | Period totals by category, merchant or month; expense or income breakdown, category drill-down and exclusions |
get_transactions | List and filter raw transactions |
get_trends | Month-over-month spending trends and deltas |
set_budget | Monthly cap per category or overall |
get_budget_progress | Live budget progress with days left; renders as a dashboard |
update_transaction | Fix any field of an existing transaction, including its type (e.g. turn a cash withdrawal into a transfer); category fixes are remembered per merchant for future syncs |
delete_transaction | Delete one transaction by id |
delete_transactions | Bulk delete by ids |
get_settings | Base currency and timezone |
update_settings | Change base currency or timezone |
export_transactions | Full CSV export (includes the entity column for accountant handoff) |
connect_bank | Link a real bank via open banking (Enable Banking, EU/UK): list banks, start consent, status, per-account sync toggle, disconnect |
sync_bank | Pull booked transactions and balances from the connected bank; incremental, transfer pairing, dedup-safe. Healthy connections also auto-sync server-side roughly daily |
connect_zenmoney | Link a ZenMoney account (international and .ru backends auto-detected) for read-only sync |
sync_zenmoney | Pull ZenMoney accounts and transactions; incremental, dedup-safe, keeps your manual edits |
delete_all_data | Permanently delete the user profile and ALL data (GDPR erasure) |
ping | Health and auth check |
Four tools return an interactive dashboard (ui://myfinancemcp/dashboard) rendered directly in the chat on clients that support MCP Apps: budget rings, monthly trends, category summaries and the accounts/net-worth panel. Light and dark theme aware.
See SECURITY.md for the disclosure policy.
MIT-licensed; runs anywhere Bun and Postgres run.
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:
| Variable | Description |
|---|---|
PORT | Server port (default 8788) |
BASE_URL | Public URL of the server (OAuth issuer) |
DATABASE_URL | Postgres connection string |
MYFINANCE_MCP_EMAIL | Bootstrap user email |
MYFINANCE_MCP_PASSWORD_HASH | Bootstrap user password hash (see below) |
GOOGLE_CLIENT_ID | (optional) Google OAuth client ID for "Continue with Google" |
GOOGLE_CLIENT_SECRET | (optional) Google OAuth client secret |
RESEND_API_KEY | (optional) Resend key for new-signup email notifications |
NOTIFY_EMAIL | (optional) Where signup notifications go |
FROM_EMAIL | (optional) Verified sender for notifications |
AUTO_SYNC_INTERVAL_MS | (optional) Bank auto-sync tick, default hourly (syncs connections >20h stale); 0 disables |
Generate the password hash:
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.
The e2e suite (154 checks) covers the full OAuth flow (discovery, dynamic registration, PKCE, refresh rotation), every tool, statement-import dedup semantics, ZenMoney sync against a stubbed Diff API, and GDPR deletion.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/myfinance-mcp)<a href="https://allmcps.com/mcp/myfinance-mcp"><img src="https://allmcps.com/api/badge/myfinance-mcp?style=directory" alt="Myfinance MCP on AllMCPs" /></a>