avie-moneylover-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@avie-moneylover-mcppreview my bank statement and check for duplicate transactions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Avie Money Lover MCP / Local Bridge
Unofficial Money Lover integration for two workflows:
MCP server — expose Money Lover read/write tools to an MCP-capable client.
GPT + local bridge — let ChatGPT prepare/review statement JSON while your own machine keeps the Money Lover token/cookie and performs the final import.
Unofficial project. This repository is not affiliated with, endorsed by, or sponsored by Money Lover. It uses web endpoints observed from the Money Lover web app. Those endpoints, authentication flows, category behavior, and anti-bot requirements can change without notice.
What it can do
Read authenticated user info
List wallets and wallet categories
Read transactions by date range
Resolve Money Lover
user_category_v2source IDs to runtime IDs using transaction historyPreview a single transaction without writing
Add a transaction with duplicate protection
Preview a bank/card statement batch
Reconcile expense − income against a statement total
Flag exact duplicates, probable duplicates, unresolved categories, and review rows
Import sequentially only after explicit confirmation
Verify created transactions by reading them back
Safely re-run after a partial import: exact duplicates are skipped
Related MCP server: monarch-mcp
Requirements
Windows 10/11, macOS, or Linux
Node.js 22+
A Money Lover account you control
For reliable writes: a fresh wallet-owner session, current browser cookie/
cf_clearanceif required, and the matching browser User-Agent
Quick start
git clone https://github.com/haonguyen97ftu/avie-moneylover-mcp.git
cd avie-moneylover-mcp
npm install
npm testWindows helper setup
scripts\setup-windows.cmdSet credentials in the current shell only:
set "MONEYLOVER_ACCESS_TOKEN=YOUR_FRESH_OWNER_TOKEN"
set "MONEYLOVER_CF_CLEARANCE=YOUR_CURRENT_CF_CLEARANCE_VALUE"
set "MONEYLOVER_USER_AGENT=YOUR_EXACT_BROWSER_USER_AGENT"Then run:
scripts\doctor.cmdRecommended GPT + local workflow
Bank/card statement
↓
ChatGPT extracts + categorizes
↓
statement JSON
↓
local preview
↓
review / duplicate / reconciliation checks
↓
explicit IMPORT confirmation
↓
Money Lover
↓
local verification reportDo not paste Money Lover tokens, refresh tokens, passwords, browser cookies, or cf_clearance into ChatGPT, GitHub issues, logs, or screenshots. ChatGPT only needs the statement plus the generated preview/result JSON.
Preview a statement
scripts\preview.cmd data\your-statement.jsonImport after review
scripts\import.cmd data\your-statement.jsonThe importer requires you to type exactly:
IMPORTbefore writes begin.
See docs/HUONG_DAN_SU_DUNG.md for the complete Vietnamese guide.
API behavior observed
Authenticated requests currently use:
Authorization: AuthJWT <access_token>Observed endpoints:
Client method | HTTP | Endpoint |
| POST |
|
| POST |
|
| POST |
|
| POST |
|
| POST |
|
Writes may require browser-like headers and a current Cloudflare session. Supported environment variables include:
MONEYLOVER_ACCESS_TOKENMONEYLOVER_CF_CLEARANCEMONEYLOVER_COOKIEMONEYLOVER_USER_AGENTMONEYLOVER_TIMEOUT_MSMONEYLOVER_CATEGORY_LOOKBACK_DAYSMONEYLOVER_WRITE_DELAY_MS
Batch statement format
Start from data/example-statement.json. Full field documentation is in docs/STATEMENT_FORMAT.md.
Preview:
npm run preview -- data\your-statement.jsonImport:
npm run import -- data\your-statement.jsonOptional flags:
--allow-review— include rows intentionally left inreviewafter you inspect them--allow-mismatch— bypass statement reconciliation protection; use only when you understand the discrepancy--allow-shared-wallet— bypass the owner safety check; shared-wallet writes may still fail--confirm IMPORT— non-interactive confirmation; not recommended for ordinary manual use
Safety defaults
The importer refuses to write when:
any row is
blockeda
reviewrow exists unless--allow-reviewis suppliedthe statement reconciliation difference is non-zero unless
--allow-mismatchis suppliedthe authenticated user is not the wallet owner unless
--allow-shared-walletis suppliedconfirmation is not exactly
IMPORT
Amounts must be positive numbers.
Category v2
Some accounts expose a source/template category ID from /category/list, while /transaction/add expects a different runtime category ID. The bridge learns this mapping from existing transactions.
If a category has never appeared in history, copy:
config/runtime-category-overrides.example.jsonto:
config/runtime-category-overrides.jsonand add the runtime ID observed from a real browser transaction request. The local override file is ignored by Git.
Public-repo safety
The repository is configured to avoid committing local financial data by default:
data/*.jsonis ignored except the sanitized exampleout/is ignored.env*is ignoredlocal runtime category overrides are ignored
local session helper files are ignored
Before pushing, run:
npm run repo:check
npm testThen inspect git status manually.
Security
If a token, password, refresh token, browser cookie, or cf_clearance value is ever exposed, treat it as compromised and rotate/revoke the session. See SECURITY.md.
Contributing
Bug reports and pull requests are welcome. Please read CONTRIBUTING.md before submitting changes. Never include real financial statements, account identifiers, tokens, or cookies in issues or test fixtures.
Documentation
License
MIT — see LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceExposes Monobank personal account data through MCP tools, allowing users to fetch client info, accounts, and jars. It also enables retrieving account statements for specific time periods.
- AlicenseNot gradedqualityBmaintenanceProvides an MCP server for querying and managing Monarch Money personal finance data through a local SQLite mirror with read-only SQL access. It enables users to sync transaction history from the Monarch API and analyze accounts, categories, and tags.1MIT
- AlicenseCqualityDmaintenanceEnables interaction with Monarch Money data via MCP tools for accounts, budgets, and transactions.61164MIT
- AlicenseNot gradedqualityBmaintenanceEnables local read-only exploration of Quicken Simplifi financial data through MCP, with tools for searching transactions, categories, tags, and merchants, using a local SQLite cache and token-based authentication.MIT
Related MCP Connectors
Deterministic bank-statement parsing: messy CSV/OFX to clean categorized rows. In-memory only.
JSON tools MCP.
Read-only XRP Ledger MCP tools with proof-annotation envelopes and signed daily snapshots.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/haonguyen97ftu/avie-moneylover-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server