Server data from the Official MCP Registry
MCP server for Salesforce CRM — Accounts, Contacts, Opportunities, Leads, Cases.
About
MCP server for Salesforce CRM — Accounts, Contacts, Opportunities, Leads, Cases.
Security Report
Valid MCP server (2 strong, 4 medium validity signals). 1 code issue detected. No known CVEs in dependencies. Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.
11 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
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
Documentation
View on GitHubFrom the project's GitHub README.
salesforce-mcp
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.
Scope discipline
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.
Tools
| 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. |
Run modes
http(default): listens on:8080, exposes/mcp(JSON-RPC) +/health. Per-request credentials fromX-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 contract (gateway mode)
| 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.
Salesforce Connected App setup
For Client Credentials flow (the recommended path):
- Salesforce Setup → App Manager → New Connected App.
- Under API (Enable OAuth Settings): turn on Enable OAuth Settings and Enable Client Credentials Flow.
- Save, wait ~5 minutes for propagation.
- Manage → Edit Policies → Client Credentials Flow → set a Run As user (the API calls run with that user's permissions).
- Copy the Consumer Key and Consumer Secret from the Connected App into the gateway BYOC fields as
clientIdandclientSecret. - Set
instanceUrlto the customer's My Domain URL (Setup → My Domain).
Build
npm install
npm run build
Container
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-ai/salesforce-mcp with :latest, :sha-<short_sha>, and :v<version> tags.
License
Apache-2.0.
Reviews
No reviews yet
Be the first to review this server!
More Business Tools MCP Servers
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
MarkItDown
Freeby Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
FinAgent
Freeby mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.
Google Workspace MCP
Freeby Taylorwilsdon · Productivity
Control Gmail, Calendar, Docs, Sheets, Drive, and more from your AI
