Salesforce Order Concierge

Un asistente de comercio electrónico para Salesforce, que permite la interacción con pedidos, devoluciones y operaciones de servicio al cliente.

Documentación

Servidor MCP de Salesforce Order Concierge

Un servidor de Model Context Protocol (MCP) que proporciona capacidades de gestión de pedidos de Salesforce para Claude Desktop, incluyendo verificación de estado de pedidos, creación de devoluciones, gestión de casos y notificaciones de Slack.

🎯 Descripción General

Este servidor MCP permite a Claude Desktop interactuar con Salesforce para:

  • Verificación de estado de pedidos con detalles de envío e información de seguimiento
  • Creación de devoluciones utilizando objetos estándar de Salesforce ReturnOrder
  • Integración de gestión de casos para escalamiento de servicio al cliente
  • Sistema de notificaciones de Slack para alertas en tiempo real
  • Automatización de correos de etiquetas de devolución para conveniencia del cliente

🛠 Herramientas Disponibles

  1. check_order_status - Verificar estado de pedidos, detalles de envío e información de seguimiento
  2. create_return - Crear devoluciones utilizando objetos estándar de Salesforce
  3. email_return_label - Enviar etiquetas de envío de devolución por correo a los clientes
  4. update_case_status - Actualizar estado de casos con cambios de prioridad y asignación
  5. create_case_from_return - Crear casos de soporte a partir de devoluciones
  6. send_slack_alert - Enviar alertas formateadas a canales de Slack

🚀 Configuración Rápida

1. Instalar Dependencias y Compilar

npm install
npm run build

2. Desplegar Metadatos de Salesforce (Opcional)

Si deseas utilizar las funciones mejoradas:

# 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 Claude Desktop

Agrega a tu claude_desktop_config.json de 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 Claude Desktop

Después de agregar la configuración, reinicia Claude Desktop para cargar el servidor MCP.

🔍 Pruebas con MCP Inspector

MCP Inspector es una herramienta poderosa para probar y depurar servidores MCP. Así es como se usa:

Instalar MCP Inspector

npx @modelcontextprotocol/inspector

Probar tu Servidor

  1. Iniciar el Inspector:

    npx @modelcontextprotocol/inspector
    
  2. Configurar la Conexión:

    • Comando del Servidor: node
    • Argumentos: ["dist/index.js"]
    • Directorio de Trabajo: /path/to/sf_mcp_oc
    • Variables de Entorno:
      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. Probar Herramientas:

    • Haz clic en "Connect" para establecer la conexión
    • Explora las herramientas disponibles en el panel izquierdo
    • Prueba cada herramienta con datos de muestra
    • Visualiza solicitudes/respuestas en tiempo real

Datos de Prueba de Muestra

Verificar Estado de Pedido:

{
  "orderId": "00000100"
}

Crear Devolución:

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

Enviar Alerta de Slack:

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

Consejos de Depuración

  • Problemas de Conexión: Verifica las variables de entorno y las credenciales de Salesforce
  • Fallos de Herramientas: Revisa los mensajes de error en el panel de respuestas del inspector
  • Permisos: Asegúrate de que tu usuario de Salesforce tenga acceso a los objetos requeridos
  • Red: Verifica la conectividad de Salesforce y Slack

📋 Requisitos Previos

Requisitos de Salesforce

  • Organización de Salesforce con licencia de Service Cloud o Field Service
  • Gestión de Pedidos habilitada
  • Acceso API para el usuario configurado
  • Objetos estándar: Order, OrderItem, ReturnOrder, ReturnOrderLineItem, Case

Requisitos del Sistema

  • Node.js 18+ instalado
  • Salesforce CLI (opcional, para despliegue de metadatos)
  • Aplicación Claude Desktop

🔧 Variables de Entorno

VariableRequeridaDescripción
SF_LOGIN_URLSíURL de inicio de sesión de Salesforce (https://login.salesforce.com para producción, https://test.salesforce.com para sandbox)
SF_USERNAMESíNombre de usuario de Salesforce
SF_PASSWORDSíContraseña de Salesforce
SF_SECURITY_TOKENSíToken de seguridad de Salesforce
SLACK_WEBHOOK_URLNoURL de webhook de Slack para notificaciones

🏗 Objetos de Salesforce Utilizados

Objetos Estándar

  • ReturnOrder - Objeto estándar de Salesforce para gestión de devoluciones
  • ReturnOrderLineItem - Artículos individuales de devolución
  • Case - Integración de servicio al cliente
  • Order/OrderItem - Relaciones de pedidos

Campos Personalizados (Opcional)

  • ReturnOrder.LabelEmailSent__c - Rastrea si se envió la etiqueta de devolución por correo
  • ReturnOrder.LabelEmailSentDate__c - Marca de tiempo del correo

🚨 Solución de Problemas

Problemas Comunes

  1. "Servidor desconectado durante la configuración"

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

    • Verifica las credenciales de Salesforce
    • Revisa el token de seguridad (obtén uno nuevo en Configuración → Mi Información Personal)
    • Usa la URL de inicio de sesión correcta para tu tipo de organización
  3. Errores de "Objeto no encontrado"

    • Asegúrate de que la licencia de Service Cloud esté activa
    • Habilita la Gestión de Pedidos en Configuración → Ventas → Configuración de Pedidos
    • Verifica que el usuario tenga acceso a los objetos ReturnOrder
  4. Fallos en la ejecución de herramientas

    • Prueba con MCP Inspector para ver mensajes de error detallados
    • Revisa los registros de depuración de Salesforce
    • Verifica que los campos requeridos estén completos

Obtener Ayuda

  • Usa MCP Inspector para depuración detallada
  • Revisa los registros de Claude Desktop para problemas de conexión
  • Revisa los registros de depuración de Salesforce para errores de API
  • Prueba la conectividad de Salesforce con consultas SOQL simples

📁 Estructura del Proyecto

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

🔒 Seguridad

  • Nunca comprometas credenciales en el control de versiones
  • Usa variables de entorno para todos los datos sensibles
  • Rota los tokens de seguridad de Salesforce regularmente
  • Usa usuarios API dedicados con permisos mínimos requeridos

📄 Licencia

Licencia MIT - consulta el archivo LICENSE para más detalles.

🔗 Recursos