mcp-finance-assistant
💰 Asistente de Finanzas Personales — MCP + Gemini
Un asistente de finanzas con IA que te permite preguntar sobre tus gastos en lenguaje natural. Está construido con el Model Context Protocol (MCP) para conectar el Gemini de Google con herramientas reales — una base de datos SQL, modelos de previsión y detección de anomalías — en lugar de un chatbot programado que solo sabe hablar.
🔗 Demo en vivo: mcp-finance-assistant-z6txg3k6xparsajcsvftrr.streamlit.app
Lo que hace
Pregúntale cosas como:
"¿Cuánto gasté en comida este mes?"
"Compara mis gastos de agosto con los de julio"
"Añade un gasto de 250 en Uber al aeropuerto" — infiere la categoría por sí mismo
"¿Cuánto gastaré en comida el próximo mes?" — previsión real con ML, no una suposición
También proactivamente señala los gastos inusuales en cuanto se carga la página, sin que se le pregunte.
Related MCP server: Expense Tracker MCP Server
¿Por qué MCP?
La mayoría de las demos de asistentes financieros con IA preprograman las respuestas del chatbot o acoplan un LLM a datos estáticos. Este proyecto, en cambio, construye un servidor MCP real: una forma estandarizada (introducida por Anthropic) para que un modelo de IA descubra y llame a herramientas reales. Gemini lee las herramientas disponibles, decide cuál o cuáles necesita, las llama a través del protocolo MCP y razona sobre los resultados reales. Es el mismo patrón que usan los sistemas de agentes de IA en producción, no una simulación de juguete.
Arquitectura
User question → Streamlit UI → Gemini (decides which tool to call)
↓
MCP Server (server.py)
↓
SQLite Database (real transaction data)
↓
Tool result → back to Gemini → plain-English answerPara solicitudes de varios pasos (como añadir un gasto sin categoría), Gemini encadena varias llamadas a herramientas: primero obtiene las categorías existentes, luego infiere la correcta y, por último, añade el gasto, hasta 3 pasos por pregunta.
Características
7 herramientas MCP: consultar totales, comparar meses, listar gastos recientes, añadir gastos, obtener categorías, prever gastos y detectar anomalías
ML real, no reglas:
forecast_next_monthutilizaLinearRegressiondescikit-learnsobre tendencias históricas;detect_anomalyusa un modelo no supervisadoIsolationForesten lugar de un umbral predefinidoCategorización inferida por LLM: describe un gasto en lenguaje natural y Gemini elige la categoría correcta por sí solo, encadenando llamadas a herramientas para hacerlo
Información proactiva: comprobaciones automáticas de anomalías al cargar la página, sin necesidad de preguntar
Memoria de conversación: las preguntas de seguimiento entienden el contexto de la conversación anterior en el chat
Datos reales: más de 240 registros de transacciones reales, incluidos 231 importados y preparados de un dataset público de gastos personales de Kaggle
Prácticas de producción: manejo completo de errores y validación de entrada en cada herramienta, registro estructurado (
app.log) y una suite depytestcon 8 pruebas que veren los cálculos frente a datos conocidos
Stack tecnológico
Python · MCP SDK · Google Gemini (google-genai) · SQLite · scikit-learn · Streamlit · pytest
Ejecutarlo localmente
git clone https://github.com/srushtikochare/mcp-finance-assistant
cd mcp-finance-assistant
pip install -r requirements.txtCrea un archivo .env:
GOOGLE_API_KEY=your_api_key_hereA continuación, ejecuta:
streamlit run app.pyEjecutar las pruebas
pytest test_server.py -v8 pruebas que cubren sumas correctas, manejo de errores y comportamiento de las herramientas ML — todas pasan.
Un desafío real que encontré
La estructura del SDK de Python de MCP había cambiado desde que se escribió la mayoría de la documentación disponible — la clase que esperaba (FastMCP) no existía en la versión instalada. En lugar de adivinar, inspeccioné el paquete real instalado (dir(mcp.server)) para encontrar la clase correcta actual (MCPServer) y su superficie de API. Depurar contra una biblioteca en evolución con documentación incompleta, en lugar de una estable y orientada a tutoriales, fue la parte más valiosa de la creación de esto.
Próximos pasos posibles
Soporte multiusuario con inicios de sesión individuales
Subida de recibos/estados de cuenta con OCR para el registro automático de gastos
Lógica de reintentos con backoff para la resiliencia de las API externas
Autor
Srushti Kochare — B.Tech en Inteligencia Artificial y Ciencia de Datos, YCCE Nagpur
This server cannot be deployed
Maintenance
Related MCP Connectors
Personal finance by conversation: expenses, receipts, statement import, budgets, net worth.
Personal finance: log expenses in plain language, track accounts, budgets and spending
Chat with your bank data: balances, transactions, budgets, bills. Reads only, never moves money.
Ask your AI about bank accounts, spending, budgets, debts, holdings, and investment activity.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables financial professionals to interact with QuickBooks Online using natural language for reports, journal entries, bills, expenses, and more.36356 npm14MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI-driven expense tracking and budget management, including adding expenses, setting budgets, analyzing trends, forecasting, and managing savings goals via natural language.-
- FlicenseNot gradedqualityDmaintenanceEnables users to manage personal finances using natural language, including tracking expenses, income, budgets, and generating financial summaries.-
- AlicenseNot gradedqualityCmaintenanceLets you query your personal finances in plain language, log expenses, and correct transaction categories through a secure MCP endpoint.MIT