Skip to main content
Glama
MCP_Salesforce

MCP_Salesforce

by waaljair

MCP Salesforce Server

A Model Context Protocol (MCP) server for Salesforce integration, designed for sales, marketing, and C-suite teams to seamlessly search, view, and update Salesforce records through Claude.

Features

  • Search Functionality: Search across Accounts, Contacts, Opportunities, and Leads

  • Record Management: View detailed information and update records

  • Activity Management: Track recent activities and create new tasks

  • Global Search: Search across all Salesforce records simultaneously

  • Executive Dashboard: Access key metrics and data for decision-making

Related MCP server: Salesforce MCP Server

Prerequisites

  • Node.js 18.0.0 or higher

  • A Salesforce account with API access

  • Connected App configured in Salesforce (see setup instructions below)

Salesforce Setup

1. Create a Connected App

  1. Log into your Salesforce org

  2. Go to Setup → App Manager

  3. Click New Connected App

  4. Fill in the basic information:

    • Connected App Name: MCP Salesforce Integration

    • API Name: MCP_Salesforce_Integration

    • Contact Email: Your email address

  5. Enable OAuth Settings:

    • Check Enable OAuth Settings

    • Callback URL: https://login.salesforce.com/services/oauth2/success

    • Selected OAuth Scopes: Add these scopes:

      • Access and manage your data (api)

      • Perform requests on your behalf at any time (refresh_token, offline_access)

      • Access your basic information (id, profile, email, address, phone)

  6. Click Save

  7. Wait for the Connected App to be created (may take 2-10 minutes)

2. Get Your Credentials

After creating the Connected App:

  1. Go to Setup → App Manager

  2. Find your Connected App and click View

  3. Copy the Consumer Key (this is your CLIENT_ID)

  4. Copy the Consumer Secret (this is your CLIENT_SECRET)

3. Get Your Security Token

  1. Go to your personal settings by clicking your profile picture → Settings

  2. In the left sidebar, click Reset My Security Token

  3. Click Reset Security Token

  4. Check your email for the security token

4. Test Your Credentials

You can test your credentials using the Salesforce login:

  • Username: Your Salesforce username (usually your email)

  • Password: Your Salesforce password

  • Security Token: The token you received via email

Installation and Usage

  1. Configure your Claude Desktop mcp_settings.json file:

{
  "mcpServers": {
    "MCP_Salesforce": {
      "command": "npx",
      "args": ["github:waaljair/MCP_Salesforce"],
      "env": {
        "SALESFORCE_LOGIN_URL": "https://login.salesforce.com",
        "SALESFORCE_CLIENT_ID": "your_consumer_key_here",
        "SALESFORCE_CLIENT_SECRET": "your_consumer_secret_here",
        "SALESFORCE_USERNAME": "your_salesforce_username",
        "SALESFORCE_PASSWORD": "your_salesforce_password",
        "SALESFORCE_SECURITY_TOKEN": "your_security_token_here"
      }
    }
  }
}
  1. Restart Claude Desktop

Option 2: Local Development

  1. Clone the repository:

git clone https://github.com/waaljair/MCP_Salesforce.git
cd MCP_Salesforce
  1. Install dependencies:

npm install
  1. Build the project:

npm run build
  1. Configure your environment variables (create a .env file):

SALESFORCE_LOGIN_URL=https://login.salesforce.com
SALESFORCE_CLIENT_ID=your_consumer_key_here
SALESFORCE_CLIENT_SECRET=your_consumer_secret_here
SALESFORCE_USERNAME=your_salesforce_username
SALESFORCE_PASSWORD=your_salesforce_password
SALESFORCE_SECURITY_TOKEN=your_security_token_here
  1. Configure Claude Desktop to use the local server:

{
  "mcpServers": {
    "MCP_Salesforce": {
      "command": "node",
      "args": ["/path/to/MCP_Salesforce/dist/index.js"],
      "env": {
        "SALESFORCE_LOGIN_URL": "https://login.salesforce.com",
        "SALESFORCE_CLIENT_ID": "your_consumer_key_here",
        "SALESFORCE_CLIENT_SECRET": "your_consumer_secret_here",
        "SALESFORCE_USERNAME": "your_salesforce_username",
        "SALESFORCE_PASSWORD": "your_salesforce_password",
        "SALESFORCE_SECURITY_TOKEN": "your_security_token_here"
      }
    }
  }
}

Available Tools

Search Tools

  • search_accounts - Search for accounts by name, industry, or other criteria

  • search_contacts - Search for contacts by name, email, or other criteria

  • search_opportunities - Search for opportunities by name, stage, or other criteria

  • search_leads - Search for leads by name, company, or other criteria

  • search_all_records - Global search across all Salesforce records

Detail Tools

  • get_account_details - Get detailed information about a specific account

  • get_contact_details - Get detailed information about a specific contact

  • get_opportunity_details - Get detailed information about a specific opportunity

Update Tools

  • update_account - Update account information

  • update_contact - Update contact information

  • update_opportunity - Update opportunity information

Create Tools

  • create_account - Create new Salesforce accounts

  • create_contact - Create new Salesforce contacts

  • create_opportunity - Create new Salesforce opportunities

Activity Tools

  • get_recent_activities - Get recent activities for any record

  • create_task - Create new tasks in Salesforce

Usage Examples

For Sales Teams

  • "Search for all opportunities in the 'Negotiation' stage"

  • "Show me details for the Acme Corp account"

  • "Update the close date for opportunity XYZ to next month"

  • "Create a follow-up task for contact John Doe"

  • "Create a new opportunity for the Tech Solutions account"

  • "Create a new contact for the marketing director at Acme Corp"

