返回市场
销售力服务器

销售力服务器

作者:tsmztech112 星标更新:2025-11-24

项目介绍

Salesforce MCP Server

OpenSSF Scorecard

这是一个实现MCP(模型上下文协议)服务器,它将Claude与Salesforce集成在一起,使您能够使用自然语言与Salesforce的数据和元数据进行交互。此服务器允许Claude使用日常语言查询、修改和管理您的Salesforce对象和记录。

<a href="https://glama.ai/mcp/servers/kqeniawbr6"> <img width="380" height="200" src="https://gips0.baidu.com/it/u=3904942029,3840857881&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Salesforce Server MCP server" /> </a>

功能

  • 对象和字段管理:使用自然语言创建和修改自定义对象和字段
  • 智能对象搜索:通过部分名称匹配查找Salesforce对象
  • 详细的模式信息:获取任何对象的全面字段和关系细节
  • 灵活的数据查询:支持关系和复杂过滤器的数据查询
  • 数据操作:轻松插入、更新、删除和upsert记录
  • 跨对象搜索:使用SOSL在多个对象之间搜索
  • Apex代码管理:读取、创建和更新Apex类和触发器
  • 直观的错误处理:提供带有Salesforce特定错误详情的清晰反馈
  • 可切换的身份验证:支持多个组织。根据VS Code工作区中配置的默认组织轻松切换活动的Salesforce组织(使用Salesforce_CLI身份验证以启用此功能)。

安装

全局安装(npm)

npm install -g @tsmztech/mcp-server-salesforce

Claude Desktop快速安装

为了便于与Claude Desktop一起设置,请下载预配置的扩展:

  1. claude-desktop/文件夹下载salesforce-mcp-extension.dxt
  2. 打开Claude Desktop → 设置 → 扩展
  3. .dxt文件拖放到扩展窗口中
  4. 按提示配置您的Salesforce凭据

对于手动Claude Desktop配置,请参阅下面的“与Claude Desktop一起使用”部分。

工具

salesforce_search_objects

搜索标准和自定义对象:

  • 通过部分名称匹配搜索
  • 查找标准和自定义对象
  • 示例:"查找与账户相关的对象"将找到Account、AccountHistory等。

salesforce_describe_object

获取详细对象模式信息:

  • 字段定义和属性
  • 关系详情
  • 下拉列表值
  • 示例:"显示Account对象中的所有字段"

salesforce_query_records

支持关系的数据查询:

  • 父到子的关系
  • 子到父的关系
  • 复杂的WHERE条件
  • 示例:"获取所有账户及其相关联系人"
  • 注意:对于包含GROUP BY或聚合函数的查询,请使用salesforce_aggregate_query

salesforce_aggregate_query

执行包含GROUP BY的聚合查询:

  • 对单个或多个字段进行GROUP BY
  • 聚合函数:COUNT、COUNT_DISTINCT、SUM、AVG、MIN、MAX
  • 使用HAVING子句过滤分组结果
  • 日期/时间分组函数
  • 示例:"按阶段计算机会数量"或"查找拥有超过10个机会的账户"

salesforce_dml_records

执行数据操作:

  • 插入新记录
  • 更新现有记录
  • 删除记录
  • 使用外部ID进行upsert
  • 示例:"更新多个账户的状态"

salesforce_manage_object

创建和修改自定义对象:

  • 创建新的自定义对象
  • 更新对象属性
  • 配置共享设置
  • 示例:"创建客户反馈对象"

salesforce_manage_field

管理对象字段:

  • 添加新的自定义字段
  • 修改字段属性
  • 创建关系
  • 默认情况下自动授予系统管理员字段级别的安全性
  • 使用grantAccessTo参数指定不同的配置文件
  • 示例:"在Account上添加一个评级下拉列表字段"

salesforce_manage_field_permissions

管理字段级别的安全性(字段权限):

  • 授予或撤销特定配置文件对字段的读/写访问权限
  • 查看当前字段权限
  • 批量更新多个配置文件的权限
  • 在字段创建后或对现有字段进行管理时非常有用
  • 示例:"授予系统管理员对Account上的Custom_Field__c的访问权限"

salesforce_search_all

跨多个对象搜索:

  • 基于SOSL的搜索
  • 支持多个对象
  • 字段片段
  • 示例:"在Accounts和Opportunities中搜索'cloud'"

salesforce_read_apex

读取Apex类:

  • 获取特定类的完整源代码
  • 列出匹配名称模式的类
  • 查看类元数据(API版本、状态等)
  • 名称模式支持通配符(* 和 ?)
  • 示例:"显示AccountController类"或"查找所有匹配AccountCont的类"

salesforce_write_apex

创建和更新Apex类:

  • 创建新的Apex类
  • 更新现有的类实现
  • 指定API版本
  • 示例:"为处理账户操作创建一个新的Apex类"

salesforce_read_apex_trigger

读取Apex触发器:

  • 获取特定触发器的完整源代码
  • 列出匹配名称模式的触发器
  • 查看触发器元数据(API版本、对象、状态等)
  • 名称模式支持通配符(* 和 ?)
  • 示例:"显示AccountTrigger"或"查找Contact对象的所有触发器"

salesforce_write_apex_trigger

创建和更新Apex触发器:

  • 为特定对象创建新的Apex触发器
  • 更新现有的触发器实现
  • 指定API版本和事件操作
  • 示例:"为Account对象创建一个新的触发器"或"更新Lead触发器"

salesforce_execute_anonymous

执行匿名Apex代码:

  • 运行不创建永久类的Apex代码
  • 查看调试日志和执行结果
  • 对于其他工具不直接支持的数据操作非常有用
  • 示例:"执行Apex代码以计算账户指标"或"运行脚本以更新相关记录"

salesforce_manage_debug_logs

管理Salesforce用户的调试日志:

  • 为特定用户启用调试日志
  • 禁用活动的调试日志配置
  • 检索并查看调试日志
  • 配置日志级别(NONE、ERROR、WARN、INFO、DEBUG、FINE、FINER、FINEST)
  • 示例:"为user@example.com启用调试日志"或"检索管理员用户的最近日志"

设置

Salesforce身份验证

您可以使用以下三种身份验证方法之一连接到Salesforce:

1. 用户名/密码身份验证(默认)

  1. 设置您的Salesforce凭据
  2. 获取您的安全令牌(从Salesforce设置重置)

2. OAuth 2.0客户端凭证流

  1. 在Salesforce中创建一个已连接的应用程序
  2. 启用OAuth设置并选择"客户端凭证流"
  3. 设置适当的范围(通常"api"就足够了)
  4. 保存客户端ID和客户端密钥
  5. 重要:注意您的实例URL(例如,https://your-domain.my.salesforce.com),因为它是身份验证所必需的

3. Salesforce CLI身份验证(推荐用于本地/开发环境)(由@andrea9293贡献)

  1. 安装并认证Salesforce CLI (sf)。
  2. 确保您的组织通过sf org display --json在Salesforce项目的根目录中被认证且可访问。
  3. 服务器将自动使用CLI检索访问令牌和实例URL。

与Claude Desktop一起使用

在您的claude_desktop_config.json中添加:

对于Salesforce CLI身份验证:

{
  "mcpServers": {
    "salesforce": {
      "command": "npx",
      "args": ["-y", "@tsmztech/mcp-server-salesforce"],
      "env": {
        "SALESFORCE_CONNECTION_TYPE": "Salesforce_CLI"
      }
    }
  }
}

对于用户名/密码身份验证:

{
  "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"        // 可选。默认值:https://login.salesforce.com
      }
    }
  }
}

对于OAuth 2.0客户端凭证流:

{
  "mcpServers": {
    "salesforce": {
      "command": "npx",
      "args": ["-y", "@tsmztech/mcp-server-salesforce"],
      "env": {
        "SALESFORCE_CONNECTION_TYPE": "OAuth_2.0_Client_Credentials",
        "SALESFORCE_CLIENT_ID": "your_client_id",
        "SALESFORCE_CLIENT_SECRET": "your_client_secret",
        "SALESFORCE_INSTANCE_URL": "https://your-domain.my.salesforce.com"  // 必须:必须是您的确切Salesforce实例URL
      }
    }
  }
}

注意:对于OAuth 2.0客户端凭证流,SALESFORCE_INSTANCE_URL必须是您的确切Salesforce实例URL(例如,https://your-domain.my.salesforce.com)。令牌端点将构造为<instance_url>/services/oauth2/token

示例用法

搜索对象

"查找所有与账户相关的对象"
"显示处理客户服务的对象"
"哪些对象可用于订单管理?"

获取模式信息

"Account对象中有哪些字段可用?"
"显示Case状态的下拉列表值"
"描述Opportunity中的关系字段"

查询记录

"获取本月创建的所有账户"
"显示高优先级Cases及其相关联系人"
"查找所有超过$100k的机会"

聚合查询

"按阶段计算机会数量"
"显示每个账户的总收入"
"查找拥有超过10个机会的账户"
"计算每个销售代表和季度的平均交易规模"
"获取按优先级和状态分类的案例数量"

管理自定义对象

"创建客户反馈对象"
"在Feedback对象上添加一个评级字段"
"更新Service Request对象的共享设置"

示例带字段级别的安全性:

# 默认 - 自动授予系统管理员访问权限
"在Custom_Object__c上创建一个状态下拉列表字段"

# 自定义配置文件 - 授予指定配置文件访问权限
"在Account上创建一个收入货币字段,并授予Sales User和Marketing User配置文件访问权限"

管理字段权限

"授予系统管理员对Account上的Custom_Field__c的访问权限"
"给予Sales User配置文件对Rating__c字段的只读访问权限"
"查看哪些配置文件有权访问Custom_Field__c"
"撤销特定配置文件的字段访问权限"

跨对象搜索

"在Accounts和Opportunities中搜索'cloud'"
"查找Cases和知识文章中提到的'网络问题'"
"在所有相关对象中搜索客户名称"

管理Apex代码

"显示名称中包含'Controller'的所有Apex类"
"获取AccountService类的完整代码"
"创建一个新的用于处理日期操作的Apex实用类"
"更新LeadConverter类以添加新方法"

管理Apex触发器

"列出Account对象的所有触发器"
"显示ContactTrigger的代码"
"为Opportunity对象创建一个新的触发器"
"更新Case触发器以处理删除事件"

执行匿名Apex代码

"执行Apex代码以计算账户指标"
"运行脚本以更新相关记录"
"执行批处理作业以处理大型数据集"

管理调试日志

"为user@example.com启用调试日志"
"检索管理员用户的最近日志"
"禁用特定用户的调试日志"
"为用户配置日志级别为DEBUG"

开发

从源码构建

# 克隆仓库
git clone https://github.com/tsmztech/mcp-server-salesforce.git

# 导航到目录
cd mcp-server-salesforce

# 安装依赖
npm install

# 构建项目
npm run build

贡献

欢迎贡献!请随意提交Pull Request。

许可证

本项目采用MIT许可证 - 详情见LICENSE文件。

问题和支持

如果您遇到任何问题或需要支持,请在GitHub仓库上提交问题。