hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Provides comprehensive access to Salesforce data and metadata, enabling object and field management, schema exploration, data querying with relationship support, record creation/modification, cross-object searching, and custom object development - all using the Salesforce API.
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 language.
Features
- Object and Field Management: Create and modify custom objects and fields using natural language
- Smart Object Search: Find Salesforce objects using partial name matches
- Detailed Schema Information: Get comprehensive field and relationship details for any object
- Flexible Data Queries: Query records with relationship support and complex filters
- Data Manipulation: Insert, update, delete, and upsert records with ease
- Cross-Object Search: Search across multiple objects using SOSL
- Apex Code Management: Read, create, and update Apex classes and triggers
- Intuitive Error Handling: Clear feedback with Salesforce-specific error details
Installation
Tools
salesforce_search_objects
Search for standard and custom objects:
- Search by partial name matches
- Finds both standard and custom objects
- Example: "Find objects related to Account" will find Account, AccountHistory, etc.
salesforce_describe_object
Get detailed object schema information:
- Field definitions and properties
- Relationship details
- Picklist values
- Example: "Show me all fields in the Account object"
salesforce_query_records
Query records with relationship support:
- Parent-to-child relationships
- Child-to-parent relationships
- Complex WHERE conditions
- Example: "Get all Accounts with their related Contacts"
salesforce_dml_records
Perform data operations:
- Insert new records
- Update existing records
- Delete records
- Upsert using external IDs
- Example: "Update status of multiple accounts"
salesforce_manage_object
Create and modify custom objects:
- Create new custom objects
- Update object properties
- Configure sharing settings
- Example: "Create a Customer Feedback object"
salesforce_manage_field
Manage object fields:
- Add new custom fields
- Modify field properties
- Create relationships
- Example: "Add a Rating picklist field to Account"
salesforce_search_all
Search across multiple objects:
- SOSL-based search
- Multiple object support
- Field snippets
- Example: "Search for 'cloud' across Accounts and Opportunities"
salesforce_read_apex
Read Apex classes:
- Get full source code of specific classes
- List classes matching name patterns
- View class metadata (API version, status, etc.)
- Support for wildcards (* and ?) in name patterns
- Example: "Show me the AccountController class" or "Find all classes matching AccountCont"
salesforce_write_apex
Create and update Apex classes:
- Create new Apex classes
- Update existing class implementations
- Specify API versions
- Example: "Create a new Apex class for handling account operations"
salesforce_read_apex_trigger
Read Apex triggers:
- Get full source code of specific triggers
- List triggers matching name patterns
- View trigger metadata (API version, object, status, etc.)
- Support for wildcards (* and ?) in name patterns
- Example: "Show me the AccountTrigger" or "Find all triggers for Contact object"
salesforce_write_apex_trigger
Create and update Apex triggers:
- Create new Apex triggers for specific objects
- Update existing trigger implementations
- Specify API versions and event operations
- Example: "Create a new trigger for the Account object" or "Update the Lead trigger"
salesforce_execute_anonymous
Execute anonymous Apex code:
- Run Apex code without creating a permanent class
- View debug logs and execution results
- Useful for data operations not directly supported by other tools
- Example: "Execute Apex code to calculate account metrics" or "Run a script to update related records"
salesforce_manage_debug_logs
Manage debug logs for Salesforce users:
- Enable debug logs for specific users
- Disable active debug log configurations
- Retrieve and view debug logs
- Configure log levels (NONE, ERROR, WARN, INFO, DEBUG, FINE, FINER, FINEST)
- Example: "Enable debug logs for user@example.com" or "Retrieve recent logs for an admin user"
Setup
Salesforce Authentication
You can connect to Salesforce using one of two authentication methods:
1. Username/Password Authentication (Default)
- Set up your Salesforce credentials
- Get your security token (Reset from Salesforce Settings)
2. OAuth 2.0 Client Credentials Flow
- Create a Connected App in Salesforce
- Enable OAuth settings and select "Client Credentials Flow"
- Set appropriate scopes (typically "api" is sufficient)
- Save the Client ID and Client Secret
- Important: Note your instance URL (e.g.,
https://your-domain.my.salesforce.com
) as it's required for authentication
Usage with Claude Desktop
Add to your claude_desktop_config.json
:
For Username/Password Authentication:
For OAuth 2.0 Client Credentials Flow:
Note: For OAuth 2.0 Client Credentials Flow, the
SALESFORCE_INSTANCE_URL
must be your exact Salesforce instance URL (e.g.,https://your-domain.my.salesforce.com
). The token endpoint will be constructed as<instance_url>/services/oauth2/token
.
Example Usage
Searching Objects
Getting Schema Information
Querying Records
Managing Custom Objects
Searching Across Objects
Managing Apex Code
Managing Apex Triggers
Executing Anonymous Apex Code
Managing Debug Logs
Development
Building from source
Contributing
Contributions are welcome! Feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Issues and Support
If you encounter any issues or need support, please file an issue on the GitHub repository.
You must be authenticated.
Tools
An MCP server implementation that integrates Claude with Salesforce, enabling natural language interactions with Salesforce data and metadata for querying, modifying, and managing objects and records.
- Features
- Installation
- Tools
- salesforce_search_objects
- salesforce_describe_object
- salesforce_query_records
- salesforce_dml_records
- salesforce_manage_object
- salesforce_manage_field
- salesforce_search_all
- salesforce_read_apex
- salesforce_write_apex
- salesforce_read_apex_trigger
- salesforce_write_apex_trigger
- salesforce_execute_anonymous
- salesforce_manage_debug_logs
- Setup
- Example Usage
- Development
- Contributing
- License
- Issues and Support