Server data from the Official MCP Registry
MCP server for Salesforce CRM — Accounts, Contacts, Opportunities, Leads, Cases.
MCP server for Salesforce CRM — Accounts, Contacts, Opportunities, Leads, Cases.
This is a well-architected MCP server for Salesforce CRM with intentional scope discipline and strong credential handling practices. The per-request stateless design in gateway mode eliminates persistent secret storage, and credentials are validated before use. Minor code quality issues around error handling breadth and input validation do not significantly impact security given the server's focused toolset and appropriate permissions. Supply chain analysis found 1 known vulnerability in dependencies (0 critical, 1 high severity).
7 files analyzed · 5 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: AUTH_MODE
Environment variable: SALESFORCE_AUTH_FLOW
Environment variable: SALESFORCE_CLIENT_ID
Environment variable: SALESFORCE_CLIENT_SECRET
Environment variable: SALESFORCE_INSTANCE_URL
Environment variable: SALESFORCE_USERNAME
Environment variable: SALESFORCE_PASSWORD
Environment variable: SALESFORCE_TOKEN
Environment variable: MCP_TRANSPORT
Environment variable: LOG_LEVEL
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-wyre-technology-salesforce-mcp": {
"env": {
"AUTH_MODE": "your-auth-mode-here",
"LOG_LEVEL": "your-log-level-here",
"MCP_TRANSPORT": "your-mcp-transport-here",
"SALESFORCE_TOKEN": "your-salesforce-token-here",
"SALESFORCE_PASSWORD": "your-salesforce-password-here",
"SALESFORCE_USERNAME": "your-salesforce-username-here",
"SALESFORCE_AUTH_FLOW": "your-salesforce-auth-flow-here",
"SALESFORCE_CLIENT_ID": "your-salesforce-client-id-here",
"SALESFORCE_INSTANCE_URL": "your-salesforce-instance-url-here",
"SALESFORCE_CLIENT_SECRET": "your-salesforce-client-secret-here"
},
"args": [
"-y",
"salesforce-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
MCP (Model Context Protocol) server for Salesforce CRM, scoped to the WYRE Gateway BYOC use case.
A focused HTTP MCP server that exposes a Salesforce org's CRM data surface to Claude (and other MCP clients) through the WYRE MCP Gateway. Built for the multi-tenant gateway pattern: credentials are injected per-request via HTTP headers, no startup secrets are baked into the container.
This package intentionally ships a narrow tool surface — six CRM data tools — and deliberately omits the Apex code-management / custom-object-creation / EXECUTE_ANONYMOUS surfaces that broader Salesforce MCP servers include. The use case is read/write access to standard CRM objects (Accounts, Contacts, Opportunities, Leads, Cases). Customers who need DX or admin tooling should use the official @salesforce/mcp package instead.
| Tool | Purpose |
|---|---|
salesforce_search_objects | Find standard + custom objects by partial name. |
salesforce_describe_object | Full schema (fields, picklists, relationships) for an object. |
salesforce_query_records | Execute SOQL with relationship traversal. |
salesforce_aggregate_query | SOQL GROUP BY / COUNT / SUM / AVG / MIN / MAX. |
salesforce_dml_records | Insert / update / delete / upsert records. |
salesforce_search_all | Cross-object SOSL search. |
http (default): listens on :8080, exposes /mcp (JSON-RPC) + /health. Per-request credentials from X-Salesforce-* headers. This is the gateway deployment shape.stdio: traditional MCP client transport (Claude Desktop / Cursor). Credentials read once from env. Useful for local testing.# HTTP mode (gateway default)
PORT=8080 MCP_TRANSPORT=http AUTH_MODE=gateway npm start
# stdio mode (env-baked, local testing)
MCP_TRANSPORT=stdio \
SALESFORCE_AUTH_FLOW=client_credentials \
SALESFORCE_CLIENT_ID=... SALESFORCE_CLIENT_SECRET=... \
SALESFORCE_INSTANCE_URL=https://yourorg.my.salesforce.com \
node dist/entry.js
| Header | Required? | Notes |
|---|---|---|
X-Salesforce-Auth-Mode | optional | client_credentials (default) or username_password. |
X-Salesforce-Client-Id | for client_credentials | Connected App consumer key. |
X-Salesforce-Client-Secret | for client_credentials | Connected App consumer secret. |
X-Salesforce-Instance-Url | for client_credentials | Customer's My Domain URL (e.g. https://acmecorp.my.salesforce.com). |
X-Salesforce-Username | for username_password | Salesforce user. |
X-Salesforce-Password | for username_password | Salesforce password. |
X-Salesforce-Token | for username_password | Security token (required unless IP allowlisted). |
Per-request authentication means the same container instance can service many customers without restart — each MCP tools/call builds a fresh jsforce.Connection from the headers on that request.
For Client Credentials flow (the recommended path):
clientId and clientSecret.instanceUrl to the customer's My Domain URL (Setup → My Domain).npm install
npm run build
docker build -t salesforce-mcp:dev .
docker run --rm -p 8080:8080 -e MCP_TRANSPORT=http salesforce-mcp:dev
curl -s http://localhost:8080/health
The published image lives at ghcr.io/wyre-technology/salesforce-mcp with :latest, :sha-<short_sha>, and :v<version> tags.
Apache-2.0.
Be the first to review this server!
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption