Commerce MCP Server

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.

Category
访问服务器

README

🛍️ Commerce MCP Server

Servidor MCP (Model Context Protocol) para análise avançada de dados de e-commerce com inteligência artificial

TypeScript Bun MCP PostgreSQL

📖 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

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 breakdown
  • order-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 estado
  • top-cities - Top cidades por volume e receita
  • customer-segmentation - Segmentação por perfil de compra
  • top-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áveis
  • category-performance - Performance por categoria
  • products-by-review-score - Produtos por avaliação
  • product-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 estado
  • freight-analysis-by-distance - Análise de frete por distância
  • most-common-routes - Rotas mais utilizadas

5. 🏪 Seller Tools (3 tools)

Análise e ranking de vendedores

  • seller-performance - Performance geral de vendedores
  • sellers-by-state - Agrupamento por estado
  • seller-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 pagamento
  • installment-analysis - Análise de parcelamento
  • multiple-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 notas
  • negative-review-factors - Fatores de insatisfação
  • delivery-impact-on-reviews - Impacto da entrega nas avaliações
  • categories-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 semana
  • sales-by-hour - Vendas por hora do dia
  • month-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 juntas
  • price-elasticity-by-category - Elasticidade de preço
  • potential-fraud-anomalies - Detecção de anomalias
  • nps-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

  1. Descrições Semânticas: Cada tool possui título e descrição clara do seu propósito
  2. Parâmetros Documentados: Schemas Zod com descrições detalhadas de cada campo
  3. Retornos Estruturados: JSON formatado, consistente e fácil de interpretar
  4. Flexibilidade: Filtros opcionais para diferentes níveis de granularidade
  5. Performance: Queries otimizadas para respostas rápidas
  6. 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


🎯 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

  1. Crie a query SQL em src/services/database/[categoria].ts
  2. Adicione a tool em src/tools/[categoria]-tool.ts
  3. Registre no src/tools/index.ts
  4. Documente em docs/TOOLS.md

🧪 Testing

O servidor pode ser testado através de:

  1. Health Check (modo HTTP):
curl http://localhost:3000/health
  1. 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}'
  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:

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add: amazing feature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. 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


💡 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

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选