PluginBench
MCP Server
Active

Salesforce MCP Server

io.github.wyre-technology/salesforce-mcp

What is the Salesforce MCP server?

MCP server for Salesforce CRM — Accounts, Contacts, Opportunities, Leads, Cases.

How to install Salesforce

Copy-paste configuration for popular MCP clients.

transport: stdio
Config generated by PluginBench — verify against the source before use.
Environment / auth
  • 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.

  • MCP_TRANSPORT

    Transport mode for the server. Set to 'stdio' for local CLI use; the image defaults to 'http' for gateway hosting.

  • LOG_LEVEL

    Log verbosity: debug, info, warn, error

Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "salesforce-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/wyre-technology/salesforce-mcp:v1.0.2"
      ],
      "env": {
        "AUTH_MODE": "<YOUR_AUTH_MODE>",
        "SALESFORCE_AUTH_FLOW": "<YOUR_SALESFORCE_AUTH_FLOW>",
        "SALESFORCE_CLIENT_ID": "<YOUR_SALESFORCE_CLIENT_ID>",
        "SALESFORCE_CLIENT_SECRET": "<YOUR_SALESFORCE_CLIENT_SECRET>",
        "SALESFORCE_INSTANCE_URL": "<YOUR_SALESFORCE_INSTANCE_URL>",
        "SALESFORCE_USERNAME": "<YOUR_SALESFORCE_USERNAME>",
        "SALESFORCE_PASSWORD": "<YOUR_SALESFORCE_PASSWORD>",
        "SALESFORCE_TOKEN": "<YOUR_SALESFORCE_TOKEN>",
        "MCP_TRANSPORT": "<YOUR_MCP_TRANSPORT>",
        "LOG_LEVEL": "<YOUR_LOG_LEVEL>"
      }
    }
  }
}
Cursor
~/.cursor/mcp.json
{
  "mcpServers": {
    "salesforce-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/wyre-technology/salesforce-mcp:v1.0.2"
      ],
      "env": {
        "AUTH_MODE": "<YOUR_AUTH_MODE>",
        "SALESFORCE_AUTH_FLOW": "<YOUR_SALESFORCE_AUTH_FLOW>",
        "SALESFORCE_CLIENT_ID": "<YOUR_SALESFORCE_CLIENT_ID>",
        "SALESFORCE_CLIENT_SECRET": "<YOUR_SALESFORCE_CLIENT_SECRET>",
        "SALESFORCE_INSTANCE_URL": "<YOUR_SALESFORCE_INSTANCE_URL>",
        "SALESFORCE_USERNAME": "<YOUR_SALESFORCE_USERNAME>",
        "SALESFORCE_PASSWORD": "<YOUR_SALESFORCE_PASSWORD>",
        "SALESFORCE_TOKEN": "<YOUR_SALESFORCE_TOKEN>",
        "MCP_TRANSPORT": "<YOUR_MCP_TRANSPORT>",
        "LOG_LEVEL": "<YOUR_LOG_LEVEL>"
      }
    }
  }
}
Windsurf
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "salesforce-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/wyre-technology/salesforce-mcp:v1.0.2"
      ],
      "env": {
        "AUTH_MODE": "<YOUR_AUTH_MODE>",
        "SALESFORCE_AUTH_FLOW": "<YOUR_SALESFORCE_AUTH_FLOW>",
        "SALESFORCE_CLIENT_ID": "<YOUR_SALESFORCE_CLIENT_ID>",
        "SALESFORCE_CLIENT_SECRET": "<YOUR_SALESFORCE_CLIENT_SECRET>",
        "SALESFORCE_INSTANCE_URL": "<YOUR_SALESFORCE_INSTANCE_URL>",
        "SALESFORCE_USERNAME": "<YOUR_SALESFORCE_USERNAME>",
        "SALESFORCE_PASSWORD": "<YOUR_SALESFORCE_PASSWORD>",
        "SALESFORCE_TOKEN": "<YOUR_SALESFORCE_TOKEN>",
        "MCP_TRANSPORT": "<YOUR_MCP_TRANSPORT>",
        "LOG_LEVEL": "<YOUR_LOG_LEVEL>"
      }
    }
  }
}
VS Code
.vscode/mcp.json
{
  "servers": {
    "salesforce-mcp": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/wyre-technology/salesforce-mcp:v1.0.2"
      ],
      "env": {
        "AUTH_MODE": "<YOUR_AUTH_MODE>",
        "SALESFORCE_AUTH_FLOW": "<YOUR_SALESFORCE_AUTH_FLOW>",
        "SALESFORCE_CLIENT_ID": "<YOUR_SALESFORCE_CLIENT_ID>",
        "SALESFORCE_CLIENT_SECRET": "<YOUR_SALESFORCE_CLIENT_SECRET>",
        "SALESFORCE_INSTANCE_URL": "<YOUR_SALESFORCE_INSTANCE_URL>",
        "SALESFORCE_USERNAME": "<YOUR_SALESFORCE_USERNAME>",
        "SALESFORCE_PASSWORD": "<YOUR_SALESFORCE_PASSWORD>",
        "SALESFORCE_TOKEN": "<YOUR_SALESFORCE_TOKEN>",
        "MCP_TRANSPORT": "<YOUR_MCP_TRANSPORT>",
        "LOG_LEVEL": "<YOUR_LOG_LEVEL>"
      }
    }
  }
}
Claude Code
claude mcp add salesforce-mcp --env AUTH_MODE=<YOUR_AUTH_MODE> --env SALESFORCE_AUTH_FLOW=<YOUR_SALESFORCE_AUTH_FLOW> --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_USERNAME=<YOUR_SALESFORCE_USERNAME> --env SALESFORCE_PASSWORD=<YOUR_SALESFORCE_PASSWORD> --env SALESFORCE_TOKEN=<YOUR_SALESFORCE_TOKEN> --env MCP_TRANSPORT=<YOUR_MCP_TRANSPORT> --env LOG_LEVEL=<YOUR_LOG_LEVEL> -- docker run -i --rm ghcr.io/wyre-technology/salesforce-mcp:v1.0.2

Related MCP servers

Autotask

Active

MCP server for Kaseya Autotask PSA — companies, tickets, projects, time entries, and more.

48
TypeScript
Apache-2.0
View repository →

NinjaOne

Active

MCP server for NinjaOne RMM — devices, organizations, alerts, and tickets.

22
TypeScript
Apache-2.0
View repository →

MCP server for ConnectWise Manage PSA — companies, tickets, projects, time entries, and more.

19
TypeScript
Apache-2.0
View repository →

IT Glue

Active

MCP server for IT Glue — organizations, configurations, passwords, flexible assets, and documents.

17
TypeScript
Apache-2.0
View repository →

CIPP

Active

MCP server for CIPP — M365 multi-tenant management for MSPs (users, tenants, policies).

10
TypeScript
View repository →

Datto RMM

Active

MCP server for Datto RMM — devices, alerts, sites, jobs, and audit data.

3
TypeScript
Apache-2.0
View repository →