MCP Salesforce Reader
Provides read-only access to Salesforce metadata and records, enabling querying of objects, fields, formulas, and SOQL queries across multiple orgs (sandbox and production) with security controls.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Salesforce Readerlist objects in banagro-dev sandbox"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Salesforce Reader
MCP server para consultar metadata de Salesforce en modo solo lectura. Diseñado para integrar con OpenCode y permitir a agentes de IA entender estructuras de orgs Salesforce.
Características
Multi-org: Configura múltiples orgs (sandboxes, UAT, producción) y selecciona cuál usar en cada consulta
Solo lectura: Todas las operaciones son de consulta, nunca modifican la org
Producción segura: Requiere confirmación explícita para acceder a producción
Query sanitization: Solo SELECT permitido, con límites enforced
Enriquecimiento: Las respuestas incluyen información adicional útil para razonamiento
Comparación de schemas: Compara objetos y campos entre dos orgs
Auditoría completa: Logs de todas las operaciones con sanitización
Related MCP server: Salesforce MCP Server
Seguridad
Confirmación de Producción
Para acceder a cualquier tool en una org marcada como production, primero debes confirmar con confirm_production_access:
// Primero: confirmar acceso
{
"tool": "confirm_production_access",
"params": {
"orgAlias": "banagro-prod",
"confirmationToken": "TU_TOKEN"
}
}
// Después: usar otras tools
{
"tool": "list_objects",
"params": {
"orgAlias": "banagro-prod"
}
}Query Restrictions
Solo SELECT queries permitidas
SOSL bloqueado
ALL ROWS bloqueado
LIMIT forzado (100 en prod, 1000 en sandbox)
Producción limitada a 1000 registros max
Tooling API limitada a 500 registros max en prod
Herramientas Disponibles
Herramienta | Descripción | Requiere Confirmación en Prod |
| Confirma acceso a producción | ❌ No |
| Lista todos los objetos disponibles en la org | ✅ Sí |
| Describe un objeto completo con sus campos | ✅ Sí |
| Lista los campos de un objeto | ✅ Sí |
| Obtiene metadata detallada de un campo | ✅ Sí |
| Analiza campos fórmula (referencias, complejidad, impacto) | ✅ Sí |
| Ejecuta queries SOQL (SELECT solo) | ✅ Sí |
| Ejecuta queries en Tooling API (SELECT solo) | ✅ Sí |
| Compara schemas entre dos orgs | ✅ Sí |
Requisitos
Node.js 18+
Cuenta de Salesforce con API access
Security token de Salesforce
Instalación
Como paquete npm
npm install mcp-salesforce-readerComo desarrollo local
git clone <repo> mcp-salesforce-reader
cd mcp-salesforce-reader
npm install
npm run buildConfiguración
Copia el archivo de ejemplo:
cp .env.example .envEdita
.envcon tus credenciales:
# Org 1: Sandbox Dev
SALESFORCE_BANAGRO_DEV_ALIAS=banagro-dev
SALESFORCE_BANAGRO_DEV_ENVIRONMENT=sandbox
SALESFORCE_BANAGRO_DEV_LOGIN_URL=https://test.salesforce.com
SALESFORCE_BANAGRO_DEV_USERNAME=user@dev.org
SALESFORCE_BANAGRO_DEV_PASSWORD=***
SALESFORCE_BANAGRO_DEV_SECURITY_TOKEN=***
# Org 2: Production
SALESFORCE_BANAGRO_PROD_ALIAS=banagro-prod
SALESFORCE_BANAGRO_PROD_ENVIRONMENT=production
SALESFORCE_BANAGRO_PROD_LOGIN_URL=https://login.salesforce.com
SALESFORCE_BANAGRO_PROD_USERNAME=user@prod.org
SALESFORCE_BANAGRO_PROD_PASSWORD=***
SALESFORCE_BANAGRO_PROD_SECURITY_TOKEN=***
# Token de confirmación para producción
PRODUCTION_CONFIRMATION_TOKEN=mi_token_secreto
# Org por defecto
DEFAULT_ORG_ALIAS=banagro-devFormato de Configuración
Cada org necesita:
Campo | Descripción | Ejemplo |
| Identificador único |
|
| Tipo de entorno |
|
| URL de login |
|
| Usuario de Salesforce |
|
| Contraseña |
|
| Security token |
|
Nota: El sistema detecta automáticamente las orgs buscando variables que terminen en _ALIAS.
Uso con OpenCode
Configuración en opencode.json
{
"mcpServers": {
"salesforce-reader": {
"command": "node",
"args": ["./node_modules/mcp-salesforce-reader/dist/index.js"],
"env": {
"SALESFORCE_BANAGRO_DEV_ALIAS": "banagro-dev",
"SALESFORCE_BANAGRO_DEV_ENVIRONMENT": "sandbox",
"SALESFORCE_BANAGRO_DEV_LOGIN_URL": "https://test.salesforce.com",
"SALESFORCE_BANAGRO_DEV_USERNAME": "user@dev.org",
"SALESFORCE_BANAGRO_DEV_PASSWORD": "xxx",
"SALESFORCE_BANAGRO_DEV_SECURITY_TOKEN": "xxx",
"SALESFORCE_BANAGRO_PROD_ALIAS": "banagro-prod",
"SALESFORCE_BANAGRO_PROD_ENVIRONMENT": "production",
"SALESFORCE_BANAGRO_PROD_LOGIN_URL": "https://login.salesforce.com",
"SALESFORCE_BANAGRO_PROD_USERNAME": "user@prod.org",
"SALESFORCE_BANAGRO_PROD_PASSWORD": "xxx",
"SALESFORCE_BANAGRO_PROD_SECURITY_TOKEN": "xxx",
"PRODUCTION_CONFIRMATION_TOKEN": "xxx",
"LOG_LEVEL": "info"
}
}
}
}Ejemplos de Uso
Confirmar acceso a producción
{
"orgAlias": "banagro-prod",
"confirmationToken": "mi_token_secreto"
}Listar objetos
{
"orgAlias": "banagro-dev"
}Describir un objeto
{
"orgAlias": "banagro-dev",
"objectApiName": "Account"
}Obtener metadata de un campo
{
"orgAlias": "banagro-dev",
"objectApiName": "Account",
"fieldApiName": "AnnualRevenue"
}Analizar campo fórmula
{
"orgAlias": "banagro-dev",
"objectApiName": "Account",
"fieldApiName": "AnnualRevenueFormatted__c"
}Query SOQL
{
"orgAlias": "prod",
"query": "SELECT Id, Name, AnnualRevenue FROM Account WHERE AnnualRevenue > 100000",
"limit": 10
}Comparar schemas entre orgs
{
"orgAlias": "prod",
"targetOrgAlias": "dev",
"objectApiNames": ["Account", "Opportunity"]
}Logging y Auditoría
Todas las operaciones se registran con:
Timestamp
Org alias
Environment (sandbox/production)
Tool ejecutada
Duración
Cantidad de registros
Query sanitizada (sin valores sensibles)
Estado de confirmación de producción
Nunca se registran: passwords, securityTokens, confirmationTokens, credenciales.
Desarrollo
Comandos disponibles
npm run build # Compila TypeScript
npm run start # Inicia el servidor
npm run dev # Build + start para desarrollo
npm run clean # Limpia archivos compiladosEstructura del proyecto
src/
├── config/ # Carga y validación de configuración
├── auth/ # Autenticación con Salesforce
├── policies/ # Validaciones de seguridad y confirmación
├── tools/ # Herramientas MCP
├── enrichers/ # Enrichment de metadata
├── logging/ # Sistema de logs y auditoría
└── index.ts # Punto de entradaCosas que NO hace este MCP
❌ Operaciones de escritura (create, update, delete)
❌ Ejecutar Apex
❌ Deployment de metadata
❌ Acceso sin confirmación a producción
Licencia
MIT
Related MCP Connectors
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
The HubSpot MCP Server acts as a bridge that enables AI assistants and Large Language Models to securely interact with HubSpot CRM data through natural conversation, without requiring users to understand complex API structures. It provides read-only access to standard CRM objects (contacts, companies, deals, tickets, products, invoices, and more) and their associations, secured via OAuth 2.0, allowing AI agents to perform tasks like summarizing deals, fetching company updates, and looking up record changes.
Unified MCP Server is a remote MCP connector for AI agents and vertical AI products that provides access to 22,000+ authorized SaaS tools across 400+ integrations and 24 categories directly inside LLMs (Claude, GPT, Gemini, Cohere). Tools operate only on explicitly authorized customer connections, enabling agents to safely read and write against live third-party systems.
Let AI agents query data and act across all your business apps via MCP.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides comprehensive access to Salesforce Tooling API for metadata management, SOQL queries, code analysis, and debugging through Claude and other AI assistants.29 npm5MIT
- FlicenseBqualityDmaintenanceA customizable MCP server for integrating Salesforce APIs with GenAI applications, supporting SOQL queries, record CRUD, metadata access, and more.137-
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that connects AI assistants to Salesforce orgs, enabling querying, searching, creating, updating, and managing Salesforce data through natural language via any MCP-compatible client.29 npmMIT
- FlicenseNot gradedqualityCmaintenanceRead-only MCP server that lets coding AI agents inspect Oracle Database schema through live metadata.-