Skip to main content
Glama
MCP Salesforce Connector

MCP Salesforce Connector

by smn2gnt

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

Related MCP server: Salesforce MCP Integration

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.

Available Tools

14 tools
apex_executeC

Executes an Apex REST request

Inputs: action (required), data, method.

bulk_create_recordsC

Creates multiple records of a specified SObject type in bulk.

Inputs: data (required), object_name (required).

bulk_delete_recordsB

Deletes multiple records of a specified SObject type in bulk, given their IDs.

Inputs: record_ids (required), object_name (required).

bulk_update_recordsA

Updates multiple records of a specified SObject type in bulk. Each record must have an 'Id' field.

Inputs: data (required), object_name (required).

create_recordD

Creates a new record

Inputs: data (required), object_name (required).

delete_recordC

Deletes a record

Inputs: record_id (required), object_name (required).

get_object_fieldsA

Retrieves field names and types for a Salesforce object. Use this to discover available fields before writing SOQL queries.

Output is CSV format: name,label,type,updateable

Inputs: object_name (required).

get_recordA

Retrieves a specific record by ID. Returns all fields - prefer SOQL with specific fields for token efficiency.

Inputs: record_id (required), object_name (required), format.

list_sobjectsA

Retrieves a list of all available Salesforce SObjects (standard and custom).

Inputs: no named parameters.

restfulB

Makes a direct REST API call to Salesforce

Inputs: path (required), data, method, params.

run_soql_queryA

Executes a SOQL query against Salesforce.

TOKEN OPTIMIZATION GUIDELINES:

  • Always SELECT only the fields you need (never SELECT *)

  • Use LIMIT to restrict results (start with LIMIT 10, increase if needed)

  • Use WHERE clauses to filter data server-side

  • Default output is CSV format (most token-efficient)

  • Use format='json' only when you need nested data structure

  • You can always run additional queries if you need more data

Example efficient query: SELECT Id, Name FROM Account WHERE IsActive = true LIMIT 20

Inputs: query (required), format.

tooling_executeC

Executes a Tooling API request

Inputs: action (required), data, method.

update_recordB

Updates an existing record

Inputs: data (required), record_id (required), object_name (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3/5.0

    Scored across 14 tools

    Disambiguation5/5

    Each tool targets a distinct operation: CRUD, bulk CRUD, queries, metadata, and direct API calls. Overlaps like get_record vs run_soql_query are clarified by different access patterns (ID vs query). Apex and tooling executes are differentiated by API type.

    Naming Consistency4/5

    Most tools follow snake_case verb_noun pattern (e.g., create_record, run_soql_query). Exceptions include 'restful' (single word) and plural in bulk tools (bulk_create_records) vs singular in standard tools (create_record), causing minor inconsistency.

    Tool Count5/5

    14 tools cover a broad Salesforce use case without being excessive. Each tool has a clear purpose, and the count is well-scoped for a comprehensive connector.

    Completeness4/5

    The tool set covers CRUD, bulk operations, queries, searches, object metadata, and direct API calls. Minor gaps include absence of upsert or describe metadata operations, but core workflows are fully supported.

    Maintenance

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that enables interaction with Salesforce through REST API using jsforce, allowing users to execute SOQL queries, retrieve object metadata, and perform CRUD operations on Salesforce records.
      75 npm
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A TypeScript implementation of a Model Context Protocol server that enables LLMs to interact with Salesforce data through SOQL queries, SOSL searches, and CRUD operations.
      2
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      A server implementation that enables LLMs to interact with Salesforce data through SOQL queries, SOSL searches, and API operations including retrieving, creating, updating, and deleting records.
      10
      1
      MIT