Salesforce

by kablewy

42 stars
Not rated
GitHub

About

Integrates with Salesforce's REST API to enable querying, metadata retrieval, and CRUD operations on Salesforce data for tasks like customer analysis and CRM automation.

Details

Author
kablewy
Repository
kablewy/salesforce-mcp-server
GitHub stars
42
Categories
Productivity, Developer Tools, Design, AI, Search, Security, Frontend
Tags
#integration

- Execute SOQL queries
- Retrieve object metadata
- Create, update, and delete records
- Secure authentication handling
- Real-time data access

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Salesforce
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 @highlight/mcp-server

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

The server exposes several functions:

To install Salesforce Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install salesforce-mcp-server --client claude

The evals package loads an mcp client that then runs the index.ts file, so there is no need to rebuild between tests. You can load environment variables by prefixing the npx command. Full documentation can be found here.

OPENAI_API_KEY=your-key  npx mcp-eval src/evals/evals.ts src/tools.ts

query

Execute SOQL queries against your Salesforce instance. Parameters: query (string)

describe-object

Get metadata about a Salesforce object. Parameters: objectName (string)

create

Create a new record. Parameters: objectName (string), data (object)

update

Update an existing record. Parameters: objectName (string), data (object)

delete

Delete a record. Parameters: objectName (string), id (string)

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "salesforce": {
            "env": {},
            "args": [
                "-y",
                "@highlight/mcp-server"
            ],
            "command": "npx"
        }
    }
}

Linux

{
    "env": [],
    "args": [
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "npx"
}

Macos

{
    "env": [],
    "args": [
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "npx"
}

Windows

{
    "env": [],
    "args": [
        "/c",
        "npx",
        "-y",
        "@highlight/mcp-server"
    ],
    "command": "cmd"
}

Salesforce MCP Server

smithery badge

A Model Context Protocol server implementation for interacting with Salesforce through its REST API using jsforce.

Installing via Smithery

To install Salesforce Server for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install salesforce-mcp-server --client claude

Features

- Execute SOQL queries
- Retrieve object metadata
- Create, update, and delete records
- Secure authentication handling
- Real-time data access

Setup

1. Clone the repository
2. Copy .env.example to .env and fill in your Salesforce credentials
3. Install dependencies: npm install
4. Build: npm run build
5. Start: npm start

Usage

The server exposes several functions:

query

Execute SOQL queries against your Salesforce instance:
{
  "name": "query",
  "parameters": {
    "query": "SELECT Id, Name FROM Account LIMIT 5"
  }
}

describe-object

Get metadata about a Salesforce object:
{
  "name": "describe-object",
  "parameters": {
    "objectName": "Account"
  }
}

create

Create a new record:
{
  "name": "create",
  "parameters": {
    "objectName": "Contact",
    "data": {
      "FirstName": "John",
      "LastName": "Doe",
      "Email": "john.doe@example.com"
    }
  }
}

update

Update an existing record:
{
  "name": "update",
  "parameters": {
    "objectName": "Contact",
    "data": {
      "Id": "003XXXXXXXXXXXXXXX",
      "Email": "new.email@example.com"
    }
  }
}

delete

Delete a record:
{
  "name": "delete",
  "parameters": {
    "objectName": "Contact",
    "id": "003XXXXXXXXXXXXXXX"
  }
}

Running evals

The evals package loads an mcp client that then runs the index.ts file, so there is no need to rebuild between tests. You can load environment variables by prefixing the npx command. Full documentation can be found here.

OPENAI_API_KEY=your-key  npx mcp-eval src/evals/evals.ts src/tools.ts

Security

Make sure to:
- Keep your .env file secure and never commit it
- Use IP restrictions in Salesforce when possible
- Regularly rotate your security token
- Consider implementing additional authentication for the MCP server

Contributing

Contributions are welcome! Please submit PRs with improvements.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.