Skip to content
Agentmart
Submit a tool

Myfinance MCP

Personal finance by conversation: expenses, receipts, statement import, budgets, net worth.

Connector by alex-odoo · GitHub account verified by the MCP Registry

IndexedMITRemote (HTTP)★ 2
Write a review

Install

Works with Claude Code, VS Code, Cursor, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install connector/alex-odoo-myfinance-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Remote endpoint

  • https://myfinance-mcp.com/mcp Remote (HTTP)

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Personal finance by conversation: expenses, receipts, statement import, budgets, net worth.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 26, 2026.

Tools
11 read · 10 write · 13 delete
Secrets
None asked for
Install scripts
Nothing to install (hosted)
Runs as
Hosted (remote endpoint)

Tools by what they do 34

Read from the source code; the running server may list different tools.

Read 11 · Look things up without changing anything.

  • export_data
  • export_profile
  • export_transactions
  • get_accounts
  • get_budget_progress
  • get_recurring
  • get_settings
  • get_summary
  • get_transactions
  • get_trends
  • ping

Write 10 · Create, change, send or run things.

  • connect_bank
  • connect_zenmoney
  • create_account
  • log_balance
  • log_expense
  • log_income
  • log_transfer
  • sync_bank
  • sync_zenmoney
  • update_account

Delete 13 · Delete, drop, revoke or wipe things.

  • bank
  • delete_account
  • delete_all_data
  • delete_transaction
  • delete_transactions
  • import_transactions
  • manage_account
  • merge_accounts
  • set_budget
  • set_recurring
  • update_settings
  • update_transaction
Show 1 more tools
  • zenmoney

Network hosts it talks to 18

  • accounts.google.com · found in code
  • api.enablebanking.com · found in code
  • api.frankfurter.dev · found in code
  • api.resend.com · found in code
  • api.supabase.com · found in code
  • api.telegram.org · found in code
  • api.zenmoney.app · found in code
  • api.zenmoney.ru · found in code
  • bank.gov.ua · found in code
  • cdn.jsdelivr.net · found in code
  • chatgpt.com · found in code
  • claude.ai · found in code
  • finance.rteam.agency · found in code
  • github.com · found in code
  • glama.ai · found in code
  • googletagmanager.com · found in code
  • myfinance-mcp.com · found in remote endpoint, install command, code
  • oauth2.googleapis.com · found in code

Files it touches

  • /opt/myfinance-mcp
  • Your home directory (~)
  • Any path the agent passes to its tools

