Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Brewteco MCP Servercompare sales across all stores this month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🍺 Brewteco MCP Server
Servidor MCP (Model Context Protocol) para integração das APIs do Brewteco com assistentes de IA como Claude Desktop.
📋 Índice
🤔 O que é MCP?
Model Context Protocol (MCP) é um protocolo da Anthropic que permite que assistentes de IA (como Claude) se conectem a fontes de dados externas e executem ações através de "ferramentas".
Este servidor MCP expõe as 5 APIs principais do Brewteco como ferramentas que Claude pode usar:
Vendas - Dados de faturamento e transações
Produtos - Performance e ranking de produtos
Equipe - Performance de vendedores
Clientes - Filtros e segmentação de clientes
Perfil - Dados detalhados de clientes individuais
📦 Instalação
Pré-requisitos
Node.js >= 18.0.0
API Brewteco rodando (porta 3700)
Instalar dependências
npm installBuild
npm run buildIsso irá:
Compilar TypeScript para JavaScript
Gerar os arquivos em
dist/Tornar o executável
dist/index.jsexecutável
⚙️ Configuração
Variáveis de Ambiente
Crie um arquivo .env (opcional):
BREWTECO_API_URL=http://localhost:3700/api/v1Padrão: http://localhost:3700/api/v1
Configurar no Claude Desktop
Edite o arquivo de configuração do Claude Desktop:
MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Adicione:
{
"mcpServers": {
"brewteco": {
"command": "node",
"args": ["/caminho/absoluto/para/brewteco-mcp-server/dist/index.js"],
"env": {
"BREWTECO_API_URL": "http://localhost:3700/api/v1"
}
}
}
}⚠️ IMPORTANTE: Use o caminho absoluto para o arquivo dist/index.js
Reiniciar Claude Desktop
Após configurar, reinicie completamente o Claude Desktop.
🛠️ Ferramentas Disponíveis
1. obter_vendas
Obtém dados gerais de vendas de uma loja em um período.
Parâmetros:
data_inicio(obrigatório): Data inicial (YYYY-MM-DD)data_fim(obrigatório): Data final (YYYY-MM-DD)loja(opcional): Nome da loja
Exemplo:
Quanto vendemos em BOTAFOGO entre 01/12/2024 e 15/12/2024?2. comparar_vendas_lojas
Compara vendas entre todas as lojas.
Parâmetros:
data_inicio(obrigatório): Data inicialdata_fim(obrigatório): Data final
Exemplo:
Compare as vendas de todas as lojas em dezembro3. obter_produtos
Ranking de produtos mais/menos vendidos com filtros.
Parâmetros:
periodo(obrigatório): hoje, ontem, semana_atual, mes_atual, customdata_inicio: Se periodo=customdata_fim: Se periodo=customcategoria(opcional): Filtro por categorialimite(opcional): Quantidade (1-100)ordem(opcional): mais_vendidos, menos_vendidosloja(opcional): Filtro por loja
Exemplo:
Quais os 10 produtos mais vendidos de CHOPE em BOTAFOGO esta semana?4. obter_categorias
Lista todas as categorias de produtos.
Exemplo:
Quais categorias de produtos temos?5. obter_performance_equipe
Ranking de vendas da equipe com análise de mix.
Parâmetros:
periodo(obrigatório): hoje, ontem, semana_atual, mes_atual, customdata_inicio: Se periodo=customdata_fim: Se periodo=customloja(opcional): Filtro por loja
Exemplo:
Quem são os melhores vendedores de GAVEA este mês?6. obter_detalhe_funcionario
Detalhamento de vendas por categoria de um funcionário.
Parâmetros:
nome(obrigatório): Nome do funcionáriodata_inicio(obrigatório): Data inicialdata_fim(obrigatório): Data final
Exemplo:
Mostre as vendas detalhadas do Carlos Silva em dezembro7. filtrar_clientes
Busca e filtra clientes por comportamento.
Parâmetros (todos opcionais):
categorias_consumidas: Array de categoriasprodutos_consumidos: Array de produtosgasto_total_min: Gasto mínimogasto_total_max: Gasto máximodias_sem_visita_min: Dias sem visitarfrequencia_min: Frequência mínimaloja: Filtro por lojadata_inicio: Período inicialdata_fim: Período finallimite: Quantidade de resultados
Exemplos:
Liste os clientes VIP de BOTAFOGO que gastaram mais de R$ 1000
Encontre clientes que não visitam há mais de 45 dias
Quem são os fãs de IPA em LEBLON?8. obter_perfil_cliente
Perfil completo de um cliente específico.
Parâmetros:
identificador(obrigatório): CPF, telefone ou email
Exemplo:
Mostre o perfil completo do cliente 11987654321💬 Uso com Claude Desktop
Após configurar, você pode conversar naturalmente com Claude:
Exemplo 1: Dashboard Gerencial
Claude, me dê um resumo executivo de BOTAFOGO em dezembro de 2024:
- Faturamento total
- Top 5 produtos
- Melhor vendedor
- Quantos clientes VIP temosClaude irá automaticamente:
Chamar
obter_vendascom as datas corretasChamar
obter_produtospara o top 5Chamar
obter_performance_equipepara rankingChamar
filtrar_clientespara VIPsMontar um relatório consolidado
Exemplo 2: Análise de Cliente
Preciso entender melhor o perfil do cliente João Silva (CPF: 12345678901).
Me mostre seu histórico completo e sugira ações de marketing.Claude irá:
Chamar
obter_perfil_clientecom o CPFAnalisar LTV, produtos favoritos, frequência
Sugerir ações personalizadas
Exemplo 3: Campanha de Marketing
Encontre clientes de GAVEA que:
- Gostam de IPA
- Visitam frequentemente (5+ vezes)
- Gastam entre R$ 500 e R$ 2000
- Estão ativos (visitaram nos últimos 30 dias)
Depois me sugira uma campanha para eles.Claude irá:
Chamar
filtrar_clientescom os critériosAnalisar o perfil dos clientes retornados
Sugerir campanha personalizada
🔧 Desenvolvimento
Estrutura do Projeto
brewteco-mcp-server/
├── src/
│ ├── index.ts # Servidor MCP principal
│ ├── api-client.ts # Cliente HTTP para API
│ ├── tools.ts # Definição das ferramentas MCP
│ └── types.ts # Types e schemas Zod
├── dist/ # Código compilado
├── package.json
├── tsconfig.json
└── README.mdComandos Disponíveis
# Desenvolvimento com hot-reload
npm run dev
# Build de produção
npm run build
# Iniciar servidor (após build)
npm start
# Testar com MCP Inspector
npm run inspectorTestar com MCP Inspector
O MCP Inspector é uma ferramenta da Anthropic para testar servidores MCP:
npm run inspectorIsso abre uma interface web onde você pode:
Ver todas as ferramentas disponíveis
Testar chamadas com diferentes parâmetros
Ver respostas em tempo real
Debug de problemas
🎯 Exemplos Práticos
Exemplo 1: Vendas do Dia
Pergunta ao Claude:
Quanto vendemos hoje em BOTAFOGO?Ferramenta usada:
{
"name": "obter_vendas",
"arguments": {
"data_inicio": "2024-12-18",
"data_fim": "2024-12-18",
"loja": "BOTAFOGO"
}
}Exemplo 2: Clientes Inativos
Pergunta ao Claude:
Liste clientes de LEBLON que não visitam há mais de 60 dias mas já gastaram mais de R$ 500Ferramenta usada:
{
"name": "filtrar_clientes",
"arguments": {
"dias_sem_visita_min": 60,
"gasto_total_min": 500,
"loja": "LEBLON",
"limite": 50
}
}Exemplo 3: Análise de Performance
Pergunta ao Claude:
Compare a performance de vendas de todas as lojas em novembro e identifique a melhorFerramentas usadas:
{
"name": "comparar_vendas_lojas",
"arguments": {
"data_inicio": "2024-11-01",
"data_fim": "2024-11-30"
}
}🔒 Segurança
Boas Práticas
Validação de Dados: Todos os parâmetros são validados com Zod
Tratamento de Erros: Erros da API são capturados e formatados
Timeout: Requisições têm timeout de 30 segundos
Retry Logic: Falhas temporárias são retentadas 3 vezes
Logs: Todas as operações são logadas em stderr
Dados Sensíveis
O servidor MCP não armazena dados
Todas as requisições são stateless
Logs não contêm informações sensíveis de clientes
🐛 Troubleshooting
Problema: Claude não vê as ferramentas
Solução:
Verifique se o caminho em
claude_desktop_config.jsonestá corretoCertifique-se de usar caminho absoluto
Reinicie completamente o Claude Desktop
Verifique os logs em:
~/Library/Logs/Claude/(MacOS)
Problema: Erro "Connection refused"
Solução:
Verifique se a API Brewteco está rodando:
curl http://localhost:3700/api/v1/healthConfirme a
BREWTECO_API_URLna configuraçãoTeste a conexão manualmente
Problema: Ferramentas retornam erro
Solução:
Use o MCP Inspector para testar:
npm run inspectorVerifique os logs do servidor MCP
Confirme que os parâmetros estão corretos
Problema: Build falha
Solução:
# Limpar e reinstalar
rm -rf node_modules dist
npm install
npm run build📚 Recursos
📄 Licença
Propriedade da Brewteco.
Versão: 1.0.0
Última Atualização: Dezembro 2024
echo "# brew_mcp" >> README.md git init git add README.md git commit -m "first commit" git branch -M main git remote add origin git@github.com:apiccelli/brew_mcp.git git push -u origin main