Salesforce
MCP Server for Salesforce Operations
claude mcp add --transport stdio suraj20028-salesforce-mcp docker run -i --rm -e SALESFORCE_CLIENT_ID -e SALESFORCE_CLIENT_SECRET -e SALESFORCE_USERNAME -e SALESFORCE_PASSWORD -e SALESFORCE_DOMAIN_URL suraj20028/salesforce-mcp-server \
--env SALESFORCE_PASSWORD="${input:password}" \
--env SALESFORCE_USERNAME="${input:username}" \
--env SALESFORCE_CLIENT_ID="${input:client_id}" \
--env SALESFORCE_DOMAIN_URL="${input:domain_url}" \
--env SALESFORCE_CLIENT_SECRET="${input:client_secret}"How to use
This Salesforce MCP server allows natural language interfaces to interact with your Salesforce data and metadata. It exposes tools for discovering objects, inspecting object schemas, querying data (including related records), retrieving picklist values, filtering fields by type, exploring relationships, and managing debug logs and validation rules. You can use these capabilities through a code editor integration or any MCP client that speaks the MCP protocol, enabling Claude, GitHub Copilot, or similar assistants to perform Salesforce operations using everyday language. Typical workflows include searching for objects by partial names, describing an object's fields and relationships, querying records with filters and relationships, and retrieving advanced metadata directly from the API. The server is designed to work with OAuth2 client credentials flow for authentication, so ensure your connected app is configured accordingly and the required domain URL is provided. Tools available include: search_objects, describe_object, describe_object_with_api, describe_relationship_fields, query_records, get_fields_by_type, get_picklist_values, get_validation_rules, and manage_debug_logs. Use these tools via prompts such as “Find all objects related to Accounts”, “Describe the Account fields”, or “Query Accounts where Industry equals Manufacturing and include related Contacts.”
How to install
Prerequisites:
- Docker installed and running on your machine or host.
- Salesforce OAuth2 credentials (Client ID, Client Secret, and Domain URL) with Client Credentials flow enabled for your connected app.
Installation steps:
-
Pull the MCP server image from Docker Hub: docker pull suraj20028/salesforce-mcp-server
-
Run the server container with your Salesforce credentials as environment variables. Replace the placeholders with your actual values: docker run -i --rm
-e SALESFORCE_CLIENT_ID="<your-client-id>"
-e SALESFORCE_CLIENT_SECRET="<your-client-secret>"
-e SALESFORCE_USERNAME="<your-username>"
-e SALESFORCE_PASSWORD="<your-password>"
-e SALESFORCE_DOMAIN_URL="https://yourdomain.my.salesforce.com"
suraj20028/salesforce-mcp-server -
Verify the server starts and is accessible by your MCP client. Ensure network access to the container and that the Salesforce connected app is configured for client credentials flow.
-
Optional: If using VS Code integration, you can add the provided JSON block to your user settings or workspace .vscode/mcp.json (without the mcp key in the workspace file) to define the server configuration.
Additional notes
Tips and notes:
- The container requires Salesforce OAuth2 credentials and a domain URL. Ensure the connected app is configured for Client Credentials Flow and that an execution user is selected.
- If you encounter Docker permission errors, ensure your user is in the docker group or run with appropriate privileges.
- Environment variable placeholders in the MCP config example are intended to be filled by your MCP client interface (e.g., VS Code prompts, UI inputs).
- The server exposes a rich set of tools; start with search_objects and describe_object to understand the data model, then move to query_records for real data retrieval. For metadata, use describe_object_with_api and describe_relationship_fields.
- When using query_records, you can leverage relationships by including related object fields in the response and using where filters for precise results.
- If you need to adjust log verbosity or enable/disable debug logs, use manage_debug_logs with actions like enable, disable, or retrieve.
Related MCP Servers
claude_code-gemini
Simplified Gemini for Claude Code.
kaggle
Kaggle-MCP: Connect Claude AI to the Kaggle API through the Model Context Protocol (MCP), enabling competition, dataset, and kernel operations through the AI interface.
claude_autoapprove_mcp
An MCP server to inject auto-approve MCP functionality into Claude Desktop
azure-diagram
MCP server that turns natural-language prompts into Microsoft Azure architecture diagrams (PNG) using Python Diagrams + Graphviz.
keyshade
This is the official repository of Keyshade MCP Server
aiNOC
Networking project for AI-based troubleshooting of CCNP Enterprise topics in a multi-vendor, multi-protocol, multi-area/multi-AS, OSI L3-focused topology using Claude Code, FastMCP, Python, Scrapli, REST, Containerlab, Jira, etc.