Skip to main content
Glama
JoaoGabriel39359

Agente Financeiro MCP

Agente Financeiro

Aplicativo de finanças pessoais com interface mobile, API própria e integração com agentes de IA. O projeto nasceu como laboratório de estudos sobre FastAPI, React Native, OpenWebUI e Model Context Protocol (MCP), mas também busca resolver um problema real: registrar gastos em linguagem natural e acompanhar o orçamento mensal.

Status: em desenvolvimento. O fluxo local funciona, mas autenticação multiusuário e RLS ainda estão em implementação. Não use em produção nem armazene dados financeiros sensíveis antes de concluir os itens de segurança.

Funcionalidades

  • Registro, consulta, busca e exclusão de gastos.

  • Salário fixo, meta de economia e saldo mensal disponível.

  • Relatório e limite de gastos por categoria.

  • Alertas quando uma categoria se aproxima ou ultrapassa seu orçamento.

  • Conversa em linguagem natural por meio do OpenWebUI.

  • Servidor MCP Streamable HTTP com nove ferramentas financeiras.

  • Persistência no PostgreSQL do Supabase.

Related MCP server: Expense Tracker MCP Server

Arquitetura

Expo / React Native
        |
        v
FastAPI REST  <------  servidor MCP  <------  cliente de IA
        |
        v
Supabase PostgreSQL + Auth + RLS

A arquitetura final manterá o OpenWebUI invisível atrás da FastAPI. Dessa forma, a chave do OpenWebUI permanece no servidor e o aplicativo envia apenas o access token do usuário autenticado no Supabase.

Leia a explicação do MCP para entender o protocolo e o caminho de uma chamada de ferramenta.

Tecnologias

Camada

Tecnologias

Mobile

Expo SDK 54, React Native 0.81, React 19, TypeScript

API

Python 3.12, FastAPI, Pydantic, Supabase SDK

Agente

OpenWebUI e MCP Python SDK 2.1

Dados

Supabase/PostgreSQL

Infraestrutura

Docker Compose e GitHub Actions

Estrutura do repositório

.
├── backend/                 # API FastAPI, MCP, testes e migrações SQL
│   ├── app/
│   ├── migrations/
│   └── tests/
├── frontend/                # Aplicativo Expo/React Native
├── docs/                    # Arquitetura, MCP e roadmap
├── docker-compose.yml       # API
└── docker-compose.mcp.yml   # Extensão do Compose para o MCP

Pré-requisitos

  • Docker com Docker Compose; ou

  • Python 3.12 e Node.js 20.19 ou superior dentro da versão 20.

  • Um projeto Supabase.

  • OpenWebUI somente para testar o chat com IA.

Configuração local

1. Backend

cp backend/.env.example backend/.env

Preencha no arquivo local:

SUPABASE_URL=https://SEU_PROJETO.supabase.co
SUPABASE_KEY=SUA_CHAVE_ANON_OU_PUBLISHABLE

Nunca envie .env, access tokens, JWT secrets ou chaves administrativas para o GitHub.

Para executar API e MCP juntos:

docker compose -f docker-compose.yml -f docker-compose.mcp.yml up --build

2. Frontend

cp frontend/.env.example frontend/.env
cd frontend
npm ci
npm start

Troque EXPO_PUBLIC_LOCAL_IP pelo IP da máquina que executa a API. Variáveis EXPO_PUBLIC_* são incluídas no aplicativo compilado e nunca devem conter segredos.

O chat atual ainda usa a integração direta de desenvolvimento com o OpenWebUI. Antes de uma distribuição real, ele será substituído pela rota protegida /agent da FastAPI.

Testes

Backend:

cd backend
python -m pip install -r requirements-mcp.txt
pytest

Frontend:

cd frontend
npm ci
npx tsc --noEmit
npx expo-doctor

Cada pull request executa verificações automáticas no GitHub Actions.

Banco de dados e RLS

As migrações ficam em backend/migrations/. A migração 002_multi_user_rls.sql contém um placeholder proposital e não deve ser executada até que o backend encaminhe corretamente o JWT Supabase ao PostgREST.

Ordem planejada:

  1. Implementar login pelo Supabase Auth.

  2. Criar um cliente Supabase isolado por requisição.

  3. Migrar os registros existentes para o UUID do proprietário.

  4. Ativar e testar as políticas RLS com dois usuários diferentes.

Contribuição

Consulte CONTRIBUTING.md para convenções de branches, commits, testes e pull requests.

Segurança

Este projeto manipula informações financeiras. Não publique dados reais em issues, logs, screenshots ou fixtures. Leia SECURITY.md antes de relatar uma vulnerabilidade.

Roadmap

O planejamento técnico está em docs/ROADMAP.md.

Licença

Nenhuma licença de código aberto foi escolhida ainda. Até que um arquivo LICENSE seja adicionado, todos os direitos permanecem reservados ao autor.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI-driven expense tracking and budget management, including adding expenses, setting budgets, analyzing trends, forecasting, and managing savings goals via natural language.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables users to manage personal finances using natural language, including tracking expenses, income, budgets, and generating financial summaries.
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables managing personal expenses, budgets, and financial summaries through natural language, with tools for adding, listing, updating, deleting expenses, setting budgets and credits, and generating dashboards.
    -