simple-salesforce-mcp
simple-salesforce-mcp
Un servidor MCP de Salesforce ligero. Habla directamente con la API REST de Salesforce a través de stdio con dos dependencias de ejecución (mcp, httpx) — creado como un reemplazo de arranque en frío rápido para el servidor DX oficial @salesforce/mcp, cuyo árbol de dependencias es demasiado pesado para entornos de sandbox.
Herramientas
Herramienta | ¿Escribe? | Notas |
| no | Vía de escape de SOQL sin procesar con paginación ( |
| no | Búsqueda de texto completo entre objetos (API de búsqueda parametrizada) |
| no | Obtiene un registro por Id, con lista de campos opcional |
| sí | Crea un registro |
| sí, restringido por confirmación | Requiere explícitamente |
| sí, restringido por confirmación | Requiere explícitamente |
| no | Metadatos del objeto resumidos (campos, tipos, obligatorios, listas de selección) |
| no | Objetos de la organización, ruido del sistema filtrado por defecto |
| no | Usuario actual, organización, URL de instancia, versión de API |
Toda herramienta lleva anotaciones MCP (readOnlyHint / destructiveHint / idempotentHint). update_record y delete_record rechazan actuar a menos que la llamada incluya confirm: true, y el mensaje de rechazo indica al modelo que presente el cambio exacto al usuario y obtenga su aprobación primero. El SOQL en sí no puede modificar datos, por lo que la vía de escape sigue siendo de solo lectura.
Related MCP server: Salesforce MCP Server
Autenticación
El servidor no realiza ningún flujo OAuth por sí mismo; consume un token de acceso existente, resuelto en cada llamada de herramienta (de modo que un proceso externo puede rotar el token en cualquier momento):
Almacén de autenticación de Salesforce CLI en
$HOME:~/.sf/config.json→{"target-org": "<username>"}(o el antiguo~/.sfdx/sfdx-config.json→{"defaultusername": ...})~/.sfdx/<username>.json→{"accessToken": "...", "instanceUrl": "https://..."}
Esta es la forma que escribe
sf org login, y la forma que la plataforma JustParent materializa en los sandboxes (con la plataforma renovando el token de acceso antes de cada llamada). Los tokens de actualización y los secretos de cliente de estos archivos se ignoran — nunca se leen en memoria, no se almacenan ni se registran.Variables de entorno (alternativa para el uso local o independiente):
SALESFORCE_ACCESS_TOKENySALESFORCE_INSTANCE_URL.
Cuando un token es rechazado (HTTP 401 / INVALID_SESSION_ID), el servidor vuelve a leer el almacén de autenticación una vez y reintenta, y luego informa de que la conexión debe volver a establecerse.
La versión de la API REST por defecto es 62.0; se puede anular con SALESFORCE_API_VERSION.
Ejecución
# Standalone with env vars (get a token via: sf org display --json)
SALESFORCE_ACCESS_TOKEN=... \
SALESFORCE_INSTANCE_URL=https://yourorg.my.salesforce.com \
uvx --from git+https://github.com/JustParent/simple-salesforce-mcp simple-salesforce-mcpClaude Desktop / configuración de cliente MCP genérico:
{
"mcpServers": {
"salesforce": {
"command": "uvx",
"args": ["--from", "git+https://github.com/JustParent/simple-salesforce-mcp", "simple-salesforce-mcp"],
"env": {
"SALESFORCE_ACCESS_TOKEN": "...",
"SALESFORCE_INSTANCE_URL": "https://yourorg.my.salesforce.com"
}
}
}
}Prueba de humo (sin red, acciones); imprime la versión, el estado de las credenciales y las herramientas; termina con el código 0):
uvx --from . simple-salesforce-mcp --testDesarrollo
uv run pytest # unit tests, no network needed
uv run ruff check . # lint
uv run ruff format . # format (--check to verify only)
uv run mypy # type check (src and tests)
uv run simple-salesforce-mcp --test
npx @modelcontextprotocol/inspector uv run simple-salesforce-mcp # interactiveLa CI (.github/workflows/tests.yml) se ejecuta en cada push y pull request: la tanda de pruebas en Python 3.10–3.13, las comprobaciones de lint y formato de ruff además de mypy, y un trabajo de empaquetado que instala el paquete de la misma forma que los sandboxes (uvx --from .) para detectarse cualquier problema de empaquetado.
Notas de seguridad
Autenticación solo con token: el servidor nunca solicita, lee ni conserva tokens de actualización.
Las operaciones destructivas (actualizar/eliminar) están restringidas por un argumento explícito
confirm=true, con instrucciones dirigidas al modelo para obtener antes la aprobación del usuario.Los cursores de paginación SOQL (
next_url) se validan para que sean rutas/services/data/..., y los identificadores de objeto o registro se validan antes de colocarlos en las URLs.Las respuestas tienen un límite de tamaño con avisos de truncamiento explícitos.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceA focused MCP server for Salesforce CRM that exposes read/write access to standard CRM objects via six tools, designed for multi-tenant gateway deployments.19MIT
- FlicenseBqualityDmaintenanceA customizable MCP server for integrating Salesforce APIs with GenAI applications, supporting SOQL queries, record CRUD, metadata access, and more.137
- AlicenseAqualityAmaintenanceEnables SOQL queries, SOSL search, and record CRUD operations on a single Salesforce org via MCP, with optional read-only mode.953MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to interact with Salesforce through MCP, supporting queries, records, metadata, and bulk operations with flexible OAuth authentication.MIT
Related MCP Connectors
Run SOQL queries to explore and retrieve Salesforce data. Access accounts, contacts, opportunities…
Search, document and execute authenticated API calls across 700+ apps via one MCP server
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/JustParent/simple-salesforce-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server