For Marketing Teams

  • "Find all leads from the technology industry"

  • "Search for contacts at companies with 'Software' in their name"

  • "Show me recent activities for our key accounts"

  • "Create a new account for the prospect company we just met"

  • "Create a new contact for the lead that just signed up"

For C-Suite

  • "Search for all opportunities over $100,000"

  • "Find accounts in the financial services industry"

  • "Show me recent activities across all major accounts"

  • "Create a new strategic account for our enterprise prospect"

Environment Variables

Variable

Description

Required

SALESFORCE_LOGIN_URL

Salesforce login URL (usually https://login.salesforce.com)

Yes

SALESFORCE_CLIENT_ID

Connected App Consumer Key

Yes

SALESFORCE_CLIENT_SECRET

Connected App Consumer Secret

Yes

SALESFORCE_USERNAME

Your Salesforce username

Yes

SALESFORCE_PASSWORD

Your Salesforce password

Yes

SALESFORCE_SECURITY_TOKEN

Your Salesforce security token

Yes

Troubleshooting

Common Issues

  1. Authentication Failed

    • Verify your username and password are correct

    • Ensure your security token is current (regenerate if needed)

    • Check that your Connected App is properly configured

  2. Permission Errors

    • Ensure your user has appropriate permissions for the records you're trying to access

    • Check that your Connected App has the correct OAuth scopes

  3. Connection Issues

    • Verify the SALESFORCE_LOGIN_URL is correct

    • For sandbox environments, use https://test.salesforce.com

Getting Help

If you encounter issues:

  1. Check the Claude Desktop logs for error messages

  2. Verify all environment variables are set correctly

  3. Test your Salesforce credentials in the Salesforce web interface

  4. Ensure your Connected App is active and properly configured

Security Considerations

  • Never commit your Salesforce credentials to version control

  • Use environment variables for all sensitive configuration

  • Regularly rotate your security token

  • Monitor your Connected App usage in Salesforce

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Submit a pull request

License

MIT License - see LICENSE file for details

Author

Jair Waal

Repository

https://github.com/waaljair/MCP_Salesforce

Available Tools

16 tools
create_accountC

Create a new Salesforce account

Inputs: name (required), type, phone, website, +9 more.

create_contactB

Create a new Salesforce contact

Inputs: lastName (required), email, phone, title, +9 more.

create_opportunityB

Create a new Salesforce opportunity

Inputs: name (required), accountId (required), closeDate (required), stageName (required), +6 more.

create_taskB

Create a new task in Salesforce

Inputs: subject (required), whoId, whatId, dueDate, +2 more.

get_account_detailsA

Get detailed information about a specific Salesforce account

Inputs: accountId (required).

get_contact_detailsA

Get detailed information about a specific Salesforce contact

Inputs: contactId (required).

get_opportunity_detailsB

Get detailed information about a specific Salesforce opportunity

Inputs: opportunityId (required).

get_recent_activitiesC

Get recent activities (tasks, events, calls) for an account or contact

Inputs: recordId (required), limit.

search_accountsA

Search for Salesforce accounts by name, industry, or other criteria

Inputs: query (required), limit.

search_all_recordsA

Search across all Salesforce records using SOSL (global search)

Inputs: query (required), limit.

search_contactsB

Search for Salesforce contacts by name, email, or other criteria

Inputs: query (required), limit.

search_leadsB

Search for Salesforce leads by name, company, or other criteria

Inputs: query (required), limit.

search_opportunitiesB

Search for Salesforce opportunities by name, stage, or other criteria

Inputs: query (required), limit.

update_accountB

Update a Salesforce account with new information

Inputs: updates (required), accountId (required).

update_contactB

Update a Salesforce contact with new information

Inputs: updates (required), contactId (required).

update_opportunityC

Update a Salesforce opportunity with new information

Inputs: updates (required), opportunityId (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 16 tools

    Disambiguation5/5

    Each tool clearly targets a distinct Salesforce object and action (search, get, update, create). The global search_all_records is distinct from object-specific searches by its SOSL nature. No two tools appear to overlap in purpose.

    Naming Consistency4/5

    Tool names follow a consistent verb_noun pattern in snake_case (e.g., search_accounts, create_task). Minor deviations include get_recent_activities lacking the '_details' suffix used by other getters, and search_all_records being a slightly different phrase, but the overall convention is predictable.

    Tool Count4/5

    Sixteen tools is slightly above the typical 3-15 range but justified for covering multiple CRM objects (Account, Contact, Opportunity, Lead, Task) with search, get, update, and create operations. The count is reasonable and not bloated.

    Completeness2/5

    Significant gaps exist: no delete operations for any object, Lead only has search (no get, update, or create), and Task only has create. This leaves agents unable to perform full lifecycle management, which is a notable deficiency for a Salesforce server.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Integrates Claude with Salesforce to enable natural language querying, modification, and management of Salesforce records and metadata. It supports comprehensive operations including object/field management, SOSL searches, and Apex code execution.
      2,615 npm
      1
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Integrates Claude with Salesforce for natural language interactions with Salesforce data and metadata, enabling querying, modifying, and managing objects and records.
      20
      20 npm
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables Claude to interact with Salesforce for querying, modifying, and managing objects and records, with automatic integration setup for external services like WhatsApp, Slack, email, and webhooks.
      MIT