Salesforce Lite

Un servidor simple y ligero para conectar asistentes de IA a datos de Salesforce.

Documentación

mcp-salesforce-lite

Servidor MCP de Salesforce simple y ligero para conectar asistentes de IA a los datos de Salesforce. Ideal para prototipos y proyectos pequeños.

PyPI version Python License: MIT GitHub stars

📦 Instalar desde PyPI: pip install mcp-salesforce-lite

🔗 Paquete PyPI: https://pypi.org/project/mcp-salesforce-lite/

📚 Repositorio de GitHub: https://github.com/luvl/mcp-salesforce-lite

Demo

Ve el servidor MCP Salesforce Lite en acción con Claude Desktop:

Salesforce MCP Demo

La demo muestra a Claude Desktop usando el servidor MCP para interactuar con los datos de Salesforce: consultando objetos, recuperando registros y realizando operaciones CRUD sin problemas.

Descripción general

Este servidor MCP (Model Context Protocol) proporciona a asistentes de IA como Claude acceso seguro a los datos y operaciones de Salesforce. Implementa el estándar MCP para permitir una integración fluida entre aplicaciones de IA y Salesforce CRM.

Características

  • 🔐 Autenticación segura de Salesforce mediante OAuth 2.0
  • 📊 Acceso a objetos de Salesforce (Cuentas, Contactos, Oportunidades, etc.)
  • 🔍 Ejecución de consultas SOQL
  • 📝 Operaciones CRUD en registros de Salesforce
  • 🛡️ Seguridad integrada y limitación de velocidad
  • 🚀 Configuración e instalación sencillas

Uso rápido

# Install the package
pip install mcp-salesforce-lite

# Use with Claude Desktop (recommended)
uvx --from mcp-salesforce-lite mcp-salesforce-lite

# Or run directly
mcp-salesforce-lite

Funciona con: Claude Desktop, cualquier asistente de IA compatible con MCP

Inicio rápido con Claude Desktop

Uso en producción (Recomendado)

La forma más sencilla de usar este servidor MCP es instalarlo directamente desde PyPI y configurarlo con Claude Desktop.

Paso 1: Configurar Claude Desktop

Añade la siguiente configuración a tu archivo de configuración de Claude Desktop:

Ubicación del archivo de configuración:

  • macOS/Linux: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Configuración:

{
  "mcpServers": {
    "salesforce-lite": {
      "command": "uvx",
      "args": [
        "--from",
        "mcp-salesforce-lite",
        "mcp-salesforce-lite"
      ],
      "env": {
        "SALESFORCE_ACCESS_TOKEN": "your_access_token",
        "SALESFORCE_INSTANCE_URL": "your_instance_url"
      }
    }
  }
}

Paso 2: Configurar las credenciales de Salesforce

