MCP.so
Sign In

Salesforce MCP Server

@SurajAdsul

About Salesforce MCP Server

An MCP (Model Context Protocol) server implementation that integrates Claude with Salesforce, enabling natural language interactions with your Salesforce data and metadata. This server allows Claude to query, modify, and manage your Salesforce objects and records using everyday l

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "salesforce": {
      "command": "npx",
      "args": [
        "-y",
        "@surajadsul02/mcp-server-salesforce"
      ],
      "env": {
        "SALESFORCE_USERNAME": "",
        "SALESFORCE_PASSWORD": "",
        "SALESFORCE_TOKEN": "",
        "SALESFORCE_INSTANCE_URL": ""
      }
    }
  }
}

Tools

7

Search for Salesforce standard and custom objects by name pattern. Examples: 'Account' will find Account, AccountHistory; 'Order' will find WorkOrder, ServiceOrder__c etc.

Get detailed schema metadata including all fields, relationships, and field properties of any Salesforce object. Examples: 'Account' shows all Account fields including custom fields; 'Case' shows all Case fields including relationships to Account, Contact etc.

Query records from any Salesforce object using SOQL, including relationship queries. Examples: 1. Parent-to-child query (e.g., Account with Contacts): - objectName: "Account" - fields: ["Name", "(SELECT Id, FirstName, LastName FROM Contacts)"] 2. Child-to-parent query (e.g., Contact with Account details): - objectName: "Contact" - fields: ["FirstName", "LastName", "Account.Name", "Account.Industry"] 3. Multiple level query (e.g., Contact -> Account -> Owner): - objectName: "Contact" - fields: ["Name", "Account.Name", "Account.Owner.Name"] 4. Related object filtering: - objectName: "Contact" - fields: ["Name", "Account.Name"] - whereClause: "Account.Industry = 'Technology'" Note: When using relationship fields: - Use dot notation for parent relationships (e.g., "Account.Name") - Use subqueries in parentheses for child relationships (e.g., "(SELECT Id FROM Contacts)") - Custom relationship fields end in "__r" (e.g., "CustomObject__r.Name")

Perform data manipulation operations on Salesforce records: - insert: Create new records - update: Modify existing records (requires Id) - delete: Remove records (requires Id) - upsert: Insert or update based on external ID field Examples: Insert new Accounts, Update Case status, Delete old records, Upsert based on custom external ID

Create new custom objects or modify existing ones in Salesforce: - Create: New custom objects with fields, relationships, and settings - Update: Modify existing object settings, labels, sharing model Examples: Create Customer_Feedback__c object, Update object sharing settings Note: Changes affect metadata and require proper permissions

Create new custom fields or modify existing fields on any Salesforce object: - Field Types: Text, Number, Date, Lookup, Master-Detail, Picklist etc. - Properties: Required, Unique, External ID, Length, Scale etc. - Relationships: Create lookups and master-detail relationships Examples: Add Rating__c picklist to Account, Create Account lookup on Custom Object Note: Changes affect metadata and require proper permissions

Search across multiple Salesforce objects using SOSL (Salesforce Object Search Language). Examples: 1. Basic search across all objects: { "searchTerm": "John", "objects": [ { "name": "Account", "fields": ["Name"], "limit": 10 }, { "name": "Contact", "fields": ["FirstName", "LastName", "Email"] } ] } 2. Advanced search with filters: { "searchTerm": "Cloud*", "searchIn": "NAME FIELDS", "objects": [ { "name": "Account", "fields": ["Name", "Industry"], "orderBy": "Name DESC", "where": "Industry = 'Technology'" } ], "withClauses": [ { "type": "NETWORK", "value": "ALL NETWORKS" }, { "type": "SNIPPET", "fields": ["Description"] } ] } Notes: - Use * and ? for wildcards in search terms - Each object can have its own WHERE, ORDER BY, and LIMIT clauses - Support for WITH clauses: DATA CATEGORY, DIVISION, METADATA, NETWORK, PRICEBOOKID, SNIPPET, SECURITY_ENFORCED - "updateable" and "viewable" options control record access filtering

Overview

What is Salesforce MCP Server?

An MCP (Model Context Protocol) server implementation that integrates Claude with Salesforce, enabling natural language interactions with Salesforce data and metadata. It allows Claude to query, modify, and manage Salesforce objects and records using everyday language.

How to use Salesforce MCP Server?

Install the package globally with npm install -g @surajadsul02/mcp-server-salesforce. Configure authentication using either username/password with a security token or OAuth2 with a consumer key and secret, then set the required environment variables (SALESFORCE_USERNAME, SALESFORCE_PASSWORD, etc.) in your MCP client's configuration file for Cursor IDE or Claude Desktop.

Key features of Salesforce MCP Server

  • Create and modify custom objects and fields using natural language
  • Find Salesforce objects using partial name matches
  • Get comprehensive field and relationship details for any object
  • Query records with relationship support and complex filters
  • Insert, update, delete, and upsert records with ease
  • Search across multiple objects using SOSL

Use cases of Salesforce MCP Server

  • Search for Salesforce objects using partial name matches
  • Retrieve detailed schema information for any object
  • Query records with filters and relationships
  • Create and modify custom objects and fields
  • Perform cross-object SOSL searches

FAQ from Salesforce MCP Server

What authentication methods are supported?

The server supports username/password with a security token and OAuth2 with a consumer key

Frequently asked questions

What authentication methods are supported?

The server supports username/password with a security token and OAuth2 with a consumer key

Comments

More Data & Analytics MCP servers