avie-moneylover-mcp
Avie Money Lover MCP / Local Bridge
Integración no oficial de Money Lover para dos flujos de trabajo:
Servidor MCP — exponer herramientas de lectura/escritura de Money Lover a un cliente compatible con MCP.
GPT + puente local — permitir que ChatGPT prepare/revise el JSON del extracto mientras tu propia máquina conserva el token/cookie de Money Lover y realiza la importación final.
Proyecto no oficial. Este repositorio no está afiliado, respaldado ni patrocinado por Money Lover. Utiliza endpoints web observados en la aplicación web de Money Lover. Esos endpoints, los flujos de autenticación, el comportamiento de las categorías y los requisitos anti-bot pueden cambiar sin previo aviso.
Qué puede hacer
Leer información del usuario autenticado
Listar carteras y categorías de carteras
Leer transacciones por rango de fechas
Resolver los ID de origen
user_category_v2de Money Lover a ID de tiempo de ejecución usando el historial de transaccionesVista previa de una sola transacción sin escribir
Añadir una transacción con protección contra duplicados
Vista previa de un lote de extracto bancario/de tarjeta
Conciliar gastos − ingresos contra el total del extracto
Marcar duplicados exactos, duplicados probables, categorías sin resolver y filas de revisión
Importar secuencialmente solo tras confirmación explícita
Verificar las transacciones creadas leyéndolas de nuevo
Re-ejecutar de forma segura tras una importación parcial: los duplicados exactos se omiten
Related MCP server: monarch-mcp
Requisitos
Windows 10/11, macOS o Linux
Node.js 22+
Una cuenta de Money Lover que controles
Para escrituras fiables: una sesión wallet-owner reciente, cookie de navegador/
cf_clearanceactual si es necesario, y el User-Agent de navegador correspondiente
Inicio rápido
git clone https://github.com/haonguyen97ftu/avie-moneylover-mcp.git
cd avie-moneylover-mcp
npm install
npm testConfiguración del asistente de Windows
scripts\setup-windows.cmdEstablece las credenciales solo en el shell actual:
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"Luego ejecuta:
scripts\doctor.cmdFlujo de trabajo recomendado GPT + local
Bank/card statement
↓
ChatGPT extracts + categorizes
↓
statement JSON
↓
local preview
↓
review / duplicate / reconciliation checks
↓
explicit IMPORT confirmation
↓
Money Lover
↓
local verification reportNo pegues tokens de Money Lover, tokens de refresco, contraseñas, cookies de navegador ni cf_clearance en ChatGPT, issues de GitHub, registros o capturas de pantalla. ChatGPT solo necesita el extracto más el JSON de vista previa/resultado generado.
Vista previa de un extracto
scripts\preview.cmd data\your-statement.jsonImportar tras la revisión
scripts\import.cmd data\your-statement.jsonEl importador requiere que escribas exactamente:
IMPORTantes de que comiencen las escrituras.
Consulta docs/HUONG_DAN_SU_DUNG.md para la guía completa en vietnamita.
Comportamiento de API observado
Las solicitudes autenticadas actualmente usan:
Authorization: AuthJWT <access_token>Endpoints observados:
Método del cliente | HTTP | Endpoint |
| POST |
|
| POST |
|
| POST |
|
| POST |
|
| POST |
|
Las escrituras pueden requerir cabeceras similares a las de un navegador y una sesión de Cloudflare actual. Las variables de entorno compatibles incluyen:
MONEYLOVER_ACCESS_TOKENMONEYLOVER_CF_CLEARANCEMONEYLOVER_COOKIEMONEYLOVER_USER_AGENTMONEYLOVER_TIMEOUT_MSMONEYLOVER_CATEGORY_LOOKBACK_DAYSMONEYLOVER_WRITE_DELAY_MS
Formato de extracto por lotes
Empieza desde data/example-statement.json. La documentación completa de campos está en docs/STATEMENT_FORMAT.md.
Vista previa:
npm run preview -- data\your-statement.jsonImportar:
npm run import -- data\your-statement.jsonBanderas opcionales:
--allow-review— incluir filas dejadas intencionadamente enreviewdespués de inspeccionarlas--allow-mismatch— omitir la protección de conciliación del extracto; úsalo solo cuando entiendas la discrepancia--allow-shared-wallet— omitir la comprobación de seguridad del propietario; las escrituras en carteras compartidas pueden fallar igualmente--confirm IMPORT— confirmación no interactiva; no recomendado para uso manual habitual
Valores de seguridad predeterminados
El importador se niega a escribir cuando:
cualquier fila está
blockedexiste una fila
reviewa menos que se proporcione--allow-reviewla diferencia de conciliación del extracto no es cero a menos que se proporcione
--allow-mismatchel usuario autenticado no es el propietario de la cartera a menos que se proporcione
--allow-shared-walletla confirmación no es exactamente
IMPORT
Los importes deben ser números positivos.
Categoría v2
Algunas cuentas exponen un ID de categoría fuente/plantilla desde /category/list, mientras que /transaction/add espera un ID de categoría de tiempo de ejecución diferente. El puente aprende este mapeo de las transacciones existentes.
Si una categoría nunca ha aparecido en el historial, copia:
config/runtime-category-overrides.example.jsona:
config/runtime-category-overrides.jsony añade el ID de tiempo de ejecución observado en una solicitud de transacción real del navegador. Git ignora el archivo de anulación local.
Seguridad del repositorio público
El repositorio está configurado para evitar confirmar datos financieros locales por defecto:
data/*.jsonse ignora excepto el ejemplo saneadoout/se ignora.env*se ignoralas anulaciones locales de categorías de tiempo de ejecución se ignoran
los archivos auxiliares de sesión local se ignoran
Antes de hacer push, ejecuta:
npm run repo:check
npm testLuego inspecciona git status manualmente.
Seguridad
Si un token, contraseña, token de refresco, cookie de navegador o valor de cf_clearance se expone alguna vez, trátalo como comprometido y rota/revoca la sesión. Consulta SECURITY.md.
Contribuciones
Los informes de errores y las pull requests son bienvenidos. Por favor, lee CONTRIBUTING.md antes de enviar cambios. Nunca incluyas extractos financieros reales, identificadores de cuenta, tokens o cookies en issues o fixtures de prueba.
Documentación
Licencia
MIT — consulta 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