npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

sayfeai-mcp-sfdc

v0.0.2

Published

A Salesforce connector MCP Server.

Readme

Salesforce MCP Server

An MCP (Model Context Protocol) server implementation that integrates AI Chatbots with Salesforce, enabling natural language interactions with your Salesforce data and metadata. This server allows Claude to query, modify, and manage your Salesforce objects and records using everyday language.

based on original from tsmztech

Features

  • Object and Field Management: Create and modify custom objects and fields using natural language
  • Smart Object Search: Find Salesforce objects using partial name matches
  • Detailed Schema Information: Get comprehensive field and relationship details for any object
  • Flexible Data Queries: Query records with relationship support and complex filters
  • Cross-Object Search: Search across multiple objects using SOSL
  • Intuitive Error Handling: Clear feedback with Salesforce-specific error details

Tools

salesforce_search_objects

Search for standard and custom objects:

  • Search by partial name matches
  • Finds both standard and custom objects
  • Example: "Find objects related to Account" will find Account, AccountHistory, etc.

salesforce_describe_object

Get detailed object schema information:

  • Field definitions and properties
  • Relationship details
  • Picklist values
  • Example: "Show me all fields in the Account object"

salesforce_query_records

Query records with relationship support:

  • Parent-to-child relationships
  • Child-to-parent relationships
  • Complex WHERE conditions
  • Example: "Get all Accounts with their related Contacts"

salesforce_dml_records

Perform data operations:

  • Insert new records
  • Update existing records
  • Delete records
  • Upsert using external IDs
  • Example: "Update status of multiple accounts"

salesforce_manage_object

Create and modify custom objects:

  • Create new custom objects
  • Update object properties
  • Configure sharing settings
  • Example: "Create a Customer Feedback object"

salesforce_manage_field

Manage object fields:

  • Add new custom fields
  • Modify field properties
  • Create relationships
  • Example: "Add a Rating picklist field to Account"

salesforce_search_all

Search across multiple objects:

  • SOSL-based search
  • Multiple object support
  • Field snippets
  • Example: "Search for 'cloud' across Accounts and Opportunities"

salesforce_read_apex

Read Apex classes:

  • Get full source code of specific classes
  • List classes matching name patterns
  • View class metadata (API version, status, etc.)
  • Support for wildcards (* and ?) in name patterns
  • Example: "Show me the AccountController class" or "Find all classes matching AccountCont"

salesforce_write_apex

Create and update Apex classes:

  • Create new Apex classes
  • Update existing class implementations
  • Specify API versions
  • Example: "Create a new Apex class for handling account operations"

salesforce_read_apex_trigger

Read Apex triggers:

  • Get full source code of specific triggers
  • List triggers matching name patterns
  • View trigger metadata (API version, object, status, etc.)
  • Support for wildcards (* and ?) in name patterns
  • Example: "Show me the AccountTrigger" or "Find all triggers for Contact object"

salesforce_write_apex_trigger

Create and update Apex triggers:

  • Create new Apex triggers for specific objects
  • Update existing trigger implementations
  • Specify API versions and event operations
  • Example: "Create a new trigger for the Account object" or "Update the Lead trigger"

salesforce_execute_anonymous

Execute anonymous Apex code:

  • Run Apex code without creating a permanent class
  • View debug logs and execution results
  • Useful for data operations not directly supported by other tools
  • Example: "Execute Apex code to calculate account metrics" or "Run a script to update related records"

salesforce_manage_debug_logs

Manage debug logs for Salesforce users:

  • Enable debug logs for specific users
  • Disable active debug log configurations
  • Retrieve and view debug logs
  • Configure log levels (NONE, ERROR, WARN, INFO, DEBUG, FINE, FINER, FINEST)
  • Example: "Enable debug logs for [email protected]" or "Retrieve recent logs for an admin user"

Setup

Salesforce Authentication

You can connect to Salesforce using one of two authentication methods:

1. Username/Password Authentication (Default)

  1. Set up your Salesforce credentials
  2. Get your security token (Reset from Salesforce Settings)

2. OAuth 2.0 Client Credentials Flow

  1. Create a Connected App in Salesforce
  2. Enable OAuth settings and select "Client Credentials Flow"
  3. Set appropriate scopes (typically "api" is sufficient)
  4. Save the Client ID and Client Secret
  5. Important: Note your instance URL (e.g., https://your-domain.my.salesforce.com) as it's required for authentication

Usage with Claude Desktop

Add to your claude_desktop_config.json:

For Username/Password Authentication:

{
  "mcpServers": {
    "salesforce": {
      "command": "npx",
      "args": ["-y", "@tsmztech/mcp-server-salesforce"],
      "env": {
        "SALESFORCE_CONNECTION_TYPE": "User_Password",
        "SALESFORCE_USERNAME": "your_username",
        "SALESFORCE_PASSWORD": "your_password",
        "SALESFORCE_TOKEN": "your_security_token",
        "SALESFORCE_INSTANCE_URL": "org_url"        // Optional. Default value: https://login.salesforce.com
      }
    }
  }
}

For OAuth 2.0 Client Credentials Flow:

{
  "mcpServers": {
    "salesforce": {
      "command": "npx",
      "args": ["-y", "@tsmztech/mcp-server-salesforce"],
      "env": {
        "SALESFORCE_CONNECTION_TYPE": "OAuth_2.0_Client_Credentials",
        "SALESFORCE_CLIENT_ID": "your_client_id",
        "SALESFORCE_CLIENT_SECRET": "your_client_secret",
        "SALESFORCE_INSTANCE_URL": "https://your-domain.my.salesforce.com"  // REQUIRED: Must be your exact Salesforce instance URL
      }
    }
  }
}

Note: For OAuth 2.0 Client Credentials Flow, the SALESFORCE_INSTANCE_URL must be your exact Salesforce instance URL (e.g., https://your-domain.my.salesforce.com). The token endpoint will be constructed as <instance_url>/services/oauth2/token.

Example Usage

Searching Objects

"Find all objects related to Accounts"
"Show me objects that handle customer service"
"What objects are available for order management?"

Getting Schema Information

"What fields are available in the Account object?"
"Show me the picklist values for Case Status"
"Describe the relationship fields in Opportunity"

Querying Records

"Get all Accounts created this month"
"Show me high-priority Cases with their related Contacts"
"Find all Opportunities over $100k"

Managing Custom Objects

"Create a Customer Feedback object"
"Add a Rating field to the Feedback object"
"Update sharing settings for the Service Request object"

Searching Across Objects

"Search for 'cloud' in Accounts and Opportunities"
"Find mentions of 'network issue' in Cases and Knowledge Articles"
"Search for customer name across all relevant objects"

Managing Apex Code

"Show me all Apex classes with 'Controller' in the name"
"Get the full code for the AccountService class"
"Create a new Apex utility class for handling date operations"
"Update the LeadConverter class to add a new method"

Managing Apex Triggers

"List all triggers for the Account object"
"Show me the code for the ContactTrigger"
"Create a new trigger for the Opportunity object"
"Update the Case trigger to handle after delete events"

Executing Anonymous Apex Code

"Execute Apex code to calculate account metrics"
"Run a script to update related records"
"Execute a batch job to process large datasets"

Managing Debug Logs

"Enable debug logs for [email protected]"
"Retrieve recent logs for an admin user"
"Disable debug logs for a specific user"
"Configure log level to DEBUG for a user"

Development

Building from source

# Clone the repository
git clone https://github.com/Vandelay-Consulting/sayfeai_mcp_sfdc.git

# Navigate to directory
cd mcp-server-salesforce

# Install dependencies
npm install

# Build the project
npm run build

Contributing

Contributions are welcome! Feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Issues and Support

If you encounter any issues or need support, please file an issue on the GitHub repository.