PluginBench
MCP Server
Active

Salesforce MCP Server

io.github.mindstone/mcp-server-salesforce

Manage Salesforce CRM accounts, contacts, opportunities, leads, tasks, and custom objects via MCP.

What is the Salesforce MCP server?

The Salesforce MCP server enables AI agents to manage Salesforce CRM data including accounts, contacts, opportunities, leads, tasks, users, and custom objects through the Salesforce API. It provides programmatic access to core CRM operations, allowing agents to read, create, update, and query Salesforce records.

This server connects Claude, Cursor, and other MCP hosts to Salesforce, letting you automate CRM workflows. Query and manage accounts, contacts, opportunities, and leads; create and track tasks; and interact with custom objects—all through natural language or agent automation.

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
  • SALESFORCE_CLIENT_ID
    required

    Salesforce Connected App client ID (recommended path)

  • SALESFORCE_CLIENT_SECRET
    required
    secret

    Salesforce Connected App client secret (recommended path)

  • SALESFORCE_SANDBOX

    Set to true for sandbox environments

  • SALESFORCE_ACCESS_TOKEN
    secret

    Static access token (alternative to OAuth)

  • SALESFORCE_INSTANCE_URL

    Salesforce instance URL (required for manual token mode)

  • SALESFORCE_CONFIG_DIR

    Custom config directory

  • SALESFORCE_OAUTH_PORT

    OAuth callback port (0 = OS-assigned)

  • SALESFORCE_OAUTH_SCOPES

    Space-separated OAuth scopes

~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcp-server-salesforce": {
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-salesforce"
      ],
      "env": {
        "SALESFORCE_CLIENT_ID": "<YOUR_SALESFORCE_CLIENT_ID>",
        "SALESFORCE_CLIENT_SECRET": "<YOUR_SALESFORCE_CLIENT_SECRET>",
        "SALESFORCE_SANDBOX": "<YOUR_SALESFORCE_SANDBOX>",
        "SALESFORCE_ACCESS_TOKEN": "<YOUR_SALESFORCE_ACCESS_TOKEN>",
        "SALESFORCE_INSTANCE_URL": "<YOUR_SALESFORCE_INSTANCE_URL>",
        "SALESFORCE_CONFIG_DIR": "<YOUR_SALESFORCE_CONFIG_DIR>",
        "SALESFORCE_OAUTH_PORT": "<YOUR_SALESFORCE_OAUTH_PORT>",
        "SALESFORCE_OAUTH_SCOPES": "<YOUR_SALESFORCE_OAUTH_SCOPES>"
      }
    }
  }
}

Tools & capabilities

Tools this server exposes to the agent.

  • Manage accounts — Create, read, update, and query Salesforce accounts
  • Manage contacts — Create, read, update, and query Salesforce contacts
  • Manage opportunities — Create, read, update, and query Salesforce opportunities
  • Manage leads — Create, read, update, and query Salesforce leads
  • Manage tasks — Create, read, update, and query Salesforce tasks
  • Manage users — Query and manage Salesforce users
  • Manage custom objects — Create, read, update, and query custom Salesforce objects

Use cases

  • Automate lead qualification and opportunity tracking in Salesforce
  • Create and update customer accounts and contact records from external data sources
  • Generate CRM reports and summaries by querying accounts, opportunities, and tasks
  • Assign and track tasks across your sales team
  • Sync custom object data with external systems or AI workflows

Salesforce MCP server FAQ

What is the Salesforce MCP server?

It's an MCP connector that gives AI agents like Claude and Cursor access to Salesforce CRM data and operations—accounts, contacts, opportunities, leads, tasks, users, and custom objects—via the Salesforce API.

Is it free to use?

The server itself is open-source (FSL-1.1-MIT licensed). You need a Salesforce account and valid API credentials to connect.

How do I install it?

Install via npm: `npm install @mindstone/mcp-server-salesforce`, or run directly with `npx -y @mindstone/mcp-server-salesforce`. See the connector's README for configuration and OAuth setup.

What authentication does it require?

The server uses OAuth for secure Salesforce authentication. It includes a loopback OAuth callback server bound to 127.0.0.1 for local setup.

Can I write to Salesforce?

Yes, the server supports creating, updating, and managing records. Destructive operations may carry hints so your MCP host can surface confirmation prompts.

Does it support custom objects?

Yes, you can create, read, update, and query custom Salesforce objects alongside standard CRM entities.

README (reference)

Source of truth, from the repository.

<p align="center"> <img src="docs/assets/rogue.svg" alt="Rogue, the Rebel character for safe action and control" width="112" /> </p>

mcp-servers

OpenSSF Scorecard

Source-available MCP servers by Mindstone. Works with any MCP host — Claude Desktop, Cursor, Rebel, and others.

Browse all 35 connectors with their version, auth model, and tool count at the catalogue site (regenerated from each connector's STATUS.json on every push).

Connectors

ConnectorDescription
apple-shortcutsRun and list Apple Shortcuts on macOS via the shortcuts CLI
browser-automationHeadless browser control via accessibility snapshots — navigate, fill forms, click, and screenshot pages via the agent-browser CLI
elevenlabsGenerate speech, music, and sound effects, browse voices, and transcribe audio via the ElevenLabs API
email-imapRead, search, send, and manage emails through IMAP and SMTP
fathomList and search meetings, view details, read transcripts, and manage teams via Fathom AI
freshdeskManage helpdesk tickets, search support requests, reply to customers, and add internal notes
gammaCreate AI-powered presentations, documents, webpages, and social posts via Gamma
google-analyticsDiscover GA4 accounts and properties, explore the live schema, and run reports via the Google Analytics API
google-workspaceRead, search, and send across Gmail, Calendar, Drive, Docs, Sheets, Slides, Contacts, and Comments with host-orchestrated OAuth and per-account on-disk credentials
hubspotManage HubSpot CRM — contacts, companies, deals, tickets, leads, tasks, notes, properties, lists, workflows, knowledge base, and files — with multi-account, host-orchestrated OAuth
humaansQuery employee profiles, job roles, time-away requests, and company info via Humaans HR
klingGenerate AI videos from text descriptions or images via Kling AI
microsoft-calendarList, create, update, and respond to Outlook calendar events, check free/busy, and list calendars; reuses the cohort's host-orchestrated Microsoft 365 OAuth surface
microsoft-filesList, search, upload, download, share, and read OneDrive files via Microsoft Graph; reuses the cohort's host-orchestrated Microsoft 365 OAuth surface
microsoft-mailList, search, read, send, reply, forward, draft, move, and delete Outlook email; owns the cohort's host-orchestrated Microsoft 365 OAuth surface
microsoft-sharepointDiscover sites, browse libraries, read pages and lists, search content, and mutate SharePoint files/lists with incremental Sites.Read.All consent
microsoft-teamsList and read Teams chats, send chat messages, list teams and channels, and read presence; reuses the cohort's host-orchestrated Microsoft 365 OAuth surface
mixmaxManage sequences, send tracked emails, use templates, and monitor engagement via Mixmax
nano-bananaGenerate and edit images using Google Gemini's AI capabilities
napkinGenerate professional visuals — diagrams, infographics, and illustrations — from text via Napkin AI
officeRead and edit Word documents, Excel workbooks, and PowerPoint presentations from desktop Microsoft 365 via an Office Add-in sidecar
openai-imageGenerate and edit images via OpenAI's gpt-image-2 — sharp text rendering, multilingual support, and four quality levels
outreachManage prospects, sequences, accounts, tasks, and mailings via the Outreach sales engagement API
pandadocCreate, send, and manage documents, templates, and e-signatures via PandaDoc
quickbooksManage invoices, bills, customers, vendors, employees, and accounts in QuickBooks Online
replit-sshRead, write, list, and check files on Replit projects over SSH/SFTP, with one-shot SSH key + config setup on the operator's machine
retell-aiPlace voice-agent phone calls, manage agents and LLM prompts, and discover voices via the Retell AI API
runwayGenerate AI video, images, audio, speech, and sound effects via Runway ML
salesforceManage accounts, contacts, opportunities, leads, tasks, users, and custom objects via the Salesforce API
servicenowManage incidents, change requests, users, and knowledge base articles in ServiceNow
slackMulti-workspace Slack — channels, messages, threads, reactions, users, files, bookmarks, and scheduled messages via the Slack Web API, with host-orchestrated OAuth
talentlmsManage users, courses, groups, branches, enrolments, and assessments in TalentLMS
vantaRead and manage compliance posture in Vanta — vulnerabilities, tests, controls, evidence, resources, people, vendors, documents, and compliance summary
workdayQuery workers, profiles, and organizations in Workday HCM
zendeskManage tickets, macros, users, and views in Zendesk Support

Quick Start

Each server builds independently:

cd connectors/<name>
npm install
npm run build

Or run directly via npx (once published):

npx -y @mindstone/mcp-server-zendesk

Moving from @mindstone-engineering/? Every server has been republished under the shorter @mindstone/ npm scope. The legacy @mindstone-engineering/mcp-server-* packages still install but are marked deprecated. See MIGRATION.md for the consumer one-liner and the deprecation timeline.

See each server's README for configuration and host setup instructions. Some connectors require additional environment variables to opt into specific behaviour (e.g. QB_ALLOW_PROD_WRITES for QuickBooks production writes, MCP_WORKSPACE_PATH for sandboxed file reads) — see the per-connector READMEs for the full list.

Security & Hardening

This monorepo follows a defence-in-depth posture for tool-call hosts. Highlights include:

  • Workflow safety. GitHub Actions workflows are env-fy'd against script injection (CWE-94), every action is pinned to a commit SHA (kept current by Dependabot), and each job is granted a least-privilege permissions: block. Publish is split into a build job (does the install/test/pack with no publish credentials) and a publish job (downloads the packed tarball, runs only npm publish --ignore-scripts --provenance under OIDC trusted publishing, gated by the npm-publish environment). The publish job invokes NO third-party JS — tsc, vitest, lifecycle scripts, etc. all run upstream, away from id-token: write. See docs/security/AUDIT_FOX-3319_tanstack_supply_chain.md for the supply-chain threat model and docs/security/BRANCH_PROTECTION.md for required GitHub settings.
  • Release-age cool-down. The repo-level .npmrc sets min-release-age=7 (days), so CI refuses to install dependency versions published in the last week. This blocks the "same-day malicious re-publish" path that ships post-npm audit-clean PRs into a release tag.
  • Provenance-attested releases. Releases are published by CI (.github/workflows/release.yml) under the @mindstone/ npm scope via Trusted Publishing OIDC — no long-lived npm token exists anywhere — with --provenance Sigstore attestations consumers can verify via npm audit signatures. Every publishable release commit must carry a Release-Gate trailer pointing at its pre-release security review, and every publish posts an alert; the full gate chain is in docs/PUBLISH_APPROVAL_PROCESS.md. (Only a brand-new connector's first publish is manual and WebAuthn-gated; those tarballs carry no provenance attestation but remain shasum-verifiable — check out the release commit and run npm pack; see MIGRATION.md.)
  • OpenSSF Scorecard. The repo runs the OpenSSF Scorecard weekly via .github/workflows/scorecard.yml. The report is generated by a third party from the source tree, so every claim above (action pinning, branch protection, token usage, dependency hygiene) is independently checked rather than just asserted here. The current score is shown by the badge at the top of this README.

Recommendations for consumers

These connectors are published as plain npm packages. The strongest single thing you can do to protect yourself from a future supply-chain compromise of any npm package (these or otherwise) is to use a client that does not run lifecycle scripts by default:

  • pnpm (pnpm install / pnpm dlx) — does not execute postinstall/prepare hooks unless explicitly allowlisted via onlyBuiltDependencies. pnpm v11+ also defaults to a 24-hour minimumReleaseAge cool-down.
  • bun (bunx) — same default, no lifecycle scripts unless allowlisted.
  • npm — if you must use npm, set min-release-age=7 and ignore-scripts=true in your global ~/.npmrc. Requires npm v11.10+ for min-release-age.

None of our published packages need postinstall to function, so disabling lifecycle scripts in your installer of choice is safe.

  • Untrusted-content envelopes. External content from email, helpdesk, and ticketing systems (email-imap, freshdesk, zendesk) is wrapped in <untrusted-content source="..."> envelopes with close-tag breakout escaping, so an LLM host can recognise and refuse instruction-injection attempts.
  • Workspace sandboxing. File-uploading connectors (nano-banana, pandadoc, elevenlabs) constrain reads to MCP_WORKSPACE_PATH (or os.tmpdir()) with canonical-prefix containment that handles symlinked roots like /tmp → /private/tmp.
  • Secure-by-default writes. Production-impacting writes (QuickBooks invoices/bills/customers/vendors) require an explicit QB_ALLOW_PROD_WRITES=1 opt-in env var; outreach prospect-enrolment and mixmax sequence-recipient tools carry destructiveHint: true so hosts surface confirmation prompts.
  • SSRF & path traversal. Download connectors (napkin, runway) enforce host allow-lists, manual-redirect handling, and symlink-safe write paths under a configurable root.
  • Loopback OAuth bind. Connectors with local OAuth callback servers (salesforce, outreach) hard-code 127.0.0.1, ignoring any MCP_OAUTH_BIND_HOST override.
  • E.164 validation. Outbound phone-call tools (retell-ai) reject non-E.164 numbers before any upstream API call.

For per-connector security notes, see each connector's README.

To report a vulnerability, please see SECURITY.md.

The Mindstone open-source family

This repo is one of several open-source projects from Mindstone:

  • Rebel — the AI workspace desktop app that ships these connectors out of the box (source release in progress).
  • Super-MCP — a proxy MCP router that loads only the tools you actually need, saving your context window.
  • rebel-system — the public Rebel system: skills, prompts, operators, help docs, and templates.
  • meeting-note-recorder — meeting detection, recording, and live transcripts (the Rebel note-taker).

Licence

Each connector is licensed under FSL-1.1-MIT — see the LICENSE file in each connector directory for details.

Related MCP servers

SEServiceNow logo

Manage ServiceNow incidents, change requests, users, and knowledge base articles via MCP.

10
TypeScript
View repository →
SLSlack logo

Slack

Active

Multi-workspace Slack integration for channels, messages, threads, reactions, users, files, and scheduled messages

10
TypeScript
View repository →
TATalentLMS logo

TalentLMS

Active

Manage TalentLMS users, courses, groups, branches, enrolments, and assessments via MCP

10
TypeScript
View repository →
VAVanta logo

Vanta

Active

Read and manage compliance posture in Vanta — vulnerabilities, tests, controls, evidence, resources, people, vendors, documents, and compliance summary.

10
TypeScript
View repository →
WIWise logo

Wise

Active

Wise (formerly TransferWise) MCP server for managing international money transfers and currency exchange.

10
TypeScript
View repository →
WOWorkday logo

Workday

Active

Query workers, profiles, and organizations in Workday HCM via MCP.

10
TypeScript
View repository →