Interact with Salesforce data and metadata through SOQL queries, SOSL searches and record management APIs.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add salesforce --env SALESFORCE_ACCESS_TOKEN='<SALESFORCE_ACCESS_TOKEN>' --env SALESFORCE_INSTANCE_URL='<SALESFORCE_INSTANCE_URL>' --env SALESFORCE_PASSWORD='<SALESFORCE_PASSWORD>' --env SALESFORCE_SECURITY_TOKEN='<SALESFORCE_SECURITY_TOKEN>' --env SALESFORCE_USERNAME='<SALESFORCE_USERNAME>' -- uvx --from mcp-salesforce-connector salesforce~/.codex/config.toml
[mcp_servers.salesforce]
command = "uvx"
args = ["--from", "mcp-salesforce-connector", "salesforce"]
env = { SALESFORCE_ACCESS_TOKEN = "<SALESFORCE_ACCESS_TOKEN>", SALESFORCE_INSTANCE_URL = "<SALESFORCE_INSTANCE_URL>", SALESFORCE_PASSWORD = "<SALESFORCE_PASSWORD>", SALESFORCE_SECURITY_TOKEN = "<SALESFORCE_SECURITY_TOKEN>", SALESFORCE_USERNAME = "<SALESFORCE_USERNAME>" }
# codex mcp add salesforce --env SALESFORCE_ACCESS_TOKEN='<SALESFORCE_ACCESS_TOKEN>' --env SALESFORCE_INSTANCE_URL='<SALESFORCE_INSTANCE_URL>' --env SALESFORCE_PASSWORD='<SALESFORCE_PASSWORD>' --env SALESFORCE_SECURITY_TOKEN='<SALESFORCE_SECURITY_TOKEN>' --env SALESFORCE_USERNAME='<SALESFORCE_USERNAME>' -- uvx --from mcp-salesforce-connector salesforce~/.cursor/mcp.json
{
"mcpServers": {
"salesforce": {
"command": "uvx",
"args": [
"--from",
"mcp-salesforce-connector",
"salesforce"
],
"env": {
"SALESFORCE_ACCESS_TOKEN": "<SALESFORCE_ACCESS_TOKEN>",
"SALESFORCE_INSTANCE_URL": "<SALESFORCE_INSTANCE_URL>",
"SALESFORCE_PASSWORD": "<SALESFORCE_PASSWORD>",
"SALESFORCE_SECURITY_TOKEN": "<SALESFORCE_SECURITY_TOKEN>",
"SALESFORCE_USERNAME": "<SALESFORCE_USERNAME>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"salesforce": {
"type": "stdio",
"command": "uvx",
"args": [
"--from",
"mcp-salesforce-connector",
"salesforce"
],
"env": {
"SALESFORCE_ACCESS_TOKEN": "<SALESFORCE_ACCESS_TOKEN>",
"SALESFORCE_INSTANCE_URL": "<SALESFORCE_INSTANCE_URL>",
"SALESFORCE_PASSWORD": "<SALESFORCE_PASSWORD>",
"SALESFORCE_SECURITY_TOKEN": "<SALESFORCE_SECURITY_TOKEN>",
"SALESFORCE_USERNAME": "<SALESFORCE_USERNAME>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"salesforce": {
"command": "uvx",
"args": [
"--from",
"mcp-salesforce-connector",
"salesforce"
],
"env": {
"SALESFORCE_ACCESS_TOKEN": "<SALESFORCE_ACCESS_TOKEN>",
"SALESFORCE_INSTANCE_URL": "<SALESFORCE_INSTANCE_URL>",
"SALESFORCE_PASSWORD": "<SALESFORCE_PASSWORD>",
"SALESFORCE_SECURITY_TOKEN": "<SALESFORCE_SECURITY_TOKEN>",
"SALESFORCE_USERNAME": "<SALESFORCE_USERNAME>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"salesforce": {
"command": "uvx",
"args": [
"--from",
"mcp-salesforce-connector",
"salesforce"
],
"env": {
"SALESFORCE_ACCESS_TOKEN": "<SALESFORCE_ACCESS_TOKEN>",
"SALESFORCE_INSTANCE_URL": "<SALESFORCE_INSTANCE_URL>",
"SALESFORCE_PASSWORD": "<SALESFORCE_PASSWORD>",
"SALESFORCE_SECURITY_TOKEN": "<SALESFORCE_SECURITY_TOKEN>",
"SALESFORCE_USERNAME": "<SALESFORCE_USERNAME>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"salesforce": {
"command": "uvx",
"args": [
"--from",
"mcp-salesforce-connector",
"salesforce"
],
"env": {
"SALESFORCE_ACCESS_TOKEN": "<SALESFORCE_ACCESS_TOKEN>",
"SALESFORCE_INSTANCE_URL": "<SALESFORCE_INSTANCE_URL>",
"SALESFORCE_PASSWORD": "<SALESFORCE_PASSWORD>",
"SALESFORCE_SECURITY_TOKEN": "<SALESFORCE_SECURITY_TOKEN>",
"SALESFORCE_USERNAME": "<SALESFORCE_USERNAME>"
}
}
}
}Environment variables
SALESFORCE_ACCESS_TOKENSALESFORCE_INSTANCE_URLSALESFORCE_PASSWORDSALESFORCE_SECURITY_TOKENSALESFORCE_USERNAME
Replace the placeholders with your own credentials and keep them out of version control.