MCP-Salesforce

MCP.Pizza Chef: smn2gnt

Fourteen tools sit between your assistant and your company's Salesforce account. It can pull up contacts, deals, and custom records, search across everything at once, list what fields a record holds, and write changes back one at a time or in batches. Be careful here: deleting runs the moment it is asked for, there is no confirmation step and no read-only mode, and the batch delete tool removes many records in one shot. You sign in with your own Salesforce credentials, so it only helps if your company already uses Salesforce.

Communication
Data

Use This MCP server To

Ask which deals are set to close this month Look up a customer's full record by company name Update a deal's stage and amount by asking Create new leads from a list I paste in Add a batch of contacts in one go Find every mention of a company across my Salesforce

README

MCP Salesforce Connector

A Model Context Protocol (MCP) server implementation for Salesforce integration, allowing LLMs to interact with Salesforce data through SOQL queries and SOSL searches.

Features

  • Execute SOQL (Salesforce Object Query Language) queries
  • Perform SOSL (Salesforce Object Search Language) searches
  • Retrieve metadata for Salesforce objects, including field names, labels, and types
  • List all available SObjects - Discover standard and custom objects
  • Retrieve, create, update, and delete records
  • Execute Tooling API requests
  • Execute Apex REST requests
  • Make direct REST API calls to Salesforce

Configuration

Model Context Protocol

To use this server with the Model Context Protocol, you need to configure it in your claude_desktop_config.json file. Add the following entry to the mcpServers section:

{
    "mcpServers": {
        "salesforce": {
        "command": "uvx",
        "args": [
            "--from",
            "mcp-salesforce-connector",
            "salesforce"
        ],
        "env": {
            "SALESFORCE_ACCESS_TOKEN": "SALESFORCE_ACCESS_TOKEN",
            "SALESFORCE_INSTANCE_URL": "SALESFORCE_INSTANCE_URL",
            "SALESFORCE_DOMAIN": "SALESFORCE_DOMAIN"
            }
        }
    }
}

Available Tools

Query and Search Tools

  • run_soql_query - Execute SOQL queries against Salesforce
  • run_sosl_search - Perform SOSL searches across objects

Metadata Tools

  • get_object_fields - Retrieve field metadata for specific objects
  • list_sobjects - List all available SObjects (standard and custom)

Single Record Operations

  • get_record - Retrieve a specific record by ID
  • create_record - Create a new record
  • update_record - Update an existing record
  • delete_record - Delete a record

Bulk Operations

  • bulk_create_records - Create multiple records in a single operation
  • bulk_update_records - Update multiple records (must include Id field)
  • bulk_delete_records - Delete multiple records using record IDs

Advanced API Tools

  • tooling_execute - Execute Tooling API requests
  • apex_execute - Execute Apex REST requests
  • restful - Make direct REST API calls to Salesforce

Note on Salesforce Authentication Methods

This server supports four authentication methods:

  • OAuth (Recommended): Set SALESFORCE_ACCESS_TOKEN and SALESFORCE_INSTANCE_URL as environment variables.
  • Client Credentials: Set SALESFORCE_CLIENT_ID and SALESFORCE_CLIENT_SECRET for OAuth 2.0 Client Credentials flow. This is useful for server-to-server integrations.
  • Salesforce CLI (Default Org): If no OAuth env vars are set, the server will try to use the active Salesforce CLI default org from the current workspace (via sf org display --json or sfdx force:org:display --json). Optionally set SALESFORCE_CLI_TARGET_ORG to target a specific org.
  • Username/Password (Legacy): If SALESFORCE_ACCESS_TOKEN and SALESFORCE_INSTANCE_URL are not set, the server will fall back to using SALESFORCE_USERNAME, SALESFORCE_PASSWORD, and SALESFORCE_SECURITY_TOKEN.

Environment Configuration

  • SALESFORCE_DOMAIN (Optional): Set to test to connect to a Salesforce sandbox environment. If not set or left empty, the server will connect to the production environment.
  • SALESFORCE_CLI_TARGET_ORG (Optional): When using the Salesforce CLI authentication method, set this to target a specific org alias or username instead of the default org.

MCP-Salesforce FAQ

Do I need a key, or my normal password?
Either works. You can paste a sign-in token, use your username with your password and security token, or lean on a Salesforce command-line session you already signed into.
Does this need a paid Salesforce account?
Yes. It reaches your company's real Salesforce, so you need a working seat there. There is nothing to try out without one.
Can I use this to clean up duplicate records?
Yes, and this is exactly where to be careful. Deletion happens instantly, with no confirmation prompt and nothing to undo it.
Is there a safe look-only mode?
No. Every install can create, edit, and delete. If you only want lookups, sign it in with a Salesforce user whose permissions are limited to reading.
Which apps does it work in?
The written instructions cover Claude Desktop, and the same pasted config works in other assistants that accept these add-ons, such as Cursor.
How hard is setup?
You paste a short config block and fill in your Salesforce details. No coding, though you may need an administrator to issue you a security token.
Can I point it at a test copy of my data first?
Usually yes — a domain setting switches it to a Salesforce sandbox. That setting is skipped when it signs in through the Salesforce command-line tool, which simply uses whichever org that tool already points at.
Can it do more than ordinary records?
Yes. It can run Apex requests and direct Salesforce calls, meaning it can reach anything your sign-in can reach. Give it a limited user account if that makes you uneasy.