Salesforce Order Concierge

Um assistente de ecommerce para Salesforce, permitindo interação com pedidos, devoluções e operações de atendimento ao cliente.

Documentação

Salesforce Order Concierge MCP Server

Um servidor Model Context Protocol (MCP) que fornece recursos de gerenciamento de pedidos Salesforce para Claude Desktop, incluindo verificação de status de pedidos, criação de devoluções, gerenciamento de casos e notificações no Slack.

🎯 Visão Geral

Este servidor MCP permite que o Claude Desktop interaja com o Salesforce para:

  • Verificação de status de pedidos com detalhes de envio e informações de rastreamento
  • Criação de pedidos de devolução usando objetos padrão do Salesforce ReturnOrder
  • Integração de gerenciamento de casos para escalonamento de atendimento ao cliente
  • Sistema de notificação no Slack para alertas em tempo real
  • Automação de e-mail de etiqueta de devolução para conveniência do cliente

🛠 Ferramentas Disponíveis

  1. check_order_status - Verifica status do pedido, detalhes de envio e informações de rastreamento
  2. create_return - Cria pedidos de devolução usando objetos padrão do Salesforce
  3. email_return_label - Envia etiquetas de devolução por e-mail aos clientes
  4. update_case_status - Atualiza o status do caso com alterações de prioridade e atribuição
  5. create_case_from_return - Cria casos de suporte a partir de pedidos de devolução
  6. send_slack_alert - Envia alertas formatados para canais do Slack

🚀 Configuração Rápida

1. Instalar Dependências e Compilar

npm install
npm run build

2. Implantar Metadados do Salesforce (Opcional)

Se você quiser usar os recursos aprimorados:

# Authenticate to your Salesforce org
sf org login web --alias MyOrg

# Deploy custom fields and flows
sf project deploy start --target-org MyOrg

3. Configurar o Claude Desktop

Adicione ao seu claude_desktop_config.json do Claude Desktop:

{
  "mcpServers": {
    "salesforce-order-concierge": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "/path/to/sf_mcp_oc",
      "env": {
        "SF_LOGIN_URL": "https://login.salesforce.com",
        "SF_USERNAME": "your-salesforce-username@example.com",
        "SF_PASSWORD": "your-salesforce-password",
        "SF_SECURITY_TOKEN": "your-salesforce-security-token",
        "SLACK_WEBHOOK_URL": "your-slack-webhook-url-optional"
      }
    }
  }
}

4. Reiniciar o Claude Desktop

Após adicionar a configuração, reinicie o Claude Desktop para carregar o servidor MCP.

🔍 Testando com o MCP Inspector

O MCP Inspector é uma ferramenta poderosa para testar e depurar servidores MCP. Veja como usá-lo:

Instalar o MCP Inspector

npx @modelcontextprotocol/inspector

Testar Seu Servidor

  1. Iniciar o Inspector:

    npx @modelcontextprotocol/inspector
    
  2. Configurar a Conexão:

    • Comando do Servidor: node
    • Argumentos: ["dist/index.js"]
    • Diretório de Trabalho: /path/to/sf_mcp_oc
    • Variáveis de Ambiente:
      SF_LOGIN_URL=https://login.salesforce.com
      SF_USERNAME=your-username@example.com
      SF_PASSWORD=your-password
      SF_SECURITY_TOKEN=your-token
      SLACK_WEBHOOK_URL=your-webhook-url
      
  3. Testar Ferramentas:

    • Clique em "Connect" para estabelecer a conexão
    • Navegue pelas ferramentas disponíveis no painel esquerdo
    • Teste cada ferramenta com dados de exemplo
    • Visualize solicitações/respostas em tempo real

Dados de Teste de Exemplo

Verificar Status do Pedido:

{
  "orderId": "00000100"
}

Criar Devolução:

{
  "orderId": "801xx0000000001",
  "lineItemId": "802xx0000000001",
  "reason": "Defective",
  "quantity": 1,
  "description": "Product stopped working"
}

Enviar Alerta no Slack:

{
  "message": "Test alert from MCP Inspector",
  "priority": "info"
}

Dicas de Depuração

  • Problemas de Conexão: Verifique as variáveis de ambiente e as credenciais do Salesforce
  • Falhas nas Ferramentas: Revise as mensagens de erro no painel de respostas do inspector
  • Permissões: Garanta que seu usuário do Salesforce tenha acesso aos objetos necessários
  • Rede: Verifique a conectividade com o Salesforce e o Slack

📋 Pré-requisitos

Requisitos do Salesforce

  • Organização Salesforce com licença Service Cloud ou Field Service
  • Order Management habilitado
  • Acesso à API para o usuário configurado
  • Objetos padrão: Order, OrderItem, ReturnOrder, ReturnOrderLineItem, Case

Requisitos do Sistema

  • Node.js 18+ instalado
  • Salesforce CLI (opcional, para implantação de metadados)
  • Aplicativo Claude Desktop

🔧 Variáveis de Ambiente

VariávelObrigatórioDescrição
SF_LOGIN_URLSimURL de login do Salesforce (https://login.salesforce.com para produção, https://test.salesforce.com para sandbox)
SF_USERNAMESimNome de usuário do Salesforce
SF_PASSWORDSimSenha do Salesforce
SF_SECURITY_TOKENSimToken de segurança do Salesforce
SLACK_WEBHOOK_URLNãoURL do webhook do Slack para notificações

🏗 Objetos do Salesforce Utilizados

Objetos Padrão

  • ReturnOrder - Objeto padrão do Salesforce para gerenciamento de devoluções
  • ReturnOrderLineItem - Itens individuais de devolução
  • Case - Integração com atendimento ao cliente
  • Order/OrderItem - Relacionamentos de pedidos

Campos Personalizados (Opcional)

  • ReturnOrder.LabelEmailSent__c - Rastreia se a etiqueta de devolução foi enviada por e-mail
  • ReturnOrder.LabelEmailSentDate__c - Data e hora do envio do e-mail

🚨 Solução de Problemas

Problemas Comuns

  1. "Servidor desconectado durante a configuração"

    # Check if server builds successfully
    npm run build
    
    # Verify file permissions
    chmod +x dist/index.js
    
    # Test server startup
    node dist/index.js
    
  2. "Login inválido"

    • Verifique as credenciais do Salesforce
    • Verifique o token de segurança (obtenha um novo em Configuração → Minhas Informações Pessoais)
    • Use a URL de login correta para o tipo da sua organização
  3. Erros de "Objeto não encontrado"

    • Garanta que a licença Service Cloud esteja ativa
    • Habilite o Order Management em Configuração → Vendas → Configurações de Pedidos
    • Verifique se o usuário tem acesso aos objetos ReturnOrder
  4. Falhas na execução das ferramentas

    • Teste com o MCP Inspector para ver mensagens de erro detalhadas
    • Verifique os logs de depuração do Salesforce
    • Confirme se os campos obrigatórios estão preenchidos

Obtendo Ajuda

  • Use o MCP Inspector para depuração detalhada
  • Verifique os logs do Claude Desktop para problemas de conexão
  • Revise os logs de depuração do Salesforce para erros de API
  • Teste a conectividade com o Salesforce usando consultas SOQL simples

📁 Estrutura do Projeto

sf_mcp_oc/
├── src/
│   ├── index.ts                  # Main MCP server
│   ├── salesforce-client.ts     # Salesforce API client
│   └── types.ts                  # TypeScript schemas
├── force-app/main/default/       # Salesforce metadata
│   ├── objects/ReturnOrder/      # Custom fields
│   └── flows/                    # Automation flows
├── dist/                         # Compiled JavaScript
├── package.json                  # Node.js dependencies
├── tsconfig.json                 # TypeScript config
└── CLAUDE.md                     # Project instructions

🔒 Segurança

  • Nunca envie credenciais para o controle de versão
  • Use variáveis de ambiente para todos os dados sensíveis
  • Rotacione os tokens de segurança do Salesforce regularmente
  • Use usuários de API dedicados com as permissões mínimas necessárias

📄 Licença

Licença MIT - consulte o arquivo LICENSE para obter detalhes.

🔗 Recursos