LABSCO SUMMARY
Small on purpose, built from source.
This is a thin jsforce bridge rather than a product: two entry points, two environment variables, no published package and no OAuth flow. That makes it quick to read and quick to modify if you want a specific set of Salesforce calls, and a poor fit if you want something to drop in and forget. A username and password authenticate it, so what it holds is a full user account.
What it is
A small MCP server that puts the Salesforce API in front of an assistant through jsforce. It is deliberately minimal: you build it from the repository and run one of two entry points, depending on the transport your client speaks.
What you get
- The Salesforce API reached through
jsforce, the established JavaScript Salesforce client - Two transports from the same build —
build/stdio.jsfor clients that spawn a local process,build/streamable.jsfor Streamable HTTP - Credentials kept to two environment variables, so they can live in the client's
envblock rather than your shell —SALESFORCE_USERNAME,SALESFORCE_PASSWORD - Connect it once and read the tool list from your client: the repository specifies the transports and the credentials, and leaves the call list to the running server
Requirements
Node, and a build from source — there is no published package. git clone, npm install, npm run build (the build script runs Bun), then node build/stdio.js for stdio or node build/streamable.js for Streamable HTTP. Authentication is a Salesforce username and password supplied as SALESFORCE_USERNAME and SALESFORCE_PASSWORD, exported in the shell or set in the client's env block; the documented Claude Desktop entry runs node against an absolute path to build/stdio.js.
Setup effort
Build from source — git clone https://github.com/jpmonette/salesforce-mcp.git && cd salesforce-mcp
USE CASES
Reaching Salesforce from a local client
Build the repository and point the client at the stdio entry point with the two credentials in its env block.
Connecting a client that speaks HTTP
Run the Streamable HTTP entry point instead and connect over the network.
Keeping credentials out of your shell
Set the username and password in the client's env block so they travel with the MCP entry.
BEFORE YOU INSTALL
What to know first
Requires
- Bun (the build script in package.json runs bun build)
- SALESFORCE_PASSWORD in your environment
- SALESFORCE_USERNAME in your environment
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
git clone https://github.com/jpmonette/salesforce-mcp.git && cd salesforce-mcp
npm install
npm run buildMCP Clients
Claude Desktop
{
"mcpServers": {
"salesforce": {
"command": "node",
"args": [
"/Users/jpmonette/Documents/Code/salesforce-mcp/build/stdio.js"
],
"env": {
"SALESFORCE_USERNAME": "<YOUR_SALESFORCE_USERNAME>",
"SALESFORCE_PASSWORD": "<YOUR_SALESFORCE_PASSWORD>"
}
}
}
}/Users/jpmonette/Documents/Code/salesforce-mcp is the README author's own folder; yours is the full path of the salesforce-mcp folder you cloned and built.