← 返回目录
S

Salesforce MCP Server

社区
通过自然语言将Claude与Salesforce集成,实现数据与元数据管理
GitHub 源仓库 ↗
★ 167 Stars 分类 · 其他 非常热门 源版本 98e2ad5d9e28
48FMRS · D
可靠性
8/20
安全与权限
4/20
维护活跃度
7/20
文档质量
15/20
安装易用性
14/20

该服务器功能丰富,支持多种Salesforce操作,但需要仔细配置认证和环境。它是一个社区维护的项目,非官方,适合开发者用于自然语言与Salesforce交互,但使用时需注意安全性和兼容性。

查看 FMRS 评分方法 →

这是一个MCP(模型上下文协议)服务器实现,将Claude与Salesforce集成,使您能够使用日常语言查询、修改和管理Salesforce对象和记录。它支持对象和字段管理、智能对象搜索、详细的模式信息、灵活的数据查询、数据操作、跨对象搜索、Apex代码管理以及直观的错误处理。该服务器还支持多种认证方式,包括用户名/密码、OAuth 2.0客户端凭据流、Salesforce CLI和直接访问令牌,并可在Docker容器中运行。

工具能力

salesforce_search_objects
搜索标准对象和自定义对象,支持部分名称匹配。
salesforce_describe_object
获取对象的详细模式信息,包括字段定义、关系、选择列表值。
salesforce_query_records
查询记录,支持父子关系和复杂WHERE条件。
salesforce_aggregate_query
执行带GROUP BY的聚合查询,支持COUNT、SUM、AVG等聚合函数和HAVING子句。
salesforce_dml_records
执行数据操作,包括插入、更新、删除和基于外部ID的upsert。
salesforce_manage_object
创建和修改自定义对象,包括更新对象属性和共享设置。
salesforce_manage_field
管理对象字段,包括添加自定义字段、修改字段属性和创建关系,默认自动授予系统管理员字段级安全性。
salesforce_manage_field_permissions
管理字段级安全性(字段权限),授予或撤销特定配置文件对字段的读写权限,并支持批量更新。
salesforce_search_all
跨多个对象进行SOSL搜索,支持多个对象和字段片段。
salesforce_read_apex
读取Apex类,包括获取完整源代码、按名称模式列出类和查看元数据,支持通配符。
salesforce_write_apex
创建和更新Apex类,包括指定API版本。
salesforce_read_apex_trigger
读取Apex触发器,包括获取完整源代码、按名称模式列出触发器和查看元数据,支持通配符。
salesforce_write_apex_trigger
创建和更新Apex触发器,包括指定API版本和事件操作。
salesforce_execute_anonymous
执行匿名Apex代码,无需创建持久类,可查看调试日志和结果。
salesforce_manage_debug_logs
管理调试日志,包括启用或禁用、检索日志和配置日志级别(NONE到FINEST)。

安装接入

  1. 确保Node.js 20+(不支持bun)。2. 使用npm全局安装:npm install -g @tsmztech/mcp-server-salesforce。3. 在Claude Desktop中配置claude_desktop_config.json,根据所选认证方式设置环境变量(如用户/密码、OAuth、CLI或访问令牌)。4. 或者使用Docker:克隆仓库、构建镜像、运行容器,并配置MCP客户端。
claude_desktop_config.json
{"mcpServers":{"salesforce":{"command":"npx","args":["-y","@tsmztech/mcp-server-salesforce"],"env":{"SALESFORCE_CONNECTION_TYPE":"User_Password","SALESFORCE_USERNAME":"your_username","SALESFORCE_PASSWORD":"your_password","SALESFORCE_TOKEN":"your_security_token","SALESFORCE_INSTANCE_URL":"org_url"}}}}

选型与风险

适合谁

  • 希望使用自然语言与Salesforce交互的开发者和管理员。
  • 需要桥接Claude与Salesforce以进行数据操作或元数据管理的团队。
  • 在Node.js环境中运行,并支持多种认证方式的企业环境。

不适合谁

  • 不支持bun运行时,必须使用Node.js。
  • 不适合需要图形界面或非命令行交互的场景。
  • 如果对安全性要求极高,可能需要仔细配置认证方式,避免使用过时的默认API版本。

所需权限

  • 需要Salesforce账户凭据,包括用户名/密码+安全令牌,或OAuth客户端凭据,或访问令牌。
  • 需要适当的Salesforce权限来执行读写操作,例如创建对象、字段、Apex代码等。
  • 对于Salesforce CLI认证,需要已认证的CLI环境。

风险与副作用

  • 错误配置可能导致数据损坏或意外修改,例如使用DML工具时。
  • 如果API版本过旧,可能无法访问新标准对象,导致功能受限。
  • 直接使用访问令牌可能带来安全风险,如果令牌泄露。
  • Docker容器中无法使用CLI的OAuth登录流程,可能导致认证失败。

常见排障

  1. 确保使用Node.js而不是bun运行服务器,以避免HTTP传输挂起。
  2. 检查环境变量是否正确设置,特别是`SALESFORCE_INSTANCE_URL`对于OAuth是必需的。
  3. 如果遇到`sObject type not supported`错误,请设置`SALESFORCE_API_VERSION`环境变量,例如`62.0`。
  4. 对于Docker,确保使用环境变量认证,而不是CLI登录。
  5. 如果使用用户名/密码认证,请确认安全令牌正确。

使用场景

通过自然语言创建和修改自定义对象、字段以及字段级安全性。
查询和聚合Salesforce记录,包括跨对象搜索和复杂过滤。
管理Apex类和触发器,包括读取、创建和更新。
执行匿名Apex代码进行数据操作或批处理。
启用和检索调试日志以进行故障排除。

支持客户端

Claude Desktop完整支持