Brewteco MCP Server
Integrates Brewteco APIs with AI assistants, enabling natural language queries for sales data, product performance, team analytics, customer segmentation, and detailed customer profiles across multiple store locations.
README
🍺 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?
- Instalação
- Configuração
- Ferramentas Disponíveis
- Uso com Claude Desktop
- Desenvolvimento
- Exemplos
🤔 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 install
Build
npm run build
Isso 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/v1
Padrã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 dezembro
3. 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 dezembro
7. 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 temos
Claude irá automaticamente:
- Chamar
obter_vendascom as datas corretas - Chamar
obter_produtospara o top 5 - Chamar
obter_performance_equipepara ranking - Chamar
filtrar_clientespara VIPs - Montar 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 CPF - Analisar 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érios - Analisar 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.md
Comandos 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 inspector
Testar com MCP Inspector
O MCP Inspector é uma ferramenta da Anthropic para testar servidores MCP:
npm run inspector
Isso 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$ 500
Ferramenta 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 melhor
Ferramentas 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á correto - Certifique-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/health - Confirme a
BREWTECO_API_URLna configuração - Teste a conexão manualmente
Problema: Ferramentas retornam erro
Solução:
- Use o MCP Inspector para testar:
npm run inspector - Verifique 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
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.