Salesforce MCP集成工具

该项目提供了一个使用模型上下文协议(MCP)与Salesforce集成的基本示例,支持通过MCP工具与Salesforce功能交互,如发送电子邮件和部署Apex代码。

  • by lciesielski
  • JavaScript
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 lciesielski/mcp-salesforce-example

使用说明

Salesforce MCP示例集成

该项目提供了一个使用模型上下文协议(MCP)与Salesforce集成的基本示例。它允许与Salesforce功能进行交互,例如通过MCP工具发送电子邮件和部署Apex代码。

先决条件

  • 安装了Node.js和npm(或yarn)。
  • Salesforce组织,您可以在其中创建互联应用程序。

设置

  1. 安装依赖关系:

    npm install
    # or
    yarn install
    
  2. 配置Salesforce凭据:

    • 你必须创建一个 credentials.js 文件内 utils 文件夹(./utils/credentials.js).
    • 此文件需要导出一个函数 getSalesforceCredentials() 它返回JWT Bearer Flow身份验证所需的Salesforce连接详细信息。
    • 重要提示: 确保你有一个 Salesforce中配置的已连接应用程序 对于JWT身份验证,允许适当的范围并预先授权相关的用户配置文件。

    utils/credentials.js 例子:

    import fs from 'fs';
    import path from 'path';
    // You might load these from environment variables, a config file, etc.
    
    export function getSalesforceCredentials() {
        // --- IMPLEMENT YOUR LOGIC HERE to securely load credentials ---
        const loginUrl = "YOUR_SALESFORCE_LOGIN_URL"; // e.g., https://login.salesforce.com or https://yourdomain.my.salesforce.com
        const username = "YOUR_SALESFORCE_USERNAME";
        const clientId = "YOUR_CONNECTED_APP_CONSUMER_KEY";
        // Load your private key used to sign the JWT assertion
        // Ensure the key is formatted correctly, including BEGIN/END lines.
        const privateKey = fs.readFileSync(path.resolve(__dirname, 'path/to/your/server.key'), 'utf8'); 
        // Example: const privateKey = process.env.SF_PRIVATE_KEY;
    
        if (!loginUrl || !username || !clientId || !privateKey) {
             throw new Error("Missing required Salesforce credentials in utils/credentials.js");
        }
    
        return {
            loginUrl,
            username,
            clientId,
            privateKey
        };
    }
    
  3. 配置文件:

    • 存储库包括一个示例 claude_desktop_config.json 该文件可用作配置MCP服务器的模板。
    • 根据您的环境设置更新此文件中的路径和凭据。

运行服务器

node server.js

演示

https://github.com/user-attachments/assets/08c8015a-bc57-4c5e-9f3d-4a9d9d310f4c

视频质量更高.