关于 Salesforce MCP Sample Integration
Salesforce MCP Sample Integration 是连接 Salesforce 功能与 MCP 的基础示例,面向探索 MCP 工具的开发者,可用于发送邮件和部署 Apex 代码。
主要功能
- 01使用 JWT Bearer Flow 连接 Salesforce
- 02提供发送邮件的 MCP 工具
- 03提供部署 Apex 代码的 MCP 工具
适用场景
- 01通过 MCP 客户端使用 Salesforce 发送邮件
- 02通过 MCP 客户端部署 Apex 代码
MCP 相关
该项目实现 MCP 服务,将 Salesforce 邮件发送和 Apex 部署作为工具提供。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Salesforce MCP 示例集成
本项目提供了一个使用 Model Context Protocol(MCP)与 Salesforce 集成的基础示例。它支持通过 MCP 工具与 Salesforce 的功能交互,例如发送电子邮件和部署 Apex 代码。
先决条件
- 已安装 Node.js 和 npm(或 yarn)。
- 拥有一个可创建 Connected App 的 Salesforce 组织。
设置
-
安装依赖项:
npm install # or yarn install -
配置 Salesforce 凭据:
- 必须在
utils文件夹中创建credentials.js文件(./utils/credentials.js)。 - 此文件需要导出一个函数
getSalesforceCredentials(),该函数会返回 JWT Bearer Flow 身份验证所需的 Salesforce 连接详情。 - 重要: 请确保已在 Salesforce 中配置 Connected App以进行 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("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
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。