项目简介

Salesforce MCP 服务器是 Model Context Protocol (MCP) 的一种实现,专为连接大型语言模型 (LLM) 与 Salesforce 环境而设计。它允许 LLM 通过标准化的方式安全地访问和操作 Salesforce 组织中的资源和功能。

主要功能点

该服务器提供一系列工具,使 LLM 能够:

  • 管理 Salesforce 组织: 列出已配置的 Salesforce 组织,并获取特定组织(包括默认组织)的用户名或别名。
  • 管理 Salesforce 数据: 对 Salesforce 组织执行 SOQL 查询。
  • 管理 Salesforce 用户: 为 Salesforce 用户分配权限集。
  • 管理 Salesforce 元数据: 部署和检索 Salesforce 元数据到本地项目。

项目设计高度重视安全性,通过直接使用 TypeScript 库、不暴露明文密钥、以及细粒度的组织访问控制(仅允许访问服务器启动时指定的组织)来保障安全。

安装步骤

该服务器是一个 Node.js 包,您需要先安装 Node.js 和 npm(或 yarn, pnpm)。

  1. 全局安装: 打开终端,运行以下命令全局安装 Salesforce MCP 服务器:
    npm install -g @salesforce/mcp
    或者使用 'npx' 直接运行而无需全局安装,如下面的配置所示。

服务器配置

MCP 服务器由 MCP 客户端启动和管理。要使用 Salesforce MCP 服务器,您需要在您的 MCP 客户端(如 Claude Desktop, Zed, Cursor 等支持 MCP 的应用)的配置中添加相应的服务器信息。配置通常是一个 JSON 格式,包含服务器名称、启动命令和参数。

以下是配置示例(具体的配置路径和格式可能因客户端而异,请参考您的 MCP 客户端文档):

// 示例 MCP 客户端配置片段
{
  "mcpServers": {
    "salesforce": { // 服务器名称,您可以自定义
      "command": "npx", // 启动服务器的命令
      "args": [ // 传递给服务器的参数
        "-y", // npx 参数,自动确认安装
        "@salesforce/mcp", // Salesforce MCP 服务器包名
        // 以下是传递给 sf-mcp-server 的参数,用于控制服务器行为和允许访问的组织
        // 您必须指定至少一个允许访问的组织
        "DEFAULT_TARGET_ORG" // 示例:允许访问本地和全局默认组织
        // 其他允许的参数值(作为命令行参数传递给 @salesforce/mcp):
        // "DEFAULT_TARGET_DEV_HUB" - 允许访问本地和全局默认开发中心组织
        // "ALLOW_ALL_ORGS" - **慎用**:允许访问所有已认证的组织
        // "<username or alias>" - 允许访问特定的 Salesforce 组织(指定用户名或别名)
        // 多个组织或特殊值用逗号分隔作为同一个参数值传递,例如:
        // "[email protected],my-alias,DEFAULT_TARGET_DEV_HUB"
        //
        // 您还可以使用 --toolsets 或 -t 参数来启用特定的工具集(默认为 all):
        // "--toolsets", "orgs,data" // 示例:只启用组织管理和数据管理工具集
        // 可用的工具集:all (默认), orgs, data, users, metadata
      ]
    }
  }
}

重要提示: 在 'args' 中指定的组织(如 '"DEFAULT_TARGET_ORG"' 或 '"[email protected]"')决定了该 MCP 服务器实例可以访问哪些 Salesforce 组织。这是重要的安全控制措施。

基本使用方法

一旦在您的 MCP 客户端中配置并启动了 Salesforce MCP 服务器,LLM 客户端将自动检测到服务器提供的能力(工具)。当您向 LLM 提出与 Salesforce 相关的请求时(例如“列出我的 Salesforce 组织”、“查询客户数据”),LLM 会自动调用相应的服务器工具来完成任务,并将结果呈现给您。您无需直接与服务器进行命令行交互。

信息

分类

商业系统