返回市场
MCP销售力量示例服务器

MCP销售力量示例服务器

作者:lciesielski5 星标更新:2025-03-30

项目介绍

Salesforce MCP 示例集成

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

预备条件

  • 已安装Node.js和npm(或yarn)。
  • 一个可以在其中创建已连接应用程序的Salesforce组织。

设置

  1. 安装依赖项:

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

    • 您必须在utils文件夹中创建一个名为credentials.js的文件(./utils/credentials.js)。
    • 此文件需要导出一个函数getSalesforceCredentials(),该函数返回用于JWT承载流身份验证所需的Salesforce连接详情。
    • **重要:**确保您已在Salesforce中配置了已连接的应用程序,以支持JWT认证,并允许适当的范围以及预先授权的相关用户配置文件。

    utils/credentials.js示例:

    import fs from 'fs';
    import path from 'path';
    // 您可以从环境变量、配置文件等加载这些信息。
    
    export function getSalesforceCredentials() {
        // --- 在此处实现逻辑以安全地加载凭据 ---
        const loginUrl = "YOUR_SALESFORCE_LOGIN_URL"; // 例如,https://login.salesforce.com 或 https://yourdomain.my.salesforce.com
        const username = "YOUR_SALESFORCE_USERNAME";
        const clientId = "YOUR_CONNECTED_APP_CONSUMER_KEY";
        // 加载用于签署JWT断言的私钥
        // 确保密钥格式正确,包括BEGIN/END行。
        const privateKey = fs.readFileSync(path.resolve(__dirname, 'path/to/your/server.key'), 'utf8');
        // 示例:const privateKey = process.env.SF_PRIVATE_KEY;
    
        if (!loginUrl || !username || !clientId || !privateKey) {
             throw new Error("缺少必要的Salesforce凭据,请检查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

更高清晰度的视频