Salesforce MCP Server - Enhanced Edition

Un servidor MCP de Salesforce con integraciones automáticas para servicios como WhatsApp, Slack, correo electrónico y webhooks personalizados.

Documentación

Salesforce MCP Server - Enhanced Edition

Una implementación mejorada del servidor MCP (Model Context Protocol) que integra Claude con Salesforce, con integraciones automáticas con APIs externas. Este servidor permite a Claude consultar, modificar y gestionar tus objetos y registros de Salesforce, además de configurar automáticamente integraciones con servicios externos como WhatsApp, Slack, correo electrónico y webhooks personalizados.

🆕 NUEVAS FUNCIONALIDADES - Gestión de Integraciones

🔗 Configuración Automática de Integraciones

Crea integraciones que se activan automáticamente cuando se crean, actualizan o eliminan registros de Salesforce:

  • Notificaciones de WhatsApp cuando se crean nuevos prospectos
  • Alertas de Slack para actualizaciones de oportunidades
  • Notificaciones por correo electrónico para nuevos casos
  • Webhooks personalizados para cualquier combinación de objeto/evento

⚡ Plantillas de Configuración Rápida

Plantillas de integración preconstruidas para escenarios comunes:

  • whatsapp_lead - Notificaciones de WhatsApp para nuevos prospectos
  • slack_opportunity - Alertas de Slack para oportunidades
  • email_case - Notificaciones por correo electrónico para casos de soporte
  • webhook_custom - Webhook genérico para cualquier caso de uso

Funcionalidades Originales

  • Gestión de Objetos y Campos: Crea y modifica objetos y campos personalizados usando lenguaje natural
  • Búsqueda Inteligente de Objetos: Encuentra objetos de Salesforce usando coincidencias parciales de nombres
  • Información Detallada del Esquema: Obtén información completa de campos y relaciones para cualquier objeto
  • Consultas de Datos Flexibles: Consulta registros con soporte de relaciones y filtros complejos
  • Manipulación de Datos: Inserta, actualiza, elimina y actualiza registros con facilidad
  • Búsqueda entre Objetos: Busca en múltiples objetos usando SOSL
  • Gestión de Código Apex: Lee, crea y actualiza clases y disparadores de Apex
  • Manejo de Errores Intuitivo: Retroalimentación clara con detalles de errores específicos de Salesforce

Instalación

npm install -g @tsmztech/mcp-server-salesforce

🆕 Nuevas Herramientas de Integración

salesforce_manage_integrations

Gestión completa de integraciones:

  • Crea nuevas integraciones con APIs externas
  • Lista todas las integraciones configuradas
  • Actualiza la configuración de integraciones
  • Activa/desactiva integraciones
  • Elimina integraciones

salesforce_quick_setup_integration

Configuración rápida para escenarios comunes de integración:

  • Integración con WhatsApp Business API
  • Integración con webhook de Slack
  • Integración con servicio de correo electrónico
  • Integración con webhook personalizado

Ejemplos de Integración

📱 Notificaciones de Prospectos por WhatsApp

"Set up WhatsApp notifications when new leads are created"

Quick setup with:
- Type: whatsapp_lead
- Object: Lead
- WhatsApp API token: your_token
- Phone number: +1234567890
- Message: "🔔 New lead: {Name} from {Company} - Rating: {Rating}"

💬 Alertas de Oportunidades por Slack

"Create Slack alerts for opportunity updates"

Quick setup with:
- Type: slack_opportunity  
- Object: Opportunity
- Slack webhook URL: your_webhook_url
- Channel: #sales
- Message: "💰 {Name} - ${Amount} - Stage: {StageName}"

📧 Notificaciones de Casos por Correo Electrónico

"Send email notifications for new support cases"

Quick setup with:
- Type: email_case
- Object: Case  
- Email API endpoint: your_email_service
- Message: "New case #{CaseNumber} from {Contact.Name}"

🎯 Integración con Webhook Personalizado

"Create custom webhook for account updates"

Setup with:
- Type: webhook_custom
- Object: Account
- Webhook URL: https://your-system.com/webhook
- Events: insert, update
- Condition: "Type = 'Customer'"

Cómo Funciona la Integración

  1. Configuración: Usa la configuración rápida o la configuración manual
  2. Creación Automática:
    • Crea el objeto personalizado Integration_Config__c para almacenar la configuración
    • Genera un disparador de Apex para tu objeto objetivo
    • Crea la clase de utilidad IntegrationCalloutService
  3. Ejecución: Cuando los registros coinciden con tus criterios, se realizan llamadas automáticas
  4. Gestión: Control total para activar, desactivar, actualizar o eliminar integraciones

Herramientas Originales

salesforce_search_objects

Busca objetos estándar y personalizados por coincidencias parciales de nombres.

salesforce_describe_object

Obtén información detallada del esquema del objeto, incluyendo campos, relaciones y valores de listas de selección.

salesforce_query_records

Consulta registros con soporte de relaciones y condiciones WHERE complejas.

salesforce_aggregate_query

