The Salesforce MCP server integrates Claude with Salesforce, enabling natural language interactions with your Salesforce data and metadata. This implementation allows Claude to query, modify, and manage Salesforce objects and records using everyday language, making it easier to work with your Salesforce environment.
To install the Salesforce MCP server globally:
npm install -g @tsmztech/mcp-server-salesforce
You can connect to Salesforce using one of three authentication methods:
https://your-domain.my.salesforce.com
) as it's required for authenticationsf
)sf org display --json
in the root of your Salesforce projectAdd to your claude_desktop_config.json
based on your preferred authentication method:
{
"mcpServers": {
"salesforce": {
"command": "npx",
"args": ["-y", "@tsmztech/mcp-server-salesforce"],
"env": {
"SALESFORCE_CONNECTION_TYPE": "Salesforce_CLI"
}
}
}
}
{
"mcpServers": {
"salesforce": {
"command": "npx",
"args": ["-y", "@tsmztech/mcp-server-salesforce"],
"env": {
"SALESFORCE_CONNECTION_TYPE": "User_Password",
"SALESFORCE_USERNAME": "your_username",
"SALESFORCE_PASSWORD": "your_password",
"SALESFORCE_TOKEN": "your_security_token",
"SALESFORCE_INSTANCE_URL": "org_url"
}
}
}
}
{
"mcpServers": {
"salesforce": {
"command": "npx",
"args": ["-y", "@tsmztech/mcp-server-salesforce"],
"env": {
"SALESFORCE_CONNECTION_TYPE": "OAuth_2.0_Client_Credentials",
"SALESFORCE_CLIENT_ID": "your_client_id",
"SALESFORCE_CLIENT_SECRET": "your_client_secret",
"SALESFORCE_INSTANCE_URL": "https://your-domain.my.salesforce.com"
}
}
}
}
Search for standard and custom objects by partial name matches. For example:
"Find objects related to Account"
"Show me objects that handle customer service"
Get detailed object schema information including fields, relationships, and picklist values:
"What fields are available in the Account object?"
"Show me the picklist values for Case Status"
Query records with relationship support and complex filters:
"Get all Accounts created this month"
"Show me high-priority Cases with their related Contacts"
Execute aggregate queries with GROUP BY:
"Count opportunities by stage"
"Calculate average deal size by sales rep and quarter"
Perform data operations (insert, update, delete, upsert):
"Update status of multiple accounts"
"Create new contact records"
Create and modify custom objects:
"Create a Customer Feedback object"
"Update sharing settings for the Service Request object"
Manage object fields including adding new fields and modifying properties:
"Add a Rating picklist field to Account"
"Create a Revenue currency field on Account and grant access to Sales User and Marketing User profiles"
Manage Field Level Security (Field Permissions):
"Grant System Administrator access to Custom_Field__c on Account"
"Give read-only access to Rating__c field for Sales User profile"
Search across multiple objects using SOSL:
"Search for 'cloud' in Accounts and Opportunities"
"Find mentions of 'network issue' in Cases and Knowledge Articles"
Read Apex classes and view their source code:
"Show me all Apex classes with 'Controller' in the name"
"Get the full code for the AccountService class"
Create and update Apex classes:
"Create a new Apex utility class for handling date operations"
"Update the LeadConverter class to add a new method"
Read Apex triggers and view their source code:
"List all triggers for the Account object"
"Show me the code for the ContactTrigger"
Create and update Apex triggers:
"Create a new trigger for the Opportunity object"
"Update the Case trigger to handle after delete events"
Execute anonymous Apex code:
"Execute Apex code to calculate account metrics"
"Run a script to update related records"
Manage debug logs for Salesforce users:
"Enable debug logs for [email protected]"
"Retrieve recent logs for an admin user"
To add this MCP server to Claude Code, run this command in your terminal:
claude mcp add-json "salesforce" '{"command":"npx","args":["-y","@tsmztech/mcp-server-salesforce"],"env":{"SALESFORCE_CONNECTION_TYPE":"User_Password","SALESFORCE_USERNAME":"your_username","SALESFORCE_PASSWORD":"your_password","SALESFORCE_TOKEN":"your_security_token","SALESFORCE_INSTANCE_URL":"org_url"}}'
See the official Claude Code MCP documentation for more details.
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"salesforce": {
"command": "npx",
"args": [
"-y",
"@tsmztech/mcp-server-salesforce"
],
"env": {
"SALESFORCE_CONNECTION_TYPE": "User_Password",
"SALESFORCE_USERNAME": "your_username",
"SALESFORCE_PASSWORD": "your_password",
"SALESFORCE_TOKEN": "your_security_token",
"SALESFORCE_INSTANCE_URL": "org_url"
}
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.
To add this MCP server to Claude Desktop:
1. Find your configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
2. Add this to your configuration file:
{
"mcpServers": {
"salesforce": {
"command": "npx",
"args": [
"-y",
"@tsmztech/mcp-server-salesforce"
],
"env": {
"SALESFORCE_CONNECTION_TYPE": "User_Password",
"SALESFORCE_USERNAME": "your_username",
"SALESFORCE_PASSWORD": "your_password",
"SALESFORCE_TOKEN": "your_security_token",
"SALESFORCE_INSTANCE_URL": "org_url"
}
}
}
}
3. Restart Claude Desktop for the changes to take effect