The Salesforce MCP server enables natural language interactions with your Salesforce data and metadata. It allows Claude to query, modify, and manage your Salesforce objects and records using everyday language, making it easier to work with your Salesforce organization through conversational commands.
npm install -g @tsmztech/mcp-server-salesforce
For manual Claude Desktop configuration:
https://your-domain.my.salesforce.com)sf)sf org display --json in the root of your Salesforce projectAdd to your claude_desktop_config.json:
{
"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:
Get detailed object schema information:
Query records with relationship support:
Execute aggregate queries with GROUP BY:
Perform data operations:
Create and modify custom objects:
Manage object fields:
Manage Field Level Security:
Search across multiple objects:
Read Apex classes:
Create and update Apex classes:
Read Apex triggers:
Create and update Apex triggers:
Execute anonymous Apex code:
Manage debug logs for Salesforce users:
"Find all objects related to Accounts"
"Show me objects that handle customer service"
"What objects are available for order management?"
"What fields are available in the Account object?"
"Show me the picklist values for Case Status"
"Describe the relationship fields in Opportunity"
"Get all Accounts created this month"
"Show me high-priority Cases with their related Contacts"
"Find all Opportunities over $100k"
"Count opportunities by stage"
"Show me the total revenue by account"
"Find accounts with more than 10 opportunities"
"Calculate average deal size by sales rep and quarter"
"Create a Customer Feedback object"
"Add a Rating field to the Feedback object"
"Create a Revenue currency field on Account and grant access to Sales User and Marketing User profiles"
"Grant System Administrator access to Custom_Field__c on Account"
"Give read-only access to Rating__c field for Sales User profile"
"View which profiles have access to the Custom_Field__c"
"Search for 'cloud' in Accounts and Opportunities"
"Find mentions of 'network issue' in Cases and Knowledge Articles"
"Search for customer name across all relevant objects"
"Show me all Apex classes with 'Controller' in the name"
"Get the full code for the AccountService class"
"Create a new Apex utility class for handling date operations"
"Create a new trigger for the Opportunity object"
"Execute Apex code to calculate account metrics"
"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.json2. 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