Reemplaza las variables de entorno en la configuración:

  • SALESFORCE_ACCESS_TOKEN: Tu token de acceso de Salesforce
  • SALESFORCE_INSTANCE_URL: La URL de tu instancia de Salesforce (p. ej., https://yourcompany.my.salesforce.com)

Paso 3: Reiniciar Claude Desktop

Después de guardar la configuración, reinicia Claude Desktop. Deberías ver un icono de martillo que indica que las herramientas están disponibles.

Paso 4: Probar la integración

Prueba a preguntarle a Claude:

  • "Lista los objetos de Salesforce disponibles"
  • "Describe el objeto Account"
  • "Ejecuta una consulta SOQL para obtener leads recientes"

Requisitos previos

  • Python 3.10 o superior
  • Organización de Salesforce Developer/Production
  • Connected App configurada en Salesforce

Configuración de desarrollo

Si quieres modificar o contribuir a este servidor MCP, sigue estas instrucciones de configuración de desarrollo.

Instalación

Opción 1: Usando uv (Recomendado para desarrollo)

# Install uv if you haven't already
brew install uv  # macOS
# or
curl -LsSf https://astral.sh/uv/install.sh | sh  # Linux/macOS

# Clone and install the server
git clone https://github.com/luvl/mcp-salesforce-lite.git
cd mcp-salesforce-lite
uv sync

Opción 2: Usando Poetry

git clone https://github.com/luvl/mcp-salesforce-lite.git
cd mcp-salesforce-lite
poetry install

Configuración de desarrollo de Salesforce

Crea un archivo .env en la raíz del proyecto:

SALESFORCE_ACCESS_TOKEN=your_access_token
SALESFORCE_INSTANCE_URL=your_instance_url

Uso

Modo de desarrollo

Primero, asegúrate de tener tus credenciales de Salesforce configuradas en tu archivo .env.

Método 1: Ejecución directa de Python

# Run the server directly
python src/mcp_salesforce_lite/server.py

Método 2: Usando Poetry

# Run with Poetry
poetry run python src/mcp_salesforce_lite/server.py

Método 3: Usando UV (Recomendado)

# Run with UV
uv run python src/mcp_salesforce_lite/server.py

Pruebas con MCP Inspector

Si tienes instalado el CLI de MCP, puedes probar tu servidor:

# Test with MCP Inspector
mcp inspector

# Or run in development mode
mcp dev src/mcp_salesforce_lite/server.py

Cómo publicar el servidor como paquete Pip

El servidor se puede empaquetar y distribuir a través de PyPI usando la configuración pyproject.toml incluida.

Herramientas disponibles

El servidor proporciona las siguientes herramientas que los asistentes de IA pueden usar:

Herramientas de consulta

  • soql_query: Ejecuta consultas SOQL (el esquema debe estar definido para pedir confirmación cuidadosamente en operaciones UPDATE y DELETE)
  • search_records: Busca registros en múltiples objetos con límite y paginación
  • get_record: Recupera un registro específico por ID con límite y paginación

Operaciones CRUD

  • create_record: Crea nuevos registros (asegúrate de describir el objeto primero y encontrar los campos de referencia de los objetos)
  • update_record: Actualiza registros existentes
  • delete_record: Elimina registros

Herramientas de metadatos

  • describe_object_definition: Obtén metadatos del objeto e información de campos con paginación
  • list_avail_objects: Lista los objetos de Salesforce disponibles con límite y paginación

Integración de desarrollo con Claude Desktop

Si estás desarrollando o ejecutando el servidor desde el código fuente, puedes usar estas configuraciones alternativas:

💡 Consejo: Se proporcionan archivos de configuración de ejemplo en el directorio examples/:

  • examples/claude_config_direct.json - Ejecución directa de Python
  • examples/claude_config_poetry.json - Ejecución con Poetry
  • examples/claude_config_uv.json - Ejecución con UV (recomendado)

Opción 1: Ejecución directa de Python

{
  "mcpServers": {
    "salesforce-lite": {
      "command": "python",
      "args": ["/ABSOLUTE/PATH/TO/mcp-salesforce-lite/src/mcp_salesforce_lite/server.py"],
      "env": {
        "SALESFORCE_ACCESS_TOKEN": "your_access_token",
        "SALESFORCE_INSTANCE_URL": "your_instance_url"
      }
    }
  }
}

Opción 2: Ejecución con Poetry

{
  "mcpServers": {
    "salesforce-lite": {
      "command": "poetry",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/mcp-salesforce-lite",
        "run",
        "python",
        "src/mcp_salesforce_lite/server.py"
      ],
      "env": {
        "SALESFORCE_ACCESS_TOKEN": "your_access_token",
        "SALESFORCE_INSTANCE_URL": "your_instance_url"
      }
    }
  }
}

Opción 3: Ejecución con UV (Recomendado para desarrollo)

{
  "mcpServers": {
    "salesforce-lite": {
      "command": "uv",
      "args": [
        "--directory",
        "/ABSOLUTE/PATH/TO/mcp-salesforce-lite",
        "run",
        "python",
        "src/mcp_salesforce_lite/server.py"
      ],
      "env": {
        "SALESFORCE_ACCESS_TOKEN": "your_access_token",
        "SALESFORCE_INSTANCE_URL": "your_instance_url"
      }
    }
  }
}

Estructura del proyecto

mcp-salesforce-lite/
├── src/
│   └── mcp_salesforce_lite/
│       ├── __init__.py
│       ├── server.py          # Main MCP server
│       ├── client.py          # Salesforce client wrapper
│       ├── config.py          # Configuration management
│       └── tools/
│           ├── __init__.py
│           ├── query.py       # SOQL query tools
│           ├── crud.py        # Create, Read, Update, Delete tools
│           └── metadata.py    # Object metadata tools
├── examples/
│   ├── basic_usage.py
│   └── claude_config.json
├── assets/
│   └── sf-demo.gif           # Demo GIF showing usage
├── .env.example
├── pyproject.toml
├── poetry.lock
└── uv.lock

Publicación

Requisitos previos

  1. Regístrate en PyPI Production: Ve a https://pypi.org/account/register/
  2. Habilita 2FA: Configura la autenticación de dos factores en la configuración de tu cuenta
  3. Crea un token de API: Ve a https://pypi.org/manage/account/token/ y crea un token
  4. Actualiza .pypirc: Reemplaza pypi-YOUR_PRODUCTION_TOKEN_FROM_PYPI_ORG_HERE con tu token real

Proceso de publicación

  1. Prueba primero en TestPyPI:
# Build the package
uv build
# or: poetry build

# Upload to TestPyPI
twine upload --repository testpypi --config-file .pypirc dist/*

# Test install from TestPyPI
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ mcp-salesforce-lite
  1. Publica en PyPI de producción:
# Upload to production PyPI
twine upload --repository pypi --config-file .pypirc dist/*

# Test install from production PyPI
pip install mcp-salesforce-lite

Gestión de versiones

Para publicar una nueva versión:

  1. Actualiza la versión en pyproject.toml
  2. Reconstruye: uv build o poetry build
  3. Sube: twine upload --repository pypi --config-file .pypirc dist/*