MCP server for Salesforce CRM — Accounts, Contacts, Opportunities, Leads, Cases.
registry version 1.0.6
Docker
docker run -i --rm ghcr.io/wyre-ai/salesforce-mcp:v1.0.6Docker
docker run -i --rm ghcr.io/wyre-ai/salesforce-mcp:v1.0.6:1.0.6
Pick your client — the config below is generated for this server (local stdio). Copy respects the “Pin version” switch above.
claude_desktop_config.json
{
"mcpServers": {
"salesforce-mcp-wyre-ai": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/salesforce-mcp:v1.0.6"
],
"env": {
"AUTH_MODE": "<YOUR_AUTH_MODE>",
"SALESFORCE_CLIENT_ID": "<YOUR_SALESFORCE_CLIENT_ID>",
"SALESFORCE_CLIENT_SECRET": "<YOUR_SALESFORCE_CLIENT_SECRET>",
"SALESFORCE_INSTANCE_URL": "<YOUR_SALESFORCE_INSTANCE_URL>",
"SALESFORCE_PASSWORD": "<YOUR_SALESFORCE_PASSWORD>",
"SALESFORCE_TOKEN": "<YOUR_SALESFORCE_TOKEN>"
}
}
}
}{
"mcpServers": {
"salesforce-mcp-wyre-ai": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/salesforce-mcp:v1.0.6:1.0.6"
],
"env": {
"AUTH_MODE": "<YOUR_AUTH_MODE>",
"SALESFORCE_CLIENT_ID": "<YOUR_SALESFORCE_CLIENT_ID>",
"SALESFORCE_CLIENT_SECRET": "<YOUR_SALESFORCE_CLIENT_SECRET>",
"SALESFORCE_INSTANCE_URL": "<YOUR_SALESFORCE_INSTANCE_URL>",
"SALESFORCE_PASSWORD": "<YOUR_SALESFORCE_PASSWORD>",
"SALESFORCE_TOKEN": "<YOUR_SALESFORCE_TOKEN>"
}
}
}
}Format verified against the official Claude Desktop docs ↗.
terminal
claude mcp add --env AUTH_MODE=<YOUR_AUTH_MODE> --env SALESFORCE_CLIENT_ID=<YOUR_SALESFORCE_CLIENT_ID> --env SALESFORCE_CLIENT_SECRET=<YOUR_SALESFORCE_CLIENT_SECRET> --env SALESFORCE_INSTANCE_URL=<YOUR_SALESFORCE_INSTANCE_URL> --env SALESFORCE_PASSWORD=<YOUR_SALESFORCE_PASSWORD> --env SALESFORCE_TOKEN=<YOUR_SALESFORCE_TOKEN> salesforce-mcp-wyre-ai -- docker run -i --rm ghcr.io/wyre-ai/salesforce-mcp:v1.0.6
claude mcp add --env AUTH_MODE=<YOUR_AUTH_MODE> --env SALESFORCE_CLIENT_ID=<YOUR_SALESFORCE_CLIENT_ID> --env SALESFORCE_CLIENT_SECRET=<YOUR_SALESFORCE_CLIENT_SECRET> --env SALESFORCE_INSTANCE_URL=<YOUR_SALESFORCE_INSTANCE_URL> --env SALESFORCE_PASSWORD=<YOUR_SALESFORCE_PASSWORD> --env SALESFORCE_TOKEN=<YOUR_SALESFORCE_TOKEN> salesforce-mcp-wyre-ai -- docker run -i --rm ghcr.io/wyre-ai/salesforce-mcp:v1.0.6:1.0.6
Format verified against the official Claude Code docs ↗.
.cursor/mcp.json
{
"mcpServers": {
"salesforce-mcp-wyre-ai": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/salesforce-mcp:v1.0.6"
],
"env": {
"AUTH_MODE": "<YOUR_AUTH_MODE>",
"SALESFORCE_CLIENT_ID": "<YOUR_SALESFORCE_CLIENT_ID>",
"SALESFORCE_CLIENT_SECRET": "<YOUR_SALESFORCE_CLIENT_SECRET>",
"SALESFORCE_INSTANCE_URL": "<YOUR_SALESFORCE_INSTANCE_URL>",
"SALESFORCE_PASSWORD": "<YOUR_SALESFORCE_PASSWORD>",
"SALESFORCE_TOKEN": "<YOUR_SALESFORCE_TOKEN>"
}
}
}
}{
"mcpServers": {
"salesforce-mcp-wyre-ai": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/salesforce-mcp:v1.0.6:1.0.6"
],
"env": {
"AUTH_MODE": "<YOUR_AUTH_MODE>",
"SALESFORCE_CLIENT_ID": "<YOUR_SALESFORCE_CLIENT_ID>",
"SALESFORCE_CLIENT_SECRET": "<YOUR_SALESFORCE_CLIENT_SECRET>",
"SALESFORCE_INSTANCE_URL": "<YOUR_SALESFORCE_INSTANCE_URL>",
"SALESFORCE_PASSWORD": "<YOUR_SALESFORCE_PASSWORD>",
"SALESFORCE_TOKEN": "<YOUR_SALESFORCE_TOKEN>"
}
}
}
}Format verified against the official Cursor docs ↗.
.vscode/mcp.json
{
"servers": {
"salesforce-mcp-wyre-ai": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/salesforce-mcp:v1.0.6"
],
"env": {
"AUTH_MODE": "<YOUR_AUTH_MODE>",
"SALESFORCE_CLIENT_ID": "<YOUR_SALESFORCE_CLIENT_ID>",
"SALESFORCE_CLIENT_SECRET": "<YOUR_SALESFORCE_CLIENT_SECRET>",
"SALESFORCE_INSTANCE_URL": "<YOUR_SALESFORCE_INSTANCE_URL>",
"SALESFORCE_PASSWORD": "<YOUR_SALESFORCE_PASSWORD>",
"SALESFORCE_TOKEN": "<YOUR_SALESFORCE_TOKEN>"
}
}
}
}{
"servers": {
"salesforce-mcp-wyre-ai": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/salesforce-mcp:v1.0.6:1.0.6"
],
"env": {
"AUTH_MODE": "<YOUR_AUTH_MODE>",
"SALESFORCE_CLIENT_ID": "<YOUR_SALESFORCE_CLIENT_ID>",
"SALESFORCE_CLIENT_SECRET": "<YOUR_SALESFORCE_CLIENT_SECRET>",
"SALESFORCE_INSTANCE_URL": "<YOUR_SALESFORCE_INSTANCE_URL>",
"SALESFORCE_PASSWORD": "<YOUR_SALESFORCE_PASSWORD>",
"SALESFORCE_TOKEN": "<YOUR_SALESFORCE_TOKEN>"
}
}
}
}Format verified against the official VS Code docs ↗.
mcp_config.json
{
"mcpServers": {
"salesforce-mcp-wyre-ai": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/salesforce-mcp:v1.0.6"
],
"env": {
"AUTH_MODE": "<YOUR_AUTH_MODE>",
"SALESFORCE_CLIENT_ID": "<YOUR_SALESFORCE_CLIENT_ID>",
"SALESFORCE_CLIENT_SECRET": "<YOUR_SALESFORCE_CLIENT_SECRET>",
"SALESFORCE_INSTANCE_URL": "<YOUR_SALESFORCE_INSTANCE_URL>",
"SALESFORCE_PASSWORD": "<YOUR_SALESFORCE_PASSWORD>",
"SALESFORCE_TOKEN": "<YOUR_SALESFORCE_TOKEN>"
}
}
}
}{
"mcpServers": {
"salesforce-mcp-wyre-ai": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/wyre-ai/salesforce-mcp:v1.0.6:1.0.6"
],
"env": {
"AUTH_MODE": "<YOUR_AUTH_MODE>",
"SALESFORCE_CLIENT_ID": "<YOUR_SALESFORCE_CLIENT_ID>",
"SALESFORCE_CLIENT_SECRET": "<YOUR_SALESFORCE_CLIENT_SECRET>",
"SALESFORCE_INSTANCE_URL": "<YOUR_SALESFORCE_INSTANCE_URL>",
"SALESFORCE_PASSWORD": "<YOUR_SALESFORCE_PASSWORD>",
"SALESFORCE_TOKEN": "<YOUR_SALESFORCE_TOKEN>"
}
}
}
}Format verified against the official Windsurf docs ↗.
Defined in the server's official registry manifest. Required secrets are shown as <YOUR_…> placeholders in the configs above.
AUTH_MODE required — Credential source: 'env' reads vars locally, 'gateway' expects header injection from the WYRE MCP Gateway. Set to 'env' for stdio/local use.SALESFORCE_AUTH_FLOW — Salesforce auth flow: 'client_credentials' (default, requires a Connected App with Client Credentials Flow enabled) or 'username_password' (fallback).SALESFORCE_CLIENT_ID required — Connected App consumer key. Required when SALESFORCE_AUTH_FLOW=client_credentials.SALESFORCE_CLIENT_SECRET required secret — Connected App consumer secret. Required when SALESFORCE_AUTH_FLOW=client_credentials.SALESFORCE_INSTANCE_URL required — Salesforce org's My Domain URL (e.g. https://yourorg.my.salesforce.com). Required when SALESFORCE_AUTH_FLOW=client_credentials.SALESFORCE_USERNAME — Salesforce username. Only used when SALESFORCE_AUTH_FLOW=username_password.SALESFORCE_PASSWORD secret — Salesforce password. Only used when SALESFORCE_AUTH_FLOW=username_password.SALESFORCE_TOKEN secret — Salesforce security token. Only used when SALESFORCE_AUTH_FLOW=username_password; optional if the org has IP allowlisting configured instead.Distributed as Docker, listed under Developer Tools. Review our MCP security guide before granting access to real data.
Run the install command shown above, then paste the config for your client (Claude Desktop, Claude Code, Cursor, VS Code or Windsurf) into its MCP settings and restart the client.
The MCP server itself is free to install. The source is public on https://github.com/WYRE-AI/salesforce-mcp. Any third-party service it calls may require its own API key and account.
Any MCP-compatible client can use it, including Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and custom agents.
Publish this server? Link back with a badge on your README or site — copy either snippet.
Markdown
[](https://mcpnav.net/server/salesforce-mcp-wyre-ai/)
HTML
<a href="https://mcpnav.net/server/salesforce-mcp-wyre-ai/"><img src="https://mcpnav.net/badge/salesforce-mcp-wyre-ai.svg" alt="Listed on MCPNav" height="20"></a>