Skip to main content
Glama

Salesforce MCP Integration

by jogcruz
README.md3.86 kB
# Salesforce MCP Integration This project provides a Model Context Protocol (MCP) server for Salesforce integration, allowing you to execute SOQL queries, retrieve metadata, and interact with Salesforce data through a standardized interface. ## Features - Connect to Salesforce orgs using environment variables - Execute SOQL queries against Salesforce data - Retrieve and process Salesforce records and metadata - List and manage Salesforce Flows - Secure credential management using environment variables ## Prerequisites - Node.js (v14 or higher) - npm (Node Package Manager) - Salesforce org with API access - Salesforce credentials (username and password) ## Installation 1. Clone this repository: ``` git clone <repository-url> cd <repository-directory> ``` 2. Install dependencies: ``` npm install ``` 3. Create a `.env` file in the root directory with your Salesforce credentials and API version: ``` SF_LOGIN_URL=https://your-instance.salesforce.com/ SF_USERNAME=your_username SF_PASSWORD=your_password SF_API_VERSION=58.0 ``` - For sandbox environments, use `https://test.salesforce.com/` as the login URL. - The `SF_API_VERSION` variable controls the Salesforce API version used by the integration. Update it as needed for your org. ## Usage ### Starting the MCP Server Run the server using Node.js: ``` node server.js ``` The server will connect to Salesforce using the credentials in your `.env` file and start listening for MCP requests. ### Executing SOQL Queries Once the server is running, you can execute SOQL queries through the MCP interface. The server provides a `soqlQuery` tool that accepts SOQL queries and returns the results. Example SOQL query: ```sql SELECT Id, Name, Status FROM Account LIMIT 5 ``` ### Listing Salesforce Flows You can list all the flows in your Salesforce org using the `retrieveMetadata` tool with the `Flow` metadata type. This will return all available flows and their metadata. ## Configuring mcpServers in Cursor To use this Salesforce MCP server with Cursor, add the following configuration to your `mcp.json` file in Cursor: ``` "mcpServers": { "mcp-salesforce": { "command": "node /absolute/path/to/your/project/root/server.js", "transport": "stdio", "args": [] } } ``` - Replace `/absolute/path/to/your/project/root/server.js` with the absolute path to your `server.js` file. - Make sure the server is started from the correct directory so it can find the `.env` file and dependencies. After adding this configuration to your `mcp.json`, you can connect to the Salesforce MCP server from within Cursor and use all the available tools. ## Project Structure - `server.js` - Main MCP server implementation and Salesforce connection setup - `tools.js` - All MCP tool definitions (SOQL, metadata, flows, etc.) - `.env` - Environment variables for Salesforce credentials and API version - `package.json` - Project dependencies and scripts ## Security Considerations - Never commit your `.env` file to version control - Add `.env` to your `.gitignore` file - Use environment variables for all sensitive information - Consider using a more secure authentication method for production environments ## Troubleshooting ### Connection Issues If you encounter connection issues: 1. Verify your Salesforce credentials in the `.env` file 2. Check that your Salesforce org is accessible 3. Ensure your IP address is whitelisted in Salesforce (if required) 4. Verify that your Salesforce user has API access ### Query Errors If your SOQL queries fail: 1. Check the SOQL syntax 2. Verify that the objects and fields exist in your org 3. Ensure your user has permission to access the objects and fields ## License [MIT License](LICENSE) ## Contributing Contributions are welcome! Please feel free to submit a Pull Request.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jogcruz/mcp_salesforce'

If you have feedback or need assistance with the MCP directory API, please join our Discord server