The Salesforce MCP Server enables natural language interactions with your Salesforce data and metadata. It allows Claude to query, modify, and manage Salesforce objects and records using everyday language, providing an intuitive interface to your Salesforce environment.
Install the package globally using npm:
npm install -g @tsmztech/mcp-server-salesforce
You can connect to Salesforce using one of two authentication methods:
https://your-domain.my.salesforce.com
)Add the server to your claude_desktop_config.json
:
{
"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"
}
}
}
}
Note: SALESFORCE_INSTANCE_URL
is optional with default value of https://login.salesforce.com
{
"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"
}
}
}
}
For OAuth 2.0 Client Credentials Flow, the SALESFORCE_INSTANCE_URL
must be your exact Salesforce instance URL.
Search for standard and custom objects by partial name matches.
Example prompts:
"Find all objects related to Accounts"
"Show me objects that handle customer service"
Get detailed object schema information including fields, relationships, and picklist values.
Example prompts:
"What fields are available in the Account object?"
"Show me the picklist values for Case Status"
Create and modify custom objects.
Example prompt:
"Create a Customer Feedback object"
Manage object fields including adding new custom fields and creating relationships.
Example prompt:
"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 permissions.
Example prompts:
"Grant System Administrator access to Custom_Field__c on Account"
"Give read-only access to Rating__c field for Sales User profile"
Query records with relationship support.
Example prompts:
"Get all Accounts created this month"
"Show me high-priority Cases with their related Contacts"
Execute aggregate queries with GROUP BY.
Example prompts:
"Count opportunities by stage"
"Show me the total revenue by account"
Perform data operations (insert, update, delete, upsert).
Example prompt:
"Update status of multiple accounts"
Search across multiple objects using SOSL.
Example prompts:
"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.
Example prompts:
"Show me all Apex classes with 'Controller' in the name"
"Get the full code for the AccountService class"
Create and update Apex classes.
Example prompt:
"Create a new Apex utility class for handling date operations"
Read Apex triggers and view their source code.
Example prompts:
"List all triggers for the Account object"
"Show me the code for the ContactTrigger"
Create and update Apex triggers.
Example prompts:
"Create a new trigger for the Opportunity object"
"Update the Case trigger to handle after delete events"
Execute anonymous Apex code without creating a permanent class.
Example prompts:
"Execute Apex code to calculate account metrics"
"Run a script to update related records"
Manage debug logs for Salesforce users.
Example prompts:
"Enable debug logs for [email protected]"
"Retrieve recent logs for an admin user"
"Find objects related to Account"
"Show me all fields in the Account object"
"Get all Accounts with their related Contacts"
"Find accounts with more than 10 opportunities"
"Create a new Account named 'Acme Corp'"
"Update the status of opportunities closing this month"
"Create a Customer Feedback custom object"
"Add a Rating picklist field to the Feedback object with values 'Poor', 'Average', 'Good', 'Excellent'"
"Create a new Apex class called AccountUtility"
"Show me all Apex triggers for the Contact object"
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 > MCP and click "Add new global MCP server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"cursor-rules-mcp": {
"command": "npx",
"args": [
"-y",
"cursor-rules-mcp"
]
}
}
}
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 explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.