Tools (34)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • bankBank synccan change or delete data

    Read-only sync with a real bank via open banking (Enable Banking, EU/UK/EEA). If the user's country or bank is not listed, stop and import a statement instead (import_transactions). Flow: action=list_banks with the country (and optional search) for the exact bank name; action=start with bank_name + country returns an authorize_url the user opens and approves at the bank; when they are done, action=sync (first sync takes months_back of history, default 3; later ones are incremental; the server also syncs healthy connections daily). action=status: health, consent expiry, synced accounts. action=…

  • connect_bankConnect a bank

    Link a real bank account via open banking (Enable Banking, EU/UK/EEA coverage) for read-only transaction sync. If the user's country or bank is not listed, stop here and import a statement instead (import_transactions). Flow: action=list_banks with the user's country (and optional search) to find the exact bank name -> action=start with bank_name + country -> give the user the returned authorize_url to open and approve at their bank -> after they confirm they are done, run sync_bank. action=status shows connection health, consent expiry and the synced accounts list. action=set_account_sync wit…

  • connect_zenmoneyConnect ZenMoney

    Link a ZenMoney account (both zenmoney.app international and zenmoney.ru work; the right backend is auto-detected) for read-only transaction sync. action=paste_token stores the user's personal ZenMoney API token: get it free at zerro.app - log in choosing YOUR ZenMoney version on the login screen, then open zerro.app/token and copy it. action=status shows connection health and the synced accounts list. action=set_account_sync with account + enabled turns syncing of ONE account on or off, for example when the same bank is also connected via connect_bank. action=disconnect removes the link and s…

  • create_accountCreate account

    Add a money account: bank, card, cash, or investment (brokerage). Transfers between own accounts are then tracked without counting as spending.

  • delete_accountDelete one accountcan change or delete data

    Delete ONE money account (see get_accounts) together with its balance snapshots. If it still holds transactions, pass delete_transactions=true to confirm deleting them too. To erase the whole profile use delete_all_data instead.

  • delete_all_dataDelete all datacan change or delete data

    Erase the user profile and ALL financial data permanently (GDPR). For removing a single money account use manage_account action=delete instead. Requires confirm='DELETE'.

  • delete_transactionDelete transactioncan change or delete data

    Remove ONE wrongly logged record. For 3+ records use delete_transactions (bulk) with the ids array.

  • delete_transactionsDelete transactionscan change or delete data

    Delete wrongly logged transactions by id (from get_transactions): one, or many in ONE call with every id in ids. Never one call per row: one-by-one deletion hits the per-turn tool limit.

  • export_dataExport dataread-only

    Description is built at runtime.

  • export_profileExport profileread-only

    Everything except the transactions, as one JSON (GDPR portability, or a backup before moving): settings, accounts with their balance snapshots, budgets, saved recurring payments, the per-merchant category rules learned from the user's fixes, and bank/ZenMoney links (status and synced accounts; never tokens). Transactions come from export_transactions.

  • export_transactionsExport CSVread-only

    Description is built at runtime.

  • get_accountsAccounts & net worthread-only

    All accounts with computed balances (latest snapshot + tracked flows) and total net worth in the base currency. Optionally filtered to personal or business scope.

  • get_budget_progressBudget progressread-only

    Current month (user's timezone): spent vs cap for every budget, plus days left in the month. Budgets track PERSONAL spending only; business-scope transactions never count against them. log_expense and import_transactions return budget_alerts when they push a budget over its cap.

  • get_recurringRecurring paymentsread-only

    Subscriptions, rent, bills and other payments that repeat: the ones the user saved (set_recurring) and the ones found in their records (charges at one merchant that repeat weekly, monthly, quarterly or yearly at a steady amount; evidence=seen_once marks a single recent charge of a subscription service, cadence unknown). Each with amount, cadence, next expected date and monthly cost in the base currency; plus the monthly and yearly total (saved and repeating ones) and what is coming up in the next 30 days. Call it for 'what subscriptions do I pay', 'my fixed costs', 'what bills are coming'. Fou…

  • get_settingsGet settingsread-only

    Signed-in account email (which account is connected), base currency, timezone, the email summary choice and the server version.

Show 19 more tools
  • get_summarySpending summaryread-only

    Totals for a period, computed server-side in the user's base currency. Breaks down expenses (default) or income: 'how much did I spend on X in July', 'what does my June income consist of'. Supports category drill-down (category=subscriptions + group_by=merchant), exclusions (exclude_categories), week-by-week views (group_by=week), comparison with the period before (compare=previous: 'how does this week compare to last week') and totals in another currency (currency=USD).

  • get_transactionsList transactionsread-only

    Find records: 'what was that 40 eur charge', recent spending, by category or merchant. Newest first. total = all matches; when has_more is true, call again with offset=next_offset to page (never treat count as the total).

  • get_trendsMonthly trendsread-only

    Month-over-month expense/income dynamics, optionally for one category or scope.

  • import_transactionsBulk importcan change or delete data

    Import bank-statement / statement-screenshot rows in bulk. ALWAYS send the ENTIRE statement as ONE call with the full transactions array (up to 500 rows) - never split into chunks, never log rows one-by-one via log_expense. If one statement truly cannot fit in a single call, EVERY row of EVERY chunk must carry external_id (bank reference; or a statement-scoped row id such as '2026-09:r017' - bare row numbers repeat in every statement) - rows without external_id are keyed by amount+date+occurrence WITHIN one call, so identical rows arriving in different calls are indistinguishable from re-impor…

  • log_balanceLog balance snapshot

    Anchor an account's REAL balance at end of a date (from the bank app). Balances are then snapshot + later flows.

  • log_expenseLog expense

    Record ONE purchase, bill, or receipt. Negative amount = refund to the same category. NEVER use this for bank-statement rows or any batch of 3+ records: use import_transactions with the whole array instead (one-by-one logging hits the per-turn tool limit).

  • log_incomeLog income

    Record incoming money: salary, client payment, gift.

  • log_transferLog transfer

    Move money between OWN accounts: card to brokerage, cash withdrawal, currency exchange. Never counted as spending or income.

  • manage_accountManage accountscan change or delete data

    Money accounts (bank, card, cash, investment), one action per call. create: name, type, currency (entity optional). update: account plus new_name, type, currency or entity (history stays; an entity change affects future rows). set_balance: account, amount, optional currency and date: the REAL balance from the bank app at the end of that date; balances are this snapshot plus later flows. merge: source into target, moving every row, dropping duplicates (same type, currency, amount, date within dedup_window_days; the row with a bank reference wins) and deleting source; typical for a statement-imp…

  • merge_accountsMerge accountscan change or delete data

    Merge one account into another: moves all transactions to the target, de-duplicates rows present on both sides (same type, currency, amount and date within dedup_window_days; the row with a bank reference wins and absorbs the other's category), rewrites transfer references, then deletes the source account. Typical use: a hand-made statement-import account and a live bank sync account tracking the same real bank. Run with dry_run=true first and show the counts to the user.

  • pingPingread-only

    Health check for the MyFinance MCP connection. Returns the signed-in account email - call this when the user asks which account is connected.

  • set_budgetSet budgetcan change or delete data

    Monthly spending cap, overall or per category, in the user's base currency.

  • set_recurringSave a recurring paymentcan change or delete data

    Save, change or remove a payment the user expects again (a subscription, rent, a bill). Saved ones show in get_recurring and in the email summary's 'Coming up'. With auto_log=true the expense is written on each date automatically: only for a fixed amount charged in this currency, and only for users who log by hand (refused while a bank or ZenMoney sync is connected: the sync brings the charge). A statement import merges an auto-logged row with the bank's row of the same amount within two days. Saving again under the same name changes it; remove=true deletes it (expenses already logged stay).

  • sync_bankSync bank

    Pull booked transactions and balances from the connected bank (via connect_bank; read-only, incremental, safe to re-run). First sync imports months_back of history (default 3; banks may return less). Equal-amount same-day debit/credit pairs across the user's own synced accounts are merged into transfers. Categories come from the user's remembered per-merchant fixes first, then MCC; the rest land in 'other'. The server also auto-syncs healthy connections roughly daily; run this only for immediate freshness or right after connecting. If the same real bank account is also connected via ZenMoney i…

  • sync_zenmoneySync ZenMoney

    Pull transactions, accounts and balances from the linked ZenMoney account (read-only, incremental after the first run, safe to re-run). First sync imports full history unless months_back is set. dry_run previews transaction changes (account mapping is still saved). Report includes unmapped ZenMoney tags: those rows land in category 'other' for the user to review. If the same real bank account is also connected via connect_bank its transactions WILL duplicate: relay any overlap_warnings from the response to the user and offer to disable one side (action=set_account_sync).

  • update_accountUpdate account

    Rename an account or change its type, entity or main currency. Transactions keep their history; an entity change only affects future transactions.

  • update_settingsUpdate settingscan change or delete data

    Change base currency (recomputes all historical stats at each transaction's original date rate), timezone, or the email summary (email_digest).

  • update_transactionUpdate transactioncan change or delete data

    Fix a logged record: wrong category, amount, merchant, date, account, personal/business scope, or type. type=transfer + counter_account converts a mislogged row into a transfer between own accounts (e.g. a cash withdrawal into a transfer to Cash). counter_transaction_id instead GLUES TWO EXISTING rows (one expense + one income on different own accounts) into ONE transfer - use it when a currency exchange, own-account top-up, or cash withdrawal produced two separate rows. Category fixes on rows with a merchant are remembered: future bank syncs of that merchant reuse your category.

  • zenmoneyZenMoney synccan change or delete data

    Read-only sync with a ZenMoney account (zenmoney.app international and zenmoney.ru both work; the backend is detected). action=paste_token stores the user's personal ZenMoney API token: free at zerro.app (log in choosing YOUR ZenMoney version, then open zerro.app/token and copy it). action=sync pulls transactions, accounts and balances (incremental, safe to re-run; the first sync takes the full history unless months_back is set; dry_run previews; unmapped ZenMoney tags land in 'other' for the user to review). action=status: connection health and synced accounts. action=set_account_sync with ac…

Signals

Stars
2
Forks
0
Open issues
0
Last commit
Oct 18, 2026 (11 days ago)
Last release
Oct 14, 2026 (15 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.alex-odoo/myfinance-mcp
Version
0.18.0
Auth
Auth not stated
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 25, 2026
Cite this page

Myfinance MCP. Agent Mart. https://agentmart.dev/connectors/alex-odoo-myfinance-mcp (last updated 2026-10-25)