MCP Salesforce Connector
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SALESFORCE_DOMAIN | No | Set to 'test' to connect to a Salesforce sandbox environment. If not set or left empty, the server will connect to the production environment. | |
| SALESFORCE_PASSWORD | No | Salesforce password for legacy authentication. | |
| SALESFORCE_USERNAME | No | Salesforce username for legacy authentication. | |
| SALESFORCE_ACCESS_TOKEN | No | Salesforce Access Token for OAuth authentication. | |
| SALESFORCE_INSTANCE_URL | No | Salesforce Instance URL for OAuth authentication (e.g., https://my-company.my.salesforce.com). | |
| SALESFORCE_CLI_TARGET_ORG | No | When using the Salesforce CLI authentication method, set this to target a specific org alias or username instead of the default org. | |
| SALESFORCE_SECURITY_TOKEN | No | Salesforce security token for legacy authentication. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| run_soql_queryA | Executes a SOQL query against Salesforce. TOKEN OPTIMIZATION GUIDELINES:
Example efficient query: SELECT Id, Name FROM Account WHERE IsActive = true LIMIT 20 |
| run_sosl_searchA | Executes a SOSL search against Salesforce. TOKEN OPTIMIZATION: Use RETURNING clause to limit fields and objects. Example: FIND {searchterm} RETURNING Account(Id, Name), Contact(Id, Name) LIMIT 10 |
| get_object_fieldsA | Retrieves field names and types for a Salesforce object. Use this to discover available fields before writing SOQL queries. Output is CSV format: name,label,type,updateable |
| get_recordA | Retrieves a specific record by ID. Returns all fields - prefer SOQL with specific fields for token efficiency. |
| create_recordD | Creates a new record |
| update_recordB | Updates an existing record |
| delete_recordC | Deletes a record |
| tooling_executeC | Executes a Tooling API request |
| apex_executeC | Executes an Apex REST request |
| restfulB | Makes a direct REST API call to Salesforce |
| list_sobjectsA | Retrieves a list of all available Salesforce SObjects (standard and custom). |
| bulk_create_recordsC | Creates multiple records of a specified SObject type in bulk. |
| bulk_update_recordsA | Updates multiple records of a specified SObject type in bulk. Each record must have an 'Id' field. |
| bulk_delete_recordsB | Deletes multiple records of a specified SObject type in bulk, given their IDs. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool targets a distinct operation: CRUD, bulk CRUD, queries, metadata, and direct API calls. Overlaps like get_record vs run_soql_query are clarified by different access patterns (ID vs query). Apex and tooling executes are differentiated by API type.
Most tools follow snake_case verb_noun pattern (e.g., create_record, run_soql_query). Exceptions include 'restful' (single word) and plural in bulk tools (bulk_create_records) vs singular in standard tools (create_record), causing minor inconsistency.
14 tools cover a broad Salesforce use case without being excessive. Each tool has a clear purpose, and the count is well-scoped for a comprehensive connector.
The tool set covers CRUD, bulk operations, queries, searches, object metadata, and direct API calls. Minor gaps include absence of upsert or describe metadata operations, but core workflows are fully supported.