MCP Serve
README.md
# MCP Serve
Um assistente de chat que entende linguagem natural e gerencia o cadastro de
**Clientes** e **Produtos** de um pequeno sistema, usando **Gemini** (LLM) +
**MCP (Model Context Protocol)** + **SQLite**.
Em vez de preencher formulários, você conversa:
> "Cria um cliente Maria Silva, CPF 123.456.789-00, email maria@email.com"
> "Quais produtos eu tenho com menos de 10 unidades em estoque?"
> "Atualiza o preço do Notebook pra 3200"
...e o sistema entende o pedido, executa a ação no banco de dados e confirma
o que foi feito.
## Como funciona
```
Vue.js (chat) → Backend Bridge (FastAPI) → Gemini (decide o que fazer)
↓ ↓
MCP Client ←────────────── "chame a tool X"
↓
MCP Server (server.py)
↓
SQLite
```
1. Você escreve um pedido no chat (frontend em **Vue.js**).
2. O **Backend Bridge** (FastAPI) manda essa mensagem pro **Gemini**, junto
com a lista de ações disponíveis (as *tools* do MCP Server).
3. O Gemini interpreta o pedido e decide quais ações executar — por exemplo,
"chamar a tool `criar_cliente` com esses dados".
4. O Bridge executa essa ação no **MCP Server**, que é quem efetivamente lê e
escreve no banco **SQLite**.
5. O resultado volta pro Gemini, que formula uma resposta em português, e
essa resposta aparece no chat.
## Funcionalidades
O MCP Server expõe 10 ações (tools) que o Gemini pode usar:
**Clientes** (identificados pelo CPF)
- Criar cliente
- Listar todos os clientes
- Buscar cliente por CPF
- Atualizar dados de um cliente
- Remover um cliente
**Produtos** (identificados pelo nome)
- Criar produto
- Listar todos os produtos
- Buscar produto por nome
- Atualizar preço/estoque de um produto
- Remover um produto
## Estrutura do projeto
```
mcp-serve/
├── server.py # MCP Server: define as tools de CRUD
├── database.py # Schema e conexão com o SQLite
├── requirements.txt # Dependências do MCP Server
├── bridge/ # Backend que conecta Vue <-> Gemini <-> MCP Server
│ ├── main.py
│ ├── requirements.txt
│ └── .env.example
├── frontend/ # Interface de chat em Vue.js
│ └── src/
├── docs/
│ └── documentacao.md # Guia técnico: como rodar e testar
└── README.md # Este arquivo
```
## Stack
- **MCP Server**: Python + [SDK oficial `mcp`](https://github.com/modelcontextprotocol/python-sdk) (FastMCP)
- **Banco de dados**: SQLite
- **LLM**: Google Gemini (via `google-genai`), com function calling automático
- **Bridge**: FastAPI
- **Frontend**: Vue 3 + Vite
## Quer rodar na sua máquina?
Veja o passo a passo completo (instalação, configuração da API key do Gemini
e como testar) em [`docs/documentacao.md`](docs/documentacao.md).This server cannot be deployed
Maintenance
ActivityStale
ResponsivenessNo issues