Enables AI agents to interact with Salesforce CRM data
Salesforce MCP Server for Heroku
A Model Context Protocol (MCP) server that enables AI agents to interact with Salesforce CRM data.
Features
- SOQL Queries - Execute any SOQL query against your Salesforce org
- Object Metadata - Discover fields and relationships for any object
- Record Management - Create, update, and delete records
- Heroku Native - Designed for Heroku deployment with MCP process support
Available Tools
| Tool | Description |
|---|---|
query |
Execute SOQL queries |
describe_object |
Get object metadata (fields, types, relationships) |
create |
Create new records |
update |
Update existing records |
delete |
Delete records |
Deployment
One-Click Deploy
Click the "Deploy to Heroku" button above, then configure your Salesforce credentials.
Manual Deploy
git clone https://github.com/dsouza-anush/mcp-salesforce
cd mcp-salesforce
heroku create my-salesforce-mcp
git push heroku main
Configure Credentials
heroku config:set SF_USERNAME=your-username@example.com
heroku config:set SF_PASSWORD=your-password
heroku config:set SF_SECURITY_TOKEN=your-security-token
heroku config:set SF_LOGIN_URL=https://login.salesforce.com
For sandbox orgs, use https://test.salesforce.com as the login URL.
Register with Heroku AI
After deployment, attach your Heroku AI model:
heroku addons:attach your-main-app::INFERENCE -a my-salesforce-mcp
The mcp-salesforce process is now available via /v1/agents/heroku.
Usage Example
from openai import OpenAI
client = OpenAI(
base_url=os.getenv("INFERENCE_URL") + "/v1",
api_key=os.getenv("INFERENCE_KEY")
)
response = client.chat.completions.create(
model=os.getenv("INFERENCE_MODEL_ID"),
messages=[
{"role": "user", "content": "Find all opportunities closing this quarter"}
],
extra_body={
"heroku": {
"mcp_servers": ["mcp-salesforce"]
}
}
)
Environment Variables
| Variable | Description | Required |
|---|---|---|
SF_LOGIN_URL |
Salesforce login URL | No (defaults to production) |
SF_USERNAME |
Salesforce username | Yes |
SF_PASSWORD |
Salesforce password | Yes |
SF_SECURITY_TOKEN |
Security token (if required) | No |
API_KEY |
API key for web endpoint | No |
License
MIT
Tools (5)
queryExecute SOQL queries against your Salesforce orgdescribe_objectGet object metadata (fields, types, relationships)createCreate new recordsupdateUpdate existing recordsdeleteDelete recordsEnvironment Variables
SF_USERNAMErequiredSalesforce usernameSF_PASSWORDrequiredSalesforce passwordSF_LOGIN_URLSalesforce login URL (defaults to production)SF_SECURITY_TOKENSecurity token (if required)API_KEYAPI key for web endpointConfiguration
{
"mcpServers": {
"salesforce": {
"command": "npx",
"args": ["-y", "@dsouza-anush/mcp-salesforce"],
"env": {
"SF_USERNAME": "your-username@example.com",
"SF_PASSWORD": "your-password",
"SF_SECURITY_TOKEN": "your-security-token",
"SF_LOGIN_URL": "https://login.salesforce.com"
}
}
}
}