Ejecuta consultas agregadas con GROUP BY, funciones agregadas y cláusulas HAVING.

salesforce_dml_records

Realiza operaciones de datos: insertar, actualizar, eliminar y actualizar registros.

salesforce_manage_object

Crea y modifica objetos personalizados con configuraciones de uso compartido.

salesforce_manage_field

Gestiona campos de objetos, incluyendo relaciones y otorga automáticamente Seguridad a Nivel de Campo.

salesforce_manage_field_permissions

Gestiona la Seguridad a Nivel de Campo (Permisos de Campo) para perfiles específicos.

salesforce_search_all

Busca en múltiples objetos usando SOSL con fragmentos de campos.

salesforce_read_apex / salesforce_write_apex

Lee y gestiona clases de Apex con acceso completo al código fuente.

salesforce_read_apex_trigger / salesforce_write_apex_trigger

Lee y gestiona disparadores de Apex para cualquier objeto.

salesforce_execute_anonymous

Ejecuta código Apex anónimo para operaciones personalizadas.

salesforce_manage_debug_logs

Gestiona registros de depuración para usuarios de Salesforce con niveles de registro configurables.

Configuración

Autenticación de Salesforce

Puedes conectarte a Salesforce usando uno de dos métodos de autenticación:

1. Autenticación por Nombre de Usuario/Contraseña (Predeterminada)

  1. Configura tus credenciales de Salesforce
  2. Obtén tu token de seguridad (Restablecer desde la Configuración de Salesforce)

2. Flujo de Credenciales de Cliente OAuth 2.0

  1. Crea una Aplicación Conectada en Salesforce
  2. Habilita la configuración de OAuth y selecciona "Flujo de Credenciales de Cliente"
  3. Establece los alcances apropiados (normalmente "api" es suficiente)
  4. Guarda el ID de Cliente y el Secreto de Cliente
  5. Importante: Anota la URL de tu instancia (por ejemplo, https://your-domain.my.salesforce.com) ya que es necesaria para la autenticación

Uso con Claude Desktop

Agrega a tu claude_desktop_config.json:

Para Autenticación por Nombre de Usuario/Contraseña:

{
  "mcpServers": {
    "salesforce": {
      "command": "npx",
      "args": ["-y", "@tsmztech/mcp-server-salesforce"],
      "env": {
        "SALESFORCE_CONNECTION_TYPE": "User_Password",
        "SALESFORCE_USERNAME": "your_username",
        "SALESFORCE_PASSWORD": "your_password",
        "SALESFORCE_TOKEN": "your_security_token",
        "SALESFORCE_INSTANCE_URL": "org_url"
      }
    }
  }
}

Para el Flujo de Credenciales de Cliente OAuth 2.0:

{
  "mcpServers": {
    "salesforce": {
      "command": "npx",
      "args": ["-y", "@tsmztech/mcp-server-salesforce"],
      "env": {
        "SALESFORCE_CONNECTION_TYPE": "OAuth_2.0_Client_Credentials",
        "SALESFORCE_CLIENT_ID": "your_client_id",
        "SALESFORCE_CLIENT_SECRET": "your_client_secret",
        "SALESFORCE_INSTANCE_URL": "https://your-domain.my.salesforce.com"
      }
    }
  }
}

🆕 Ejemplos de Uso de Integración

Configuración Rápida de Integración

"Set up WhatsApp notifications for hot leads"
"Create Slack alerts when opportunities exceed $50k" 
"Send email notifications for high-priority cases"
"Configure webhook for account updates"

Gestión de Integraciones

"List all my integrations"
"Deactivate the WhatsApp lead integration"
"Update the Slack webhook URL"
"Delete the old email integration"

Configuración Avanzada de Integración

"Create custom integration for Contact updates that sends data to my CRM webhook when the lead score changes"
"Set up WhatsApp notifications only for leads with rating 'Hot' from specific lead sources"

Ejemplos de Uso Tradicional

Búsqueda de Objetos

"Find all objects related to Accounts"
"Show me objects that handle customer service"
"What objects are available for order management?"

Obtención de Información del Esquema

"What fields are available in the Account object?"
"Show me the picklist values for Case Status"
"Describe the relationship fields in Opportunity"

Consulta de Registros

"Get all Accounts created this month"
"Show me high-priority Cases with their related Contacts"
"Find all Opportunities over $100k"

Gestión de Objetos Personalizados

"Create a Customer Feedback object"
"Add a Rating field to the Feedback object"
"Update sharing settings for the Service Request object"

Desarrollo

Compilación desde el código fuente

# Clone your fork
git clone https://github.com/chetyz/Mcp_Salesforce.git

# Navigate to directory
cd Mcp_Salesforce

# Install dependencies
npm install

# Build the project
npm run build

Contribuciones

¡Las contribuciones son bienvenidas! No dudes en enviar una Solicitud de Extracción (Pull Request).

Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENCIA para más detalles.

Problemas y Soporte

Si encuentras algún problema o necesitas soporte, por favor reporta un problema en el repositorio de GitHub.