Salesforce MCP Server
The Salesforce MCP Server enables comprehensive interaction with Salesforce orgs, from read-only data exploration to full CRM operations and metadata management.
Data Exploration & Reading:
list_objects— List all standard and custom objects in the org (with optional search filtering)describe_object— Retrieve metadata for any object: fields, relationships, picklist values, and record typesrun_soql_query— Execute structured, filtered queries across any objectrun_sosl_search— Full-text keyword searches spanning multiple objects simultaneouslyget_record— Retrieve a single record by ID
Reporting:
get_report_metadata— Access report details including columns, filters, and groupingsget_report_type_fields— Explore field categories and fields for a specific report type
Data Modification:
create_record— Create new records in any Salesforce objectupdate_record— Update specific fields on existing recordsdelete_record— Delete records (they go to the Recycle Bin, recoverable within 15 days; requiresallaccess mode)
Advanced / Developer Access:
tooling_execute— Call the Salesforce Tooling API to manage metadata objects (ApexClass, ApexTrigger, CustomField, Flow, ValidationRule, etc.)apex_execute— Call custom Apex REST endpoints for org-specific developer-built servicesrestful— Generic escape hatch for any Salesforce REST API endpoint not covered by other tools
Access Control:
Configurable via the SALESFORCE_ACCESS_MODE environment variable (read, read_write, all) to restrict available tools based on environment and security requirements.
Provides tools for interacting with Salesforce CRM, enabling AI agents to query, create, update, and delete records, execute SOQL/SOSL queries, access metadata, run reports, and call custom Apex REST endpoints and Tooling API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Salesforce MCP Serverfind all high-value opportunities closing this month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Salesforce MCP Server
Setup
uv venv .venv
uv pip install --python .venv/bin/python -e .Configuration
Set environment variables for authentication:
Username/Password (default):
SALESFORCE_USERNAME=your-username
SALESFORCE_PASSWORD=your-password
SALESFORCE_SECURITY_TOKEN=your-token
SALESFORCE_DOMAIN=login # or "test" for sandboxNote: SOAP API login is disabled by default in newer Salesforce orgs. To enable it:
Go to Setup → Quick Find → User Interface
Under API Settings, enable Enable SOAP API login()
Click Save
OAuth (alternative, recommended for enterprise):
SALESFORCE_ACCESS_TOKEN=your-token
SALESFORCE_INSTANCE_URL=https://your-instance.salesforce.comAccess Mode
Control which tools are available by setting SALESFORCE_ACCESS_MODE:
Value | Tools Available | Use Case |
| list_objects, describe_object, run_soql_query, run_sosl_search, get_record, get_report_metadata, get_report_type_fields | Safe exploration, reporting, read-only integrations |
| All read tools + create_record, update_record | Day-to-day CRM operations |
| All tools including delete_record, tooling_execute, apex_execute, restful | Full API access |
Recommended Security Levels
Environment | Recommended Mode | Rationale |
Production (end users) |
| Prevents accidental data modification |
Production (trusted ops) |
| Allows CRM data entry, blocks deletes and raw API |
Sandbox / Development |
| Full access for testing and development |
Demo / Exploration |
| Safe for exploring org structure and data |
Set it in your environment or MCP server config:
SALESFORCE_ACCESS_MODE=readTip: When using this server with MintMCP, you can configure fine-grained per-tool permissions directly in MintMCP instead of using the env var. This gives you more granular control (e.g., allow create but not update) without needing to restart the server.
Tool Permissions by Access Mode
MCP tool annotations (readOnlyHint, destructiveHint) are set on each tool so MCP clients can enforce additional policies:
Tool | Access Mode | readOnlyHint | destructiveHint | openWorldHint |
| read | true | — | — |
| read | true | — | — |
| read | true | — | — |
| read | true | — | — |
| read | true | — | — |
| read | true | — | — |
| read | true | — | — |
| read_write | false | — | — |
| read_write | false | — | — |
| all | false | true | — |
| all | false | — | true |
| all | false | — | true |
| all | false | — | true |
Run
.venv/bin/python -m salesforce_mcpTools
Tool | Description |
| List all Salesforce objects in the org (with optional search filter) |
| Get fields, relationships, picklist values, and record types for an object |
| Execute a SOQL query |
| Cross-object full-text search via SOSL |
| Get a single record by ID |
| Get detailed metadata for a report (columns, filters, groupings, report type) |
| Drill into the report type's field catalog — list categories, or fetch fields for one category |
| Create a new record |
| Update fields on an existing record |
| Permanently delete a record |
| Salesforce Tooling API (metadata, Apex classes, custom fields) |
| Call custom Apex REST endpoints |
| Generic Salesforce REST API call |
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mintmcp/salesforce-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server