freshcrate
Skin:/
Home > MCP Servers > finance-agent-mcp

finance-agent-mcp

AI-powered group finance assistant using MCP architecture, Gemini LLM and Streamlit.

Why this rank:Release freshnessHealthy release cadenceStrong adoption

Description

AI-powered group finance assistant using MCP architecture, Gemini LLM and Streamlit.

README

💰 Assistente de Finanças

Python Streamlit LLM Architecture Status

Finance Agent MCP - CI

Assistente inteligente de finanças para grupos utilizando IA generativa, arquitetura MCP (Model Context Protocol), integração com Gemini LLM, banco de dados MySQL e interface conversacional construída com Streamlit.

🎯 Objetivo do Projeto

Projeto desenvolvido como portfólio técnico para demonstrar habilidades em AI Agents, LLM Engineering, Arquitetura Backend, Integração de Dados e Design de Software.

💡 Problema que o Projeto Resolve

Grupos que compartilham despesas — como famílias, repúblicas ou times — frequentemente perdem o controle dos gastos por falta de uma forma simples de consultar e entender os dados financeiros. Planilhas são difíceis de navegar e dashboards exigem que o usuário saiba onde clicar.

Este assistente permite que qualquer pessoa do grupo faça perguntas em linguagem natural como "Quanto gastamos em janeiro?" ou "De quanto foram os nossos gastos com leite este mês?" e receba respostas claras e instantâneas — sem precisar abrir uma planilha ou montar um filtro.


✨ Visão Geral

Este projeto demonstra a construção de um Agente de IA completo, capaz de responder perguntas sobre gastos financeiros utilizando dados reais armazenados em banco de dados.

O sistema integra:

  • 🤖 Large Language Model (Google Gemini)
  • 🧠 Agente inteligente para interpretação das perguntas
  • 🔌 MCP Server para acesso estruturado aos dados
  • 🗄️ Banco de dados MySQL local (administrado via MySQL Workbench)
  • 🎨 Interface conversacional com Streamlit

🧠 O que este projeto demonstra

  • Construção de AI Agent end-to-end
  • Integração entre LLM e Banco de Dados via MCP (Model Context Protocol)
  • Arquitetura MCP com Tool Calling
  • Separação clara entre camadas da aplicação
  • Organização profissional de projeto Python
  • Boas práticas de engenharia de software

🎬 Demo

Clique para ver a demo Demo

📸 Ver mais capturas de tela

Chat Interface

Chat

Sumário de Gastos Gerais

Summary

Sumário de Gastos por Item

List


🏗️ Arquitetura do Sistema

Arquitetura do Agente Financeiro: Usuário, Streamlit, Gemini, MCP e MySQL

Fluxo de comunicação: Do input do usuário em linguagem natural à execução de Tools SQL via protocolo MCP.

📂 Estrutura do Projeto

.
├── app
├── assets
├── database
├── docs
├── llm
├── mcp_server
├── shared
├── tests
└── utils

🛠️ Funcionalidades do Agente

O servidor MCP expõe ferramentas específicas que permitem ao LLM interagir com o banco de dados de forma segura. Abaixo estão as capacidades implementadas em mcp_server/tools/:

Ferramenta (Tool) Descrição Tecnologia
Sumário de Despesas Consolida gastos por item e/ou pelo período solicitado. Python / MCP SDK
Listagem de Itens Recupera detalhes de despesas com busca flexível (LIKE). SQL (MySQL)
Camada de Dados Interface de conexão e execução de queries parametrizadas. MySQL Connector
Interpretação Natural Traduza dados brutos em informações financeiras amigáveis. Gemini Prompt Eng.

🧠 Design Lógico e Fluxo de Pensamento

  • Raciocínio do Agente: O sistema utiliza uma abordagem de Chain of Thought (Cadeia de Pensamento), onde o agente identifica a intenção do usuário, extrai entidades e decide qual Tool MCP é necessária para buscar os dados.

  • Engenharia de Prompt: Implementação de técnicas de Few-Shot Prompting e instruções de sistema (System Instructions) para garantir que o LLM mantenha o foco financeiro e formate as respostas com precisão.

  • Protocolo MCP: A escolha pelo Model Context Protocol garante que a lógica de acesso aos dados (SQL) esteja desacoplada da lógica do modelo, facilitando a troca de provedores de LLM no futuro.

⚙️ Stack Tecnológica

🤖 IA & LLM

  • Google Gemini
  • MCP (Model Context Protocol)
  • Prompt Engineering

🎨 Frontend

  • Streamlit 1.30+
  • Custom CSS

🗄️ Backend & Database

  • Python 3.13+
  • MySQL Connector/Python
  • MySQL 8.0

🧪 DevOps & Testing

  • Pytest
  • Python-Dotenv
  • Makefile automation

🔑 Decisões de Engenharia

  • Separação entre Agent, MCP Server e Database Layer
  • Uso de Tools MCP para evitar acesso direto do LLM ao banco
  • Cache do agente com st.cache_resource
  • Arquitetura modular preparada para múltiplos modelos LLM
  • Organização orientada à escalabilidade e manutenção

