# Salesforce MCP Server for Heroku
A Model Context Protocol (MCP) server that enables AI agents to interact with Salesforce CRM data.
[](https://heroku.com/deploy?template=https://github.com/dsouza-anush/mcp-salesforce)
## 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
```bash
git clone https://github.com/dsouza-anush/mcp-salesforce
cd mcp-salesforce
heroku create my-salesforce-mcp
git push heroku main
```
### Configure Credentials
```bash
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:
```bash
heroku addons:attach your-main-app::INFERENCE -a my-salesforce-mcp
```
The `mcp-salesforce` process is now available via `/v1/agents/heroku`.
## Usage Example
```python
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