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 .Related MCP server: Salesforce MCP Server
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.comFile downloads (optional):
SALESFORCE_MAX_DOWNLOAD_BYTES=10485760 # max download_file size in bytes (default 10 MB)Access 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, list_files, download_file, get_report_metadata, get_report_type_fields | Safe exploration, reporting, read-only integrations |
| All read tools + create_record, update_record, upload_file | 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.
Note:
download_filereturns file contents inline and is read-only, but it broadens the data-exfiltration surface beyond ordinary record reads. Consider granting it separately in MintMCP rather than treating it as equivalent to the otherreadtools, and cap size withSALESFORCE_MAX_DOWNLOAD_BYTES.
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 | true | — | — |
| read | true | — | — |
| read_write | false | — | — |
| 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 |
| List files (ContentDocuments) attached to a record |
| Download a file's contents by ContentVersionId or ContentDocumentId |
| 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 |
| Upload a file (ContentVersion), optionally attaching it to a record |
| Permanently delete a record |
| Salesforce Tooling API (metadata, Apex classes, custom fields) |
| Call custom Apex REST endpoints |
| Generic Salesforce REST API call |
Maintenance
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
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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