personal-finance-mcp
personal-finance-mcp
No oficial. Este proyecto no está afiliado, respaldado ni patrocinado por Plaid Inc. "Plaid" es una marca comercial de Plaid Inc. Este es un cliente autohospedado que se comunica con la API de Plaid utilizando las credenciales que usted proporcione.
Un servidor MCP de solo lectura y autohospedado que conecta sus bancos, tarjetas de crédito, préstamos y cuentas de corretaje (a través de Plaid) a un cliente MCP como Claude Code. Haga preguntas sobre sus propias finanzas en inglés sencillo, sin involucrar a agregadores de terceros (Monarch, Mint, etc.).
Qué puede preguntar
"¿Cuál es mi saldo total en todas las cuentas?"
"Muéstrame las transacciones de más de $100 en los últimos 30 días."
"¿Qué suscripciones sigo pagando?"
"¿Cuánto gasté en comestibles el mes pasado?"
"¿Algún banco necesita reautenticación?"
Sesión de ejemplo (ilustrativa):
you : What did I spend on groceries last month?
claude : [calls get_transactions]
$487.23 across 14 transactions. Top merchants:
Whole Foods ($198), Trader Joe's ($156), Safeway ($89).
you : Any subscriptions I'm still paying for?
claude : [calls get_recurring_transactions]
7 active recurring outflows totaling $142/mo:
Netflix ($15.99), Spotify ($11.99), NYT ($4), ...Related MCP server: plaid-mcp
Herramientas
Las 9 herramientas son de solo lectura. Cada una devuelve {<data>: [...], "warnings": [...]} para que un banco con problemas no interrumpa toda la consulta.
Herramienta | Qué hace |
| Todas las cuentas de cada banco vinculado, con saldos |
| Saldos actuales + disponibles en tiempo real (opcionalmente filtrados por cuenta) |
| Transacciones en un rango de fechas (hasta 2 años atrás) |
| Búsqueda por palabras clave en comercio / nombre / contraparte |
| Flujos de entrada + salida recurrentes detectados |
| Tarjetas de crédito, préstamos estudiantiles, hipotecas con TAE y detalles de pago |
| Tenencias actuales con símbolo + metadatos de seguridad |
| Historial de compra / venta / dividendos en un rango de fechas |
| Estado de salud de cada banco vinculado (muestra necesidades de reautenticación) |
Inicio rápido
Requiere Python 3.11+, una cuenta de Plaid (plan de prueba gratuito) y un cliente MCP.
1. Configuración de Plaid
Regístrese en https://dashboard.plaid.com/signup → elija el plan Trial (gratuito, 10 elementos).
Team Settings → Products: habilite Transactions, Liabilities, Investments.
Team Settings → API: copie su
client_idy susecretde producción.
2. Instalación
git clone https://github.com/JosueM1109/personal-finance-mcp.git
cd personal-finance-mcp
python3.11 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # then fill in PLAID_CLIENT_ID and PLAID_SECRET
pytest -v # sanity check3. Vincular cada banco
Ejecute una vez por cada banco que desee conectar:
uvicorn link_helper:app --port 8765Abra http://localhost:8765, haga clic en Link a bank y complete Plaid Link. La terminal imprimirá una línea como PLAID_TOKEN_CHASE=access-prod-xxx...: péguela en .env y repita para cada banco.
4. Ejecución
python server.py # serves on http://localhost:8000/mcp5. Agregar a Claude Code
claude mcp add --transport http personal-finance http://localhost:8000/mcpPruebe "list my accounts" para confirmar.
Despliegue
Para un despliegue que pueda usar desde cualquier lugar:
Docker (incluido):
docker build -t personal-finance-mcp . && docker run --rm -p 8000:8000 --env-file .env personal-finance-mcpCualquier host de Python (Fly.io, Railway, Raspberry Pi + Tailscale, un VPS): configure las variables de entorno desde
.env.example, exponga/mcpa través de HTTPS y protéjalo con autenticación.Prefect Horizon (lo que usa el autor, costo recurrente de $0): consulte docs/DEPLOYMENT.md para ver el tutorial completo.
Proteja el endpoint. Un endpoint MCP expuesto con sus tokens filtra todas las cuentas vinculadas. Use OAuth 2.1, Cloudflare Access o vincúlelo solo a una red privada.
Seguridad
Inquilino único. Un despliegue por persona. No comparta.
Solo lectura. Ninguna herramienta modifica el estado en ninguna institución. No agregue ninguna que lo haga.
Los tokens viven en variables de entorno, nunca en el disco.
.envestá ignorado por git.Usted es responsable del cumplimiento de Plaid. Usted es el cliente de Plaid bajo su propia cuenta.
Antes de cada despliegue:
[ ]
.envnunca confirmado:git log --all -- .envno devuelve nada[ ] Sin tokens reales en el historial:
git log -S'access-prod-' --allsolo devuelve marcadores de posición[ ] Puerta de autenticación frente al endpoint MCP (o solo localhost)
[ ]
HORIZON=1(o similar) configurado en el entorno de despliegue, bloqueandolink_helper.pyallí[ ] Verifique
get_institutions_status()cada pocas semanas para ver si hay necesidades de reautenticación
Solución de problemas
La herramienta devuelve vacío a pesar de haber datos reales. Los productos de Plaid no estaban habilitados cuando vinculó el banco. Vuelva a vincular con Transactions + Liabilities + Investments activos. La herramienta muestra PRODUCTS_NOT_SUPPORTED en warnings cuando esta es la causa.
get_institutions_status() muestra re_auth_required. La sesión de Plaid del banco expiró. Ejecute link_helper.py en modo de actualización: su token de acceso existente sigue siendo el mismo. Consulte docs/DEPLOYMENT.md.
Plaid Link muestra un banco como "no compatible" (común con Amex). Por lo general, es un problema de INSTITUTION_REGISTRATION_REQUIRED: los bancos OAuth necesitan primero el registro por institución en el panel de Plaid. Consulte docs/TROUBLESHOOTING.md.
Más problemas: docs/TROUBLESHOOTING.md.
Arquitectura
server.py — Servidor FastMCP, 9 herramientas de solo lectura.
plaid_client.py — Envoltorio del SDK de Plaid: redacción de tokens
SecretStr, caché de salud de 5 minutos por elemento, modelado de respuestas, mapeo de errores estructurado.link_helper.py — Aplicación FastAPI solo local para Plaid Link. Se niega a ejecutarse si
HORIZON=1está configurado.
Análisis más profundo (incluyendo por qué /transactions/get sobre /transactions/sync): docs/ARCHITECTURE.md.
Contribución
Consulte CONTRIBUTING.md. El alcance es deliberadamente limitado: solo lectura, inquilino único, respaldado por Plaid.
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
- AlicenseAqualityDmaintenanceA read-only MCP server that enables users to analyze their real bank, credit card, loan, and brokerage data through Plaid. It provides financial analysis tools for transactions, balances, investments, liabilities, and debt while keeping all access tokens and data locally stored.24MIT
- FlicenseNot gradedqualityCmaintenanceSelf-hosted MCP server enabling Claude to query bank accounts, balances, and transactions through Plaid with OAuth and TLS.
- AlicenseBqualityAmaintenanceopen-source personal finance app with a first-party MCP server. 91 HTTP tools (OAuth 2.1 + DCR) and 87 stdio tools cover transactions, budgets, accounts, portfolio analytics, FX conversion, loans, subscriptions, goals, importers, and rules. Users self-host with Docker + PostgreSQL or use the managed cloud8911AGPL 3.0
- AlicenseNot gradedqualityDmaintenanceA local MCP server that provides read-only SQL access to financial accounts via Plaid, enabling natural language queries about transactions, balances, and holdings.MIT
Related MCP Connectors
Hosted remote MCP server for YNAB on Cloudflare Workers with OAuth
Brazilian Open Finance MCP — 30+ banks (Itaú, Nubank, etc.) to Claude/Cursor. Read-only.
Read-only bank access for your AI agent. Connects Claude, ChatGPT, Cursor, Gemini, Codex.
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/JosueM1109/personal-finance-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server