🚀 Como Executar o Projeto

1️⃣ Clonar o repositório

git clone https://github.com/LuGodoy/finance-agent-mcp.git
cd finance-agent-mcp

2️⃣ Criar ambiente virtual e instalar dependências

make install

Esse comando irá criar o ambiente virtual .venv e instalar todas as dependências necessárias.

3️⃣ Criar variáveis de ambiente

make env

Edite o arquivo .env gerado e preencha-o com suas credenciais:

GEMINI_API_KEY=sua_chave_aqui

DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=sua_senha
DB_NAME=personal_finance
TABLE_NAME=transactions

4️⃣ Executar a aplicação

make run

A aplicação estará disponível em http://localhost:8501.

Executar o MCP Server (opcional)

make mcp

Executar testes (recomendado)

make test

🗺️ Roadmap

Este projeto está em desenvolvimento ativo. Próximas evoluções planejadas:

  • Suporte Multi-LLM, integrando outras APIs (OpenAI GPT-4o, Claude 3.5 Sonnet e Groq) para permitir a escolha do modelo via configuração.
  • Novas MCP Tools para análises mais avançadas
  • Migração das queries SQL puras para SQLAlchemy (uso de um ORM como o SQLAlchemy ajudaria na sanitização de queries e na prevenção de SQL Injection)
  • Suporte a múltiplos grupos de despesas
  • Autenticação de usuários
  • Testes de integração para as MCP Tools
  • Dashboard estatístico com visualização gráfica das despesas (ex: total mensal, categorias mais frequentes, evolução ao longo do tempo)
    • Stack tecnológica planejada: Plotly + Streamlit

🔧 Troubleshooting

"Connection refused"

Este erro ocorre quando o serviço MySQL não está em execução. Utilize o comando de acordo com o seu sistema operacional:

 macOS (via Homebrew)

brew services start mysql
# ou, para reiniciar:
brew services restart mysql

🐧 Linux

sudo systemctl start mysql
# ou, para reiniciar:
sudo systemctl restart mysql

⊞ Windows (PowerShell como Administrador)

net start mysql

"Invalid API Key"

  • Verifique se a chave Gemini está correta no .env
  • Confirme que tem créditos disponíveis na API

👩‍💻 Autora

Luciene Godoy
AI Agents | Data Science | Software Engineering | Matemática

Stack: Python • MCP • Google Gemini • MySQL • Streamlit

LinkedIn GitHub

📄 Licença

Este projeto foi desenvolvido para fins educacionais e demonstração de portfólio.


Desenvolvido com 💙 por Luciene Godoy

"Transformando dados em decisões através de conversação inteligente"

Release History

VersionChangesUrgencyDate
main@2026-06-17Latest activity on main branchMedium6/17/2026
0.0.0No release found — using repo HEADHigh4/21/2026
main@2026-04-21Latest activity on main branchHigh4/21/2026
main@2026-04-21Latest activity on main branchHigh4/21/2026
main@2026-04-21Latest activity on main branchHigh4/21/2026
main@2026-04-21Latest activity on main branchHigh4/21/2026
main@2026-04-21Latest activity on main branchHigh4/21/2026
main@2026-04-21Latest activity on main branchHigh4/21/2026
main@2026-04-21Latest activity on main branchHigh4/21/2026
main@2026-04-21Latest activity on main branchMedium4/21/2026
main@2026-04-21Latest activity on main branchMedium4/21/2026
main@2026-04-21Latest activity on main branchMedium4/21/2026
main@2026-04-21Latest activity on main branchMedium4/21/2026
main@2026-04-21Latest activity on main branchMedium4/21/2026
main@2026-04-21Latest activity on main branchMedium4/21/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

m3-memoryLocal-first Agentic Memory Layer for MCP Agents • 25 tools • Hybrid search (FTS5 + vector + MMR) • GDPR • 100% localv2026.7.26.0
ai-engineering-from-scratchLearn it. Build it. Ship it for others.v2026.07
mcp-videoVideo editing MCP server for AI agents. 83 tools, 858 tests collected, 3 interfaces. Works with Claude Code, Cursor, and any MCP client. Local, fast, free.v1.10.0
claude-code-plugins-plus-skills423 plugins, 2,849 skills, 177 agents for Claude Code. Open-source marketplace at tonsofskills.com with the ccpi CLI package manager.@intentsolutionsio/intent-labs-pack@0.1.0
claude-code-configClaude Code skills, architectural principles, and alternative approaches for AI-assisted developmentmain@2026-07-22

More in MCP Servers

supersetCode Editor for the AI Agents Era - Run an army of Claude Code, Codex, etc. on your machine
kreuzbergA polyglot document intelligence framework with a Rust core. Extract text, metadata, images, and structured information from PDFs, Office documents, images, and 91+ formats. Available for Rust, Python
ai-engineering-from-scratchLearn it. Build it. Ship it for others.
CodeGraphContextAn MCP server plus a CLI tool that indexes local code into a graph database to provide context to AI assistants.