Brewteco MCP Server

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.

Category
Visit Server

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?

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:

  1. Vendas - Dados de faturamento e transações
  2. Produtos - Performance e ranking de produtos
  3. Equipe - Performance de vendedores
  4. Clientes - Filtros e segmentação de clientes
  5. 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.js executá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 inicial
  • data_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, custom
  • data_inicio: Se periodo=custom
  • data_fim: Se periodo=custom
  • categoria (opcional): Filtro por categoria
  • limite (opcional): Quantidade (1-100)
  • ordem (opcional): mais_vendidos, menos_vendidos
  • loja (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, custom
  • data_inicio: Se periodo=custom
  • data_fim: Se periodo=custom
  • loja (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ário
  • data_inicio (obrigatório): Data inicial
  • data_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 categorias
  • produtos_consumidos: Array de produtos
  • gasto_total_min: Gasto mínimo
  • gasto_total_max: Gasto máximo
  • dias_sem_visita_min: Dias sem visitar
  • frequencia_min: Frequência mínima
  • loja: Filtro por loja
  • data_inicio: Período inicial
  • data_fim: Período final
  • limite: 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:

  1. Chamar obter_vendas com as datas corretas
  2. Chamar obter_produtos para o top 5
  3. Chamar obter_performance_equipe para ranking
  4. Chamar filtrar_clientes para VIPs
  5. 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á:

  1. Chamar obter_perfil_cliente com o CPF
  2. Analisar LTV, produtos favoritos, frequência
  3. 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á:

  1. Chamar filtrar_clientes com os critérios
  2. Analisar o perfil dos clientes retornados
  3. 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

  1. Validação de Dados: Todos os parâmetros são validados com Zod
  2. Tratamento de Erros: Erros da API são capturados e formatados
  3. Timeout: Requisições têm timeout de 30 segundos
  4. Retry Logic: Falhas temporárias são retentadas 3 vezes
  5. 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:

  1. Verifique se o caminho em claude_desktop_config.json está correto
  2. Certifique-se de usar caminho absoluto
  3. Reinicie completamente o Claude Desktop
  4. Verifique os logs em: ~/Library/Logs/Claude/ (MacOS)

Problema: Erro "Connection refused"

Solução:

  1. Verifique se a API Brewteco está rodando: curl http://localhost:3700/api/v1/health
  2. Confirme a BREWTECO_API_URL na configuração
  3. Teste a conexão manualmente

Problema: Ferramentas retornam erro

Solução:

  1. Use o MCP Inspector para testar: npm run inspector
  2. Verifique os logs do servidor MCP
  3. 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

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.

Official
Featured
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

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.

Official
Featured
Python
graphlit-mcp-server

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.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured