使用说明
Salesforce MCP示例集成
该项目提供了一个使用模型上下文协议(MCP)与Salesforce集成的基本示例。它允许与Salesforce功能进行交互,例如通过MCP工具发送电子邮件和部署Apex代码。
先决条件
- 安装了Node.js和npm(或yarn)。
- Salesforce组织,您可以在其中创建互联应用程序。
设置
-
安装依赖关系:
npm install # or yarn install -
配置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 }; } - 你必须创建一个
-
配置文件:
- 存储库包括一个示例
claude_desktop_config.json该文件可用作配置MCP服务器的模板。 - 根据您的环境设置更新此文件中的路径和凭据。
- 存储库包括一个示例
运行服务器
node server.js
演示
https://github.com/user-attachments/assets/08c8015a-bc57-4c5e-9f3d-4a9d9d310f4c
