Salesforce MCP Server

A lite, single-org Salesforce MCP server built on jsforce. Bring-your-own OAuth token — no credentials stored server-side. Runs over stdio (Claude

Local serverstdio

What is the Salesforce MCP server?

Salesforce MCP server exists for a simple reason — assistants are far more useful when they can act on Salesforce directly instead of describing what you should do. A lite, single-org Salesforce MCP server built on jsforce. Bring-your-own OAuth token — no credentials stored server-side. Runs over stdio (Claude Code) or as a dedicated streamable-HTTP server.

What you get

login opens a browser, completes the OAuth handshake, saves the token to ~/.config/salesforce-mcp-jsforce/token.json, and prints ready-to-paste config.

What the assistant can call

Once Salesforce is connected, these are the calls the assistant has available:

  • salesforce_identity — read
  • salesforce_query — read
  • salesforce_search — read
  • salesforce_list_objects — read
  • salesforce_describe_object — read
  • salesforce_get_record — read
  • salesforce_create_record — write
  • salesforce_update_record — write
  • salesforce_delete_record — write

Configuration and credentials

You will need 6 environment variables: ECA_CONSUMER_KEY, SF_ACCESS_TOKEN, SF_INSTANCE_URL, SF_LOGIN_URL, SF_CLIENT_ID, SF_CLIENT_SECRET. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

Setting it up

The server ships on npm as @imazhar101/salesforce-mcp-jsforce, so your MCP client can launch it on demand — there is no separate build step. Add the server block to your client's configuration, restart it, and the tools register themselves.

Choosing this one

This sits in the developer tooling group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Salesforce's toolset — salesforce_identity, salesforce_query, salesforce_search and 6 more — is a fair guide to whether it matches your workflow. It is maintained by imazhar101; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Salesforce's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Before you rely on it

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 9 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Salesforce.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the salesforce mcp server does with a few real requests.

Available tools

ToolWhat it does
salesforce_identityread
salesforce_queryread
salesforce_searchread
salesforce_list_objectsread
salesforce_describe_objectread
salesforce_get_recordread
salesforce_create_recordwrite
salesforce_update_recordwrite
salesforce_delete_recordwrite

How to install the Salesforce MCP server

{
  "mcpServers": {
    "salesforce-1": {
      "command": "npx",
      "args": ["-y", "@imazhar101/salesforce-mcp-jsforce"],
      "env": {
        "ECA_CONSUMER_KEY": "your-value",
        "SF_ACCESS_TOKEN": "your-value",
        "SF_INSTANCE_URL": "your-value",
        "SF_LOGIN_URL": "your-value",
        "SF_CLIENT_ID": "your-value",
        "SF_CLIENT_SECRET": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

VariableDescriptionRequired
ECA_CONSUMER_KEYCredential the server authenticates with.Yes
SF_ACCESS_TOKENCredential the server authenticates with.Yes
SF_INSTANCE_URLEndpoint or connection string the server talks to.Yes
SF_LOGIN_URLEndpoint or connection string the server talks to.Yes
SF_CLIENT_IDConfiguration value read at startup.Optional
SF_CLIENT_SECRETCredential the server authenticates with.Yes

Example prompts to try

  • Use Salesforce to salesforce identity.
  • Use Salesforce to salesforce query.
  • Use Salesforce to salesforce search.

Frequently asked questions

It connects Salesforce to MCP-compatible AI assistants such as Claude and Cursor, exposing 9 tools (salesforce_identity, salesforce_query, salesforce_search, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Salesforce directly.