Um assistente financeiro conversacional construído com Python, utilizando MCP (Model Context Protocol) para integrar um LLM (Gemini) a dados e regras de negócio bem definidas.
O objetivo do projeto é explorar arquitetura moderna para aplicações com LLMs, indo além de um simples chatbot, separando claramente:
- raciocínio (modelo)
- dados e ações (tools)
- protocolo de comunicação (MCP)
O MCP é um protocolo que padroniza a comunicação entre modelos de linguagem e sistemas externos.
Neste projeto:
- O LLM decide o que fazer
- O MCP Server executa como fazer
- As tools expõem dados financeiros de forma segura e estruturada
Isso permite criar assistentes:
- previsíveis
- testáveis
- escaláveis
- desacoplados do modelo
- 📊 Listagem de contas e saldos
- 🧾 Consulta de transações com filtros
- 📅 Resumo financeiro mensal
- 📈 Previsão simples de fluxo de caixa
- 🚨 Detecção de despesas anômalas
- 💬 Interface em CLI com linguagem natural
- ⏱️ Inferência automática de datas (este mês, mês passado, etc.)
Os dados são mockados e mantidos em memória (MVP).
Usuário (CLI)
│
▼
Gemini (LLM)
│ decide quais tools usar
▼
MCP Client
│
▼
MCP Server (Python)
│
├── list_accounts
├── list_transactions
├── monthly_summary
├── cashflow_forecast
└── detect_anomalies
- Python 3.10+
- MCP (Model Context Protocol)
- Google Gemini API
- python-dotenv
- AsyncIO
finance_mcp/
├── .env
├── .gitignore
├── requirements.txt
├── finance_mcp_server.py
├── gemini_finance_client.py
└── README.md
git clone https://github.com/seu-usuario/finance-mcp.git
cd finance-mcppython -m venv .venv
# Windows
.venv\Scripts\activate
# Linux / Mac
source .venv/bin/activatepip install -r requirements.txtCrie um arquivo .env na raiz do projeto:
GEMINI_API_KEY=sua_api_key_aqui
GEMINI_MODEL=gemini-2.5-flash
MCP_URL=http://localhost:8000/mcp
⚠️ Nunca versione o arquivo.env.
python finance_mcp_server.pypython gemini_finance_client.pyQual o saldo das minhas contas?
Quanto gastei com alimentação este mês?
Me dá um resumo financeiro do mês passado
Qual foi meu saldo líquido este mês?
Quanto eu economizei no mês passado?
- ✅ MCP Server funcional
- ✅ Integração com LLM
- ✅ Inferência temporal automática
- ✅ Arquitetura desacoplada
- ⛔ Persistência (em progresso)
- ⛔ Interface gráfica (futuro)
- Persistência com SQLite
- Metas de economia mensais
- Dashboard web (Streamlit ou FastAPI)
- Autenticação
- Suporte a LLM local (Ollama)
Francisco Cauan Victor da Silva Gonçalves Engenharia de Software • IA Aplicada • Python
Projeto desenvolvido com foco em aprendizado, arquitetura e boas práticas para aplicações modernas com LLMs.