Commerce MCP Server
MCP server for e-commerce data analysis with 37 specialized tools covering KPIs, customers, products, delivery, sellers, payments, reviews, temporal patterns, cohorts, and advanced analytics.
README
🛍️ Commerce MCP Server
Servidor MCP (Model Context Protocol) para análise avançada de dados de e-commerce com inteligência artificial
📖 Visão Geral
Commerce MCP Server é um servidor MCP completo e robusto que oferece 37 ferramentas especializadas para análise profunda de dados de e-commerce. Projetado para integração com agentes de IA (como Claude, GPT-4, etc.), fornece insights acionáveis através de consultas otimizadas ao banco de dados Olist.
🎯 Principais Características
- 37 Tools MCP organizadas em 10 categorias funcionais
- 50+ Métricas de negócio disponíveis
- Análises Avançadas incluindo NPS, cross-selling, detecção de anomalias e cohorts
- Queries Otimizadas em SQL para performance máxima
- Validação Rigorosa com Zod schemas
- Dois Modos de Operação: stdio (direto) e HTTP (servidor Express)
- Type-Safe com TypeScript em modo strict
🚀 Quick Start
Pré-requisitos
- Bun >= 1.0
- PostgreSQL >= 14
- Banco de dados Olist configurado
Instalação
# Clone o repositório
git clone <repository-url>
cd commerce-mcp
# Instale as dependências
bun install
# Configure as variáveis de ambiente
cp .env.example .env
# Edite o arquivo .env com suas configurações
Configuração
Crie um arquivo .env na raiz do projeto:
# Database Configuration
DATABASE_HOST=localhost
DATABASE_PORT=5432
DATABASE_NAME=commerce_intelligence
DATABASE_USER=postgres
DATABASE_PASSWORD=sua_senha
# Server Configuration (para modo HTTP)
MCP_SERVER_PORT=3000
MCP_SERVER_HOST=0.0.0.0
# Connection Pool Configuration
DATABASE_POOL_MIN=2
DATABASE_POOL_MAX=10
DATABASE_IDLE_TIMEOUT_MS=10000
DATABASE_CONNECTION_TIMEOUT_MS=5000
# Logging
LOG_LEVEL=info
Execução
Modo STDIO (MCP direto)
bun run dev
Modo HTTP (Express server)
bun run dev:server
O servidor HTTP estará disponível em http://localhost:3000/mcp
📊 Categorias de Ferramentas
1. 📈 KPI Tools (3 tools)
Métricas principais do negócio para dashboards executivos
dashboard-kpis- KPIs gerais (pedidos, clientes, receita, ticket médio)monthly-revenue- Análise de receita mensal com breakdownorder-status-distribution- Distribuição de status de pedidos
2. 👥 Customer Tools (4 tools)
Análise profunda de comportamento e segmentação de clientes
customer-geographic-distribution- Distribuição geográfica por estadotop-cities- Top cidades por volume e receitacustomer-segmentation- Segmentação por perfil de compratop-customers-by-value- Clientes de maior valor
3. 📦 Product Tools (4 tools)
Performance de produtos e otimização de portfólio
top-products- Produtos mais vendidos e rentáveiscategory-performance- Performance por categoriaproducts-by-review-score- Produtos por avaliaçãoproduct-dimension-analysis- Análise de dimensões e peso
4. 🚚 Delivery Tools (3 tools)
Logística e eficiência de entregas
delivery-performance-by-state- Performance por estadofreight-analysis-by-distance- Análise de frete por distânciamost-common-routes- Rotas mais utilizadas
5. 🏪 Seller Tools (3 tools)
Análise e ranking de vendedores
seller-performance- Performance geral de vendedoressellers-by-state- Agrupamento por estadoseller-delivery-performance- Eficiência de entrega
6. 💳 Payment Tools (3 tools)
Métodos de pagamento e comportamento financeiro
payment-methods-analysis- Análise por método de pagamentoinstallment-analysis- Análise de parcelamentomultiple-payment-orders- Pedidos com múltiplos pagamentos
7. ⭐ Review Tools (4 tools)
Análise de satisfação e qualidade
review-score-distribution- Distribuição de notasnegative-review-factors- Fatores de insatisfaçãodelivery-impact-on-reviews- Impacto da entrega nas avaliaçõescategories-by-review-problems- Categorias problemáticas
8. 📅 Temporal Tools (3 tools)
Padrões temporais e sazonalidade
sales-by-day-of-week- Vendas por dia da semanasales-by-hour- Vendas por hora do diamonth-over-month-growth- Crescimento mês a mês
9. 🔄 Cohort Tools (1 tool)
Análise de retenção de clientes
customer-cohorts- Cohorts mensais de retenção
10. 🧠 Advanced Tools (4 tools)
Análises avançadas e machine learning
cross-selling-categories- Categorias compradas juntasprice-elasticity-by-category- Elasticidade de preçopotential-fraud-anomalies- Detecção de anomaliasnps-analysis- Cálculo de Net Promoter Score
🏗️ Arquitetura
commerce-mcp/
├── src/
│ ├── index.ts # Entry point (modo STDIO)
│ ├── server.ts # Entry point (modo HTTP)
│ ├── tools/ # MCP Tools
│ │ ├── index.ts # Registro de todas as tools
│ │ ├── kpi-tool.ts
│ │ ├── customer-tool.ts
│ │ ├── product-tool.ts
│ │ ├── delivery-tool.ts
│ │ ├── seller-tool.ts
│ │ ├── payment-tool.ts
│ │ ├── review-tool.ts
│ │ ├── temporal-tool.ts
│ │ ├── cohort-tool.ts
│ │ └── advanced-tool.ts
│ ├── services/
│ │ ├── database.ts # Database Manager (Singleton)
│ │ ├── database/ # Queries SQL organizadas
│ │ │ ├── kpi.ts
│ │ │ ├── customer.ts
│ │ │ ├── product.ts
│ │ │ ├── delivery.ts
│ │ │ ├── seller.ts
│ │ │ ├── payment-review.ts
│ │ │ └── advanced.ts
│ │ └── mcp/
│ │ └── create-mcp-server.ts
│ ├── types/ # TypeScript types
│ │ ├── database-config.type.ts
│ │ └── database-types.ts
│ └── lib/
│ └── utils/
│ └── utils.ts
├── docs/
│ ├── README_TOOLS.md # Documentação detalhada das tools
│ └── TOOLS.md # Referência rápida
├── EXAMPLES.md # Exemplos de uso
├── package.json
├── tsconfig.json
└── .env.example
🎨 Design Patterns
- Singleton Pattern: Database Manager único para pool de conexões eficiente
- Factory Pattern: Criação do servidor MCP encapsulada
- Strategy Pattern: Diferentes transportes (stdio, HTTP)
- Repository Pattern: Separação de queries SQL em módulos específicos
💻 Tecnologias
| Tecnologia | Versão | Uso |
|---|---|---|
| Bun | 1.0+ | Runtime JavaScript de alta performance |
| TypeScript | 5.0+ | Tipagem estática e type safety |
| MCP SDK | 1.20.0 | Model Context Protocol |
| PostgreSQL | 14+ | Banco de dados relacional |
| pg | 8.17.2 | Client PostgreSQL |
| Zod | 3.25.30 | Validação de schemas e runtime type checking |
| Express | 5.2.1 | Servidor HTTP (modo server) |
| Axios | 1.12.2 | Cliente HTTP |
📚 Uso com Agentes IA
Este servidor foi especificamente otimizado para uso com agentes inteligentes como Claude, oferecendo:
✅ Benefícios para Agentes IA
- Descrições Semânticas: Cada tool possui título e descrição clara do seu propósito
- Parâmetros Documentados: Schemas Zod com descrições detalhadas de cada campo
- Retornos Estruturados: JSON formatado, consistente e fácil de interpretar
- Flexibilidade: Filtros opcionais para diferentes níveis de granularidade
- Performance: Queries otimizadas para respostas rápidas
- Error Handling: Tratamento robusto de erros com mensagens claras
🤖 Exemplos de Prompts
Análise Exploratória
"Faça uma análise exploratória completa do e-commerce.
Comece pelos KPIs principais e depois explore:
1. Performance de produtos e categorias
2. Distribuição geográfica de clientes
3. Padrões temporais de vendas
4. Satisfação dos clientes via reviews e NPS"
Investigação de Problemas
"Identifique os principais problemas do negócio analisando:
1. Categorias com mais reviews negativos
2. Estados com piores métricas de entrega
3. Potenciais anomalias e fraudes
4. Vendedores com baixa performance
Sugira ações corretivas baseadas nos dados."
Oportunidades de Crescimento
"Identifique oportunidades de crescimento através de:
1. Cross-selling entre categorias
2. Clientes de alto valor que compram pouco
3. Estados/cidades com baixa penetração mas alto potencial
4. Produtos bem avaliados com baixo volume"
Para mais exemplos, consulte o arquivo EXAMPLES.md.
🔐 Segurança
- ✅ Prepared Statements: Proteção contra SQL injection
- ✅ Validação de Entrada: Zod schemas em todas as tools
- ✅ Connection Pool: Gerenciamento seguro de conexões
- ✅ Error Handling: Tratamento apropriado sem exposição de dados sensíveis
- ✅ Environment Variables: Credenciais em variáveis de ambiente
- ✅ Type Safety: TypeScript strict mode
📖 Documentação Adicional
- TOOLS.md: Documentação detalhada de todas as 37 tools
- EXAMPLES.md: Exemplos práticos de uso e combinações de tools
- README_TOOLS.md: Guia técnico das ferramentas
🎯 Casos de Uso
1. Dashboard Executivo
Combine dashboard-kpis, monthly-revenue e order-status-distribution para visão geral do negócio.
2. Análise de Performance
Use seller-performance, top-products e category-performance para identificar top performers.
3. Otimização Logística
Analise delivery-performance-by-state, most-common-routes e freight-analysis-by-distance.
4. Customer Intelligence
Explore customer-segmentation, customer-cohorts e top-customers-by-value.
5. Gestão de Qualidade
Monitore review-score-distribution, nps-analysis e negative-review-factors.
🛠️ Desenvolvimento
Padrões de Código
- TypeScript strict mode habilitado
- Código auto-explicativo sem comentários desnecessários
- Separação de responsabilidades clara
- Queries SQL otimizadas e legíveis
- Error handling consistente
Estrutura de uma Tool
server.registerTool(
"tool-name",
{
title: "Título Descritivo",
description: "Descrição clara do que a tool faz",
inputSchema: {
param1: z.string().optional().describe("Descrição do parâmetro"),
param2: z.number().min(1).describe("Outro parâmetro"),
},
},
async (args) => {
const result = await db.executeQuery("query_name", args);
return {
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
};
}
);
Adicionando Novas Tools
- Crie a query SQL em
src/services/database/[categoria].ts - Adicione a tool em
src/tools/[categoria]-tool.ts - Registre no
src/tools/index.ts - Documente em
docs/TOOLS.md
🧪 Testing
O servidor pode ser testado através de:
- Health Check (modo HTTP):
curl http://localhost:3000/health
- Chamada MCP (modo HTTP):
curl -X POST http://localhost:3000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/list","id":1}'
- Integração com Claude Desktop:
Configure no arquivo
claude_desktop_config.json:
{
"mcpServers": {
"commerce": {
"command": "bun",
"args": ["run", "/path/to/commerce-mcp/src/index.ts"]
}
}
}
📊 Performance
- Connection Pool: 2-10 conexões simultâneas
- Query Optimization: Índices apropriados e agregações eficientes
- Timeout: 5 segundos para conexão, 10 segundos para idle
- Response Time: < 500ms para maioria das queries
🤝 Contribuindo
Contribuições são bem-vindas! Por favor:
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add: amazing feature') - Push para a branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
Convenções
- Siga os padrões TypeScript do projeto
- Adicione documentação para novas tools
- Mantenha queries SQL legíveis e otimizadas
- Teste suas mudanças
📝 Changelog
[1.0.0] - 2024
- ✨ Versão inicial
- 📊 37 tools MCP em 10 categorias
- 🚀 Suporte para stdio e HTTP
- 🔒 Validação com Zod
- 📚 Documentação completa
📄 Licença
Este projeto é privado e proprietário.
👨💻 Autor
Desenvolvido com ❤️ para análise profissional de dados de e-commerce com foco em integração com agentes de IA.
🔗 Links Úteis
- Model Context Protocol
- Bun Documentation
- PostgreSQL Documentation
- Zod Documentation
- TypeScript Documentation
💡 Suporte
Para questões e suporte:
- 📧 Abra uma issue no repositório
- 📖 Consulte a documentação em
/docs - 💬 Veja exemplos em
EXAMPLES.md
<div align="center">
Commerce MCP Server - Transforme dados em insights acionáveis com IA
</div>
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。