Token导航 LogoToken导航TokenDH.com
Salesforce CLI logo
开发工具未说明官方级别未说明来源级核验

Salesforce CLI

MCP Server

一个基于模型上下文协议(MCP)的本地服务器,使AI助手能够通过与Salesforce DX项目集成的CLI工具与Salesforce组织交互,执行Apex代码、查询数据、描述对象和管理Salesforce组织。

工具数

35

提示词数

0

GitHub Stars

0

资源数

0
开发工具TypeScriptClaude命令行工具Claude DesktopClaudeCursorVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

perrynet

提供方

perrynet

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Salesforce CLI MCP服务器

![License](https://github.com/perrynet/salesforce-cli-mcp-server/blob/main/LICENSE)

这是什么

Salesforce CLI MCP Server v2.0是一个模型上下文协议(MCP)服务器,它使AI助手能够通过基于项目的CLI集成与Salesforce组织进行交互。它提供的工具允许AI模型使用您的本地Salesforce DX项目配置执行Apex代码、查询数据、描述对象和管理Salesforce组织。

备注:这是从您的存储库运行的本地MCP服务器。它不是通过NPM分发的。\*适用于Mac,尚未在Windows/Linux上验证!

安装

先决条件

安装说明

  1. 克隆存储库:
   git clone https://github.com/perrynet/salesforce-cli-mcp-server.git
   cd salesforce-cli-mcp-server
  1. 安装依赖项并构建:
   npm install
   npm run build
  1. 编译后的服务器将在 build/index.js

将MCP配置添加到您的客户端

要使用此MCP服务器,您需要一个支持MCP协议的客户端。使用指向本地服务器的命令对其进行配置。

与Claude Desktop一起使用

  1. 安装 克劳德桌面 来自Anthropic。
  1. 克隆此存储库并运行 npm install && npm run build (请参阅上面的安装说明)。
  1. 在以下位置编辑配置文件:

- 雨衣: ~/Library/Application\ Support/Claude/claude_desktop_config.json - 窗户: C:\\Users\\YOUR_USERNAME\\AppData\\Roaming\\Claude\\claude_desktop_config.json

> 如果你找不到文件。 打开Claude Desktop,打开设置菜单,转到开发人员部分,然后单击服务器部分内的编辑配置。

  1. 将以下内容添加到您的配置文件中 "mcpServers" 钥匙(更换 /path/to/repo 使用实际路径):
   {
       "mcpServers": {
           "perrynet@salesforce-cli-server": {
               "command": "node",
               "args": ["/path/to/repo/salesforce-mcp-server/build/index.js"]
           }
       }
   }
  1. 重新启动Claude Desktop(退出并重新打开应用程序)。现在,您可以在Claude Desktop中使用MCP。

与Claude Code一起使用

  1. 安装 克劳德代码.
  1. 克隆此存储库并运行 npm install && npm run build.
  1. 在终端中执行以下命令(替换 /path/to/repo 使用实际路径):
   claude mcp add perrynet@salesforce-cli-server node /path/to/repo/salesforce-mcp-server/build/index.js

这将MCP服务器添加到用户范围中,以便跨所有项目进行全局访问。

与Codex CLI一起使用

克隆此存储库并构建服务器。然后通过添加以下命令来配置Codex CLI mcp服务器 部分在 ~/.codex/config.toml (替换 /path/to/repo 使用实际路径):

[mcp_servers.perrynet@salesforce-cli-server]
command = "node"
args = ["/path/to/repo/salesforce-mcp-server/build/index.js"]

与VS代码一起使用

  1. 克隆此存储库并运行 npm install && npm run build.
  2. 在VS Code中,按打开命令面板 Command + Shift + PCtrl + Shift + P.
  3. 键入“MCP添加”,选择 MCP: Add Server 选项。
  4. 选择 Command(stdio) 选项。
  5. 输入命令: node
  6. 输入参数: /path/to/repo/salesforce-mcp-server/build/index.js (替换为实际路径)
  7. 对于MCP服务器Id perrynet@salesforce-cli-server.
  8. 选择其中之一 GlobalWorkspace 安装选项。

替代方案:GitHub Copilot的工作区特定配置

如果你想为特定的VS Code工作区配置MCP服务器(对GitHub Copilot集成有用),请创建或编辑 .vscode/mcp.json 在工作区根目录中(替换 /path/to/repo 实际路径):

{
  "mcpServers": {
    "perrynet@salesforce-cli-server": {
      "command": "node",
      "args": [
        "/path/to/repo/salesforce-mcp-server/build/index.js"
      ]
    }
  }
}

此配置:

  • ✅ 在VS Code的GitHub Copilot Chat中启用Salesforce工具
  • ✅ 适用于特定的工作空间/项目
  • ✅ 打开工作区时自动激活
  • ✅ 无需全局配置

创建文件后,重新加载VS Code或重新启动Copilot扩展以使更改生效。

与光标一起使用

  1. 安装 光标
  1. 打开它并创建您的帐户,然后连接到模型提供商
  1. 打开 Cursor -> Settings -> Cursor Settings -> Mcp
  1. Add new global MCP Server
  1. 这将使您进入JSON配置的编辑器。填写密钥的值 salesforce-cli-mcp:
   {
       "mcpServers": {
           "salesforce-cli-mcp": {
               "command": "npx",
               "args": ["salesforce-cli-mcp"]
           }
       }
   }

> 如果mcpServer下有任何现有密钥,请不要删除它们。将salesforce-cli-mcp添加到末尾。

  1. 保存文件。回到 Cursor Settings 选项卡。您应该看到salesforce-cli-mcp已列出,圆点应该变为绿色。
  1. 打开 Composer 查看和切换 normalagent (输入底部的小文本)
  1. 您现在可以使用工具

配置

基于项目的身份验证

Salesforce MCP Server v2.0使用 基于项目的身份验证模型这意味着:

  • 不需要环境变量 -服务器使用您的本地Salesforce DX项目配置
  • 所有工具都需要 sourcePath 参数 -这是Salesforce DX项目目录的绝对路径
  • 用途 .sf/config.json -服务器从您的项目中读取组织身份验证 .sf 目录
  • 基于文件系统的访问控制 -访问权限由项目目录上的文件权限控制

需求

为了使服务器正常工作,您需要:

  1. 有效的Salesforce DX项目结构 带着一个 .sf 目录
  2. 经过身份验证的组织 在项目中配置(通过 sf org login 或默认组织设置)
  3. Salesforce CLI已安装 并可在您的PATH中访问

项目结构示例

/Users/yourname/sf-projects/my-salesforce-app/
├── .sf/
│   └── config.json          # Contains org configuration
├── force-app/
│   └── main/
│       └── default/
├── sfdx-project.json
└── ...

使用工具时,您将提供项目路径:

sourcePath: "/Users/yourname/sf-projects/my-salesforce-app"

目标组织选择

大多数工具都接受可选 targetOrg 参数:

  • 如果提供:使用指定的组织别名或用户名
  • 如果省略:使用项目中配置的默认组织 .sf/config.json

这使您可以灵活地与同一项目中的多个组织合作。

身份验证设置

在使用MCP服务器之前,请确保您的Salesforce DX项目已正确配置:

# Navigate to your Salesforce DX project
cd /path/to/your/salesforce-project

# Login to your org (if not already authenticated)
sf org login web --alias my-dev-org

# Set as default org (optional)
sf config set target-org my-dev-org

# Verify authentication
sf org list

一旦通过身份验证,MCP服务器将在您提供项目路径时使用此配置。

如何使用它

在您的AI客户端中配置SF MCP服务器后,您可以使用自然语言与Salesforce进行交互。AI助手将可以使用36个强大的工具:

可用工具

1.列出连接的Salesforce组织

查看当前已通过Salesforce CLI身份验证的所有Salesforce组织。

示例提示:

  • “显示所有连接的Salesforce组织”
  • “列出我可用的Salesforce组织”
  • “我可以访问哪些Salesforce组织?”

2.列出组织中的对象

检索特定Salesforce组织中可用的所有标准和自定义对象。

示例提示:

  • “列出我的开发组织中的所有自定义对象”
  • “显示生产组织中的所有对象”
  • “沙盒1中存在哪些自定义对象?”

3.描述一个对象

获取特定Salesforce对象的详细元数据,包括字段、关系和属性。

示例提示:

  • “描述我组织中的Account对象”
  • “显示开发组织中Custom_Object\_\_c上的所有字段”
  • “Contact对象上的关系是什么?”

4.执行Apex代码

直接在Salesforce组织中运行匿名Apex代码,并查看调试输出。

示例提示:

  • “在我的开发组织中执行此Apex:System.debug('Hello World');”
  • “在Apex中运行查询以统计所有帐户”
  • “执行Apex代码以创建测试帐户记录”

5.查询记录

执行SOQL查询并以JSON格式检索结果。

示例提示:

  • “查询我所在组织的前10个帐户”
  • “查找电子邮件域为'@example.com'的所有联系人”
  • “本月关闭金额超过10000美元的机会”
  • “查询今天创建的所有案例记录”

6.查询要归档的记录

执行SOQL查询并将结果保存到CSV或JSON文件。

示例提示:

  • “将所有线索导出到CSV文件”
  • “将2024年第四季度的所有商机保存到JSON文件中”
  • “创建帐户及其相关联系人的CSV导出”

7.运行Apex测试

使用各种选项执行Apex测试类,包括测试级别和代码覆盖率。

示例提示:

  • “运行我的开发组织中的所有测试”
  • “使用代码覆盖率执行AccountTriggerTest类”
  • “运行所有本地测试,不包括托管包”

8.获取Apex测试结果

检索以前异步Apex测试运行的结果。

示例提示:

  • “获取测试运行ID 707xx0000000001的结果”
  • “显示上次测试运行的代码覆盖率”

9.获得Apex代码覆盖率

获取Salesforce组织的代码覆盖率信息。

示例提示:

  • “我的组织中的总体代码覆盖率是多少?”
  • “显示最新测试运行的代码覆盖率”

10.生成Apex类

为新的Apex类生成元数据源文件。

示例提示:

  • “生成一个名为AccountHelper的新Apex类”
  • “创建一个名为MyCustomController的Apex控制器类”
  • “在classes目录中生成一个名为DataCleanupBatch的批处理类”

11.生成顶点触发器

为新的Apex触发器生成元数据源文件。

示例提示:

  • “为Account对象生成一个名为AccountTrigger的触发器”
  • “为Contact对象创建插入前触发器”
  • “为MyCustomObject\_\_c生成更新后触发器”

12.列出Apex日志

从组织中获取并列出Apex调试日志。

示例提示:

  • “显示我的开发组织中的所有Apex调试日志”
  • “列出生产中最近的调试日志”
  • “获取沙盒中调试日志的ID”

13.获取Apex日志

从组织中获取特定的Apex调试日志或最近的日志。

示例提示:

  • “获取ID为07L的调试日志…”
  • “显示我所在组织的最后5个调试日志”
  • “从生产环境中获取最新的调试日志”

14.登录Salesforce组织

通过web浏览器验证并登录Salesforce组织。

示例提示:

  • “使用别名'prod'登录到新的生产组织”
  • “连接到别名为“dev sandbox”的沙盒”

15.运行代码分析器

使用可配置规则分析代码,以确保良好的编码实践。

示例提示:

  • “在所有Apex类上运行代码分析器”
  • “分析我的Lightning Web组件的安全问题”
  • “检查强制应用程序目录上的PMD规则”

16.列表代码分析器规则

列出代码分析的可用规则。

示例提示:

  • “显示所有可用的代码分析器规则”
  • “列出与安全相关的代码分析规则”
  • “有哪些ESLint规则可用?”

17.扫描仪运行

使用多个引擎扫描具有各种安全和质量规则的代码库。

示例提示:

  • “扫描所有Apex文件以查找安全漏洞”
  • “在我的代码库上运行PMD和ESLint扫描程序”
  • “检查我的JavaScript文件中是否存在退役js漏洞”
  • “使用高严重性阈值进行扫描并将结果保存到CSV”

18.扫描仪运行DFA

运行Salesforce Graph Engine进行数据流分析,以识别复杂的安全问题。

示例提示:

  • “在我的Apex控制器上运行数据流分析”
  • “使用图形引擎检查SOQL注入漏洞”
  • “对所有Apex类执行基于路径的安全分析”
  • “在启用试点规则的情况下运行DFA”

19.分配权限集

将权限集分配给一个或多个组织用户。

示例提示:

  • “将DreamHouse权限集分配给我的开发组织中的管理员用户”
  • “授予CloudHouse和AppBuilder权限集user@example.com"
  • “为沙盒中的用户列表分配多个权限集”

20.分配权限集许可证

为组织用户分配权限集许可证。

示例提示:

  • “将Sales Cloud许可证分配给user@example.com"
  • “向多个用户授予服务云权限集许可证”
  • “将平台事件许可证分配给管理员用户”

21.显示用户

显示Salesforce用户的信息,包括个人资料、组织ID和访问详细信息。

示例提示:

  • “显示我组织中管理员用户的信息”
  • “显示用户详细信息user@example.com"
  • “获取当前用户的配置文件和访问令牌”

22.列表元数据

列出指定类型的元数据组件和属性。

示例提示:

  • “列出我组织中的所有CustomObject组件”
  • “显示Sales文件夹中的所有仪表板组件”
  • “使用API版本60.0获取所有EmailTemplate元数据”
  • “列出布局组件并保存到文件”

23.列出元数据类型

显示为您的组织启用的所有元数据类型的详细信息。

示例提示:

  • “显示我组织中所有可用的元数据类型”
  • “列出用于创建package.xml的元数据类型”
  • “使用API版本60.0获取所有启用的元数据类型”
  • “显示元数据类型并保存到文件以供参考”

24.注销

退出Salesforce组织,删除存储的身份验证。

示例提示:

  • “退出我的开发组织”
  • “删除沙盒1的身份验证”
  • “从所有连接的组织中注销”

25.打开

在浏览器中打开Salesforce组织。

示例提示:

  • “在Chrome中打开我的开发组织”
  • “在我的沙盒中打开闪电体验页面”
  • “以私人/匿名模式打开我的组织”
  • “在生产中打开Visualforce页面/apex/MyPage”
  • “在Lightning App Builder中打开我的FlexiPage”

26.开放记录

在浏览器中打开特定的Salesforce记录。

示例提示:

  • “在我的开发组织中打开记录001XX0000XXXXX”
  • “导航到生产中的帐户记录001…”
  • “在浏览器中显示联系人记录003…”

27.创建记录

使用REST API在Salesforce组织中创建一个新记录。

示例提示:

  • “创建一个名为‘Acme Corp’并键入‘Customer’的新帐户”
  • “插入一条联系人记录,名字为‘John’,姓氏为‘Doe’”
  • “创建主题为“技术问题”且优先级为“高”的案例”
  • “通过公司‘技术创业’和电子邮件添加新的Lead”lead@example.com'"

28.更新记录

使用REST API更新Salesforce组织中的现有记录。

示例提示:

  • “更新帐户001XX…将BillingCity设置为‘旧金山’”
  • “将商机006XX…的状态更改为‘已关闭的韩元’”
  • “用电话‘(555)123-4567’更新联系人003XX…”
  • “修改案例500XX…将优先级设置为‘关键’”

29.删除记录

使用REST API从Salesforce组织中删除记录。

示例提示:

  • “删除帐户记录001XX…”
  • “从组织中删除联系人003XX…”
  • “删除潜在客户记录00QXX…”
  • “删除测试用例记录500XX…”

30.包装安装

在Salesforce组织中安装或升级软件包版本。

示例提示:

  • “在我的开发组织中安装包04tXXXXXXXXXXXXXX”
  • “升级ID为04t的包…在生产环境中等待10分钟”
  • “在沙盒中安装密钥为'mykey123'的受保护包”
  • “安装包并仅编译包Apex代码”
  • “升级解锁的软件包并弃用已删除的组件”

31.卸载软件包

从Salesforce组织卸载第二代软件包。

示例提示:

  • “从我的开发组织卸载包04tXXXXXXXXXXXXXX”
  • “从生产环境中删除别名为'old_package'的包”
  • “卸载程序包并等待5分钟完成”
  • “从沙盒中删除别名中有空格的包”

32.模式生成选项卡

为自定义对象上的新自定义选项卡生成元数据源文件。

示例提示:

  • “在tabs目录中为MyObject\_\_c创建一个带有图标54的选项卡”
  • “为Invoice\_\_c对象生成一个带有图标25的自定义选项卡”
  • “为Customer\_\_c添加一个导航选项卡,图标75位于app/main/default/tabs中”
  • “使用默认图标为Product\_\_c自定义对象创建选项卡”

33.搜索记录

跨多个对象执行基于SOSL文本的搜索。这是在Salesforce组织中查找提及或包含特定文本的记录的主要工具。

示例提示:

  • “在所有姓名字段中搜索‘Anna Jones’”
  • “在所有对象中查找包含‘Acme’的记录”
  • “在联系人和潜在客户中搜索电话号码‘415-555-1234’”
  • “查找所有在客户、机会和案例中提到我们的竞争对手‘Acme Corp’的记录”
  • “执行SOSL:在所有领域找到{Smith}返回联系人、负责人”

34.生成闪电组件

使用可配置的模板和输出目录生成Lightning Web组件(LWC)或Aura组件。

示例提示:

  • “生成一个名为AccountList的闪电网络组件”
  • “在组件目录中创建一个名为ContactForm的Aura组件”
  • “使用名为SalesMetrics的analyticsDashboard模板生成LWC”
  • “使用默认模板创建Lightning组件MyCustomView”

35.将元数据部署到组织

使用各种配置选项(包括测试执行)将元数据组件部署到Salesforce组织。

示例提示:

  • “将所有元数据从强制应用目录部署到我的开发组织”
  • “使用所有测试验证部署到生产环境,但不保存(模拟运行)”
  • “将与‘Account\*’模式匹配的特定Apex类部署到沙盒”
  • “使用package.xml清单和RunLocalTests进行部署”
  • 部署元数据并运行特定的测试类:TestClass1、TestClass2

实例

示例1:数据分析

User: "I need to analyze our customer data. First, show me what custom objects we have in the production org."

AI: [Lists all custom objects]

User: "Great! Now query all Customer__c records created this year and export them to CSV."

AI: [Executes query and creates CSV file]

示例2:调试

User: "I'm having issues with a trigger. Can you execute this Apex to test it:
List accs = [SELECT Id, Name FROM Account LIMIT 5];
for(Account a : accs) {
    System.debug('Account: ' + a.Name);
}"

AI: [Executes the code and shows debug logs]

示例3:架构文档

User: "I need to document our data model. Can you describe the Order__c object including all its fields and relationships?"

AI: [Provides detailed object metadata]

最佳结果提示

  1. 提供您的项目路径:使用AI助手时,请提及您的Salesforce DX项目目录:

- “在/Users/myname/sfdx projects/my app中使用我的Salesforce项目” - “在~/workspace/salesforce应用程序中处理项目” - AI将使用此路径进行所有后续工具调用

  1. 指定目标组织 (可选):说明要使用哪个组织别名,或依赖项目的默认组织:

- “从我的开发沙盒组织查询帐户” - “在生产组织中运行测试” - 如果省略,则使用项目的默认组织配置

  1. 具体询问:为SOQL查询提供字段名称和条件

- 好:“查询类型为'客户'的帐户记录,并显示Id、名称和CreatedDate” - 不太具体:“获取一些帐户”

  1. 对象名称:您可以使用用户友好的名称或API名称-AI助手将使用描述工具找到正确的API名称

- 两者都可以:“查询自定义对象记录”或“查询Custom_Object\_\_c记录” - 助手也会自动解析字段名

  1. Apex代码格式:提供Apex代码时,可以使用代码块或内联代码
  1. 文件导出:导出查询结果时指定格式(CSV或JSON)

故障排除

项目路径问题

“路径不存在”“不是目录”:

  • 验证路径是否正确和绝对(例如。, /Users/name/projects/my-sf-app,不 ~/projects/my-sf-app)
  • 确保您对该目录具有读取权限
  • 检查路径中的拼写错误

“找不到.sf目录”:

  • 您的项目必须具有 .sf 目录与 config.json
  • sf org list 在项目目录中初始化 .sf 目录
  • 确保您指向的是项目根目录,而不是子目录

“路径为空”:

  • sourcePath 大多数工具都需要参数
  • 提供Salesforce DX项目目录的绝对路径

身份验证问题

“未找到经过身份验证的组织”“未找到组织”:

  • sf org login web 在项目目录中进行身份验证
  • 验证身份验证 sf org list
  • 检查您的访问令牌是否未过期

“访问/刷新令牌过期”:

  • 重新验证: sf org login web --alias my-org
  • 某些组织需要定期重新身份验证

一般问题

“找不到对象”:

  • 验证对象是否存在,并且您正在使用正确的API名称
  • 使用 sobject_list 查看所有可用对象的工具

“查询错误”:

  • 检查您的SOQL语法和字段名
  • 使用 sobject_describe 查看可用字段的工具

“Apex执行失败”:

  • 查看调试日志中的特定错误消息
  • 确保您在组织中拥有适当的权限

“找不到命令:sf”:

  • 安装Salesforce CLI:https://developer.salesforce.com/tools/salesforcecli
  • 确保 sf 在您的系统PATH中
  • 安装CLI后重新启动AI客户端

安全考虑

  • 服务器使用经过身份验证的Salesforce用户的权限执行命令
  • 在生产组织中执行DML操作时要小心
  • 执行前检查Apex代码,特别是在生产环境中
  • 考虑使用沙盒组织进行测试和开发

目录标签

目录标签

开发工具TypeScriptClaude命令行工具Salesforce集成本地部署AI助手工具CLI工具MCP协议

支持客户端

Claude DesktopClaudeCursorVS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

35

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP