Salesforce自然语言操作服务

通过自然语言与AI助手交互,实现Salesforce数据的创建、读取、更新和删除操作,无需技术知识。

  • by SrikanthAttili
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 SrikanthAttili/salesforce-mcp

使用说明

Salesforce MCP服务器

用简明英语与您的Salesforce组织交谈

https://github.com/user-attachments/assets/300ac77e-db3f-4156-91d4-895a8d36b8b2

想象一下,只需与ChatGPT、Claude或任何自然语言的人工智能助手交谈,就可以管理您的Salesforce数据。无需点击屏幕,无需记住字段名称,无需担心错误。

只需说: “为Acme Corporation创建新客户帐户” 或 “将约翰·史密斯的电话号码更新为555-1234” 并且它自动发生。

这就是MCP服务器的功能。它将ChatGPT或Claude等人工智能助手连接到Salesforce,使您能够使用日常语言创建、读取、更新和删除记录。


🚀 你能做什么?

一旦您将此MCP服务器插入任何AI助手(ChatGPT、Claude等),您就可以:

  • 创建记录:“在Microsoft添加一个名为Sarah Johnson的新联系人”
  • 更新记录:“将Acme交易的机会阶段更改为Closed Won”
  • 查找记录:“显示技术行业的所有帐户”
  • 删除记录:“删除John Smith的重复联系人”
  • 提出问题:“我们有多少机会?”

全部采用自然的对话语言 -不需要技术知识。


🧠 是什么让这个MCP服务器与众不同?

大多数系统只是将您的请求直接传递给Salesforce。 如果你犯了错误或忘记了什么,操作就会失败,你必须再试一次。

我们的MCP服务器是智能的。 它充当您的AI助手和Salesforce之间的智能中介,在问题发生之前发现问题。

🛡️ 我们的智能系统是如何工作的

将其视为让一位经验丰富的Salesforce管理员在执行请求之前对其进行审查。

以下是幕后发生的事情:

  1. 验证您的请求

    • 检查是否提供了所有必需的信息
    • 验证数据是否符合Salesforce的规则(如有效的选择列表值)
    • 确保您有执行该操作的权限
  2. 纠正常见错误

    • 自动修复拼写错误(“Microsft”变为“微软公司”)
    • 如果字段名拼写错误,建议拼写正确
    • 当名称不完全匹配时查找类似记录
  3. 防止错误发生

    • 在创建重复记录之前警告您
    • 如果缺少必填字段,则会提醒您
    • 阻止保存无效数据
  4. 优化您的请求

    • 自动处理依赖关系(在子记录之前创建父记录)
    • 高效地处理多个操作
    • 通过同时运行独立任务节省时间

💡 真实世界的例子

场景1:请求不完整

  • 你说:“创建新联系人”
  • 系统响应:“我需要更多信息。联系人记录需要姓氏。我应该使用什么?”
  • 结果:没有失败的尝试,对所需内容有明确的指导

场景2:拼写错误和拼写错误

  • 你说:“将机会阶段更新为Microsft的Closd Won”
  • 系统响应:“你的意思是:将微软公司的机会阶段更新为‘封闭式胜利’吗?”
  • 结果:请求会自动更正,节省时间和挫折感

场景3:防止重复

  • 你说:“为Acme Corp创建帐户”
  • 系统响应:“我找到了一个现有帐户‘Acme Corporation’(96%匹配)。是否要更新它?”
  • 结果:防止重复记录,保持数据干净

🎯 秘密:智能本地缓存

它是如何如此迅速地发现错误的?

该系统使用智能延迟加载来维护有关Salesforce设置的本地“知识库”:

智能延迟加载:

  • 仅加载提示中实际提到的对象的元数据
  • 示例:如果你说“创建帐户”,它会按需加载帐户元数据
  • 将此信息存储在本地以供将来使用
  • 需要时自动刷新

缓存哪些信息:

  • 必填字段:每种类型的记录必须提供哪些信息
  • 有效选项:下拉字段(选择列表)的可接受值
  • 现场规则:数据类型限制、长度限制、数字格式
  • 关系:不同的记录如何相互连接
  • 权限:允许您执行哪些操作
  • 主动验证规则:Salesforce中的自定义业务规则

这意味着:

  • 闪电般快速的检查:在不到10毫秒的时间内验证您的请求
  • 错误减少90%:在浪费Salesforce资源之前发现问题
  • 无猜测:告诉你到底出了什么问题以及如何解决
  • 有效装载:只同步您实际使用的内容

🌟 关键能力

🔍 智能重复检测

即使有拼写错误或变化,也能找到类似的记录

  • 处理常见的拼写错误(“Microsft”查找“Microsoft Corporation”)
  • 跨不同语言和字符集工作
  • 了解企业命名惯例(“Corp”=“Corporation”,“Ltd”=“Limited”)
  • 显示信心评分,以便您做出决定(高:>95%,中:75-95%,低:<75%)
  • 即使有数百条记录,也能在毫秒内找到匹配项

示例当你说 “更新Microsft的乔恩·史密斯的联系方式”,系统找到“微软公司的约翰·史密斯”,并要求以96%的置信度进行确认。

⚡ 智能关系处理

自动管理记录之间的依赖关系

当您一次创建多个相关记录时(如具有多个联系人的帐户),系统:

  • 自动找出正确的顺序
  • 首先创建父记录,然后创建子记录
  • 同时运行独立操作以提高速度
  • 确保所有关系都正确连接

示例:创建具有3个联系人的“Acme Corporation”的顺序是正确的——先创建帐户,然后同时创建所有3个联系人。

🔐 权限意识

尊重您的Salesforce安全设置

  • 检查您是否有权创建、读取、更新或删除记录
  • 验证字段级访问权限(对于您的角色,某些字段可能是只读的)
  • 在尝试未经授权的操作之前警告您
  • 使用您的Salesforce凭据和权限运行所有操作

🎨 多语言支持

使用国际数据

  • 处理带有重音和特殊字符的名称(François、José等)
  • 支持中文、阿拉伯文和其他非拉丁文字
  • 规范文本以实现跨语言的准确匹配

📖 入门指南

你需要什么

  1. Salesforce帐户 -您所在组织的Salesforce环境
  2. AI助手 -ChatGPT、Claude Desktop、GitHub Copilot或任何与MCP兼容的工具
  3. Salesforce凭据 -OAuth 2.0客户端凭据(客户端ID和客户端密钥)

步骤1:获取Salesforce凭据

客户端凭据流需要OAuth 2.0凭据。请您的Salesforce管理员:

  1. 在Salesforce中创建互联应用
  2. 使用“客户端凭据流”启用OAuth设置
  3. 为您提供:
    • 客户端ID (消费者密钥)
    • 客户端密钥 (消费者秘密)
    • 登录URL (例如。,https://login.salesforce.com或您的自定义域名)
    • API版本 (例如65.0)

步骤2:安装并构建MCP服务器

首先,克隆并构建项目:

  1. 克隆存储库或下载代码
  2. 安装依赖项:打开终端并运行 npm install
  3. 构建项目:运行 npm run build
  4. 注意路径 build/index.js -您需要这个进行配置

步骤3:配置您的AI助手

选择您的AI助手并按照相应的设置进行操作:

选项A:Claude桌面设置

1.找到Claude Desktop配置文件:

  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

2.添加Salesforce MCP服务器配置:

📄 查看示例配置文件

打开Claude Desktop配置文件,按照示例文件结构添加Salesforce MCP服务器配置。

重要提示:

  • 将路径替换为您的实际绝对路径 build/index.js 文件
  • 使用双反睫毛(\\)在Windows路径中
  • 用您实际的Salesforce凭据替换凭据值:
    • SF_LOGIN_URL:您的Salesforce登录URL(例如。, https://login.salesforce.com 或您的自定义域名)
    • SF_CLIENT_ID:您的OAuth客户端ID(消费者密钥)
    • SF_CLIENT_SECRET:您的OAuth客户端密钥(消费者密钥)
    • SF_API_VERSION:API版本(例如。, 65.0)

3.重新启动克劳德桌面 使更改生效

4.验证连接:

  • 打开克劳德桌面
  • 问:“你能测试Salesforce连接吗?”
  • 如果配置正确,Claude应回复您的组织详细信息

选项B:GitHub复制副本设置

1.创建MCP配置文件:

在VS Code工作区中,在以下位置创建一个文件 .vscode/mcp.json

2.添加Salesforce MCP服务器配置:

📄 查看示例配置文件

从示例文件中复制配置结构,并使用您的设置对其进行自定义。

重要提示:

  • 将路径替换为您的实际生成文件夹位置(到的绝对路径 build/index.js)
  • 使用正斜杠(/)或双反睫毛(\\)对于路径
  • 在中添加您的实际Salesforce凭据 env 章节:
    • SF_LOGIN_URL:您的Salesforce登录URL
    • SF_CLIENT_ID:您的OAuth客户端ID
    • SF_CLIENT_SECRET:您的OAuth客户端密码
    • SF_API_VERSION:API版本(例如。, 65.0)
  • 此配置可以是特定于项目的( .vscode/mcp.json)或全球

3.重新加载VS代码 应用更改

4.验证连接:

  • 使用GitHub Copilot聊天
  • 要求其使用Salesforce MCP工具
  • 使用简单的查询(如列出帐户)进行测试

第四步:开始使用自然语言

连接后,您可以开始用简单的英语与您的AI助手交谈:

请尝试以下示例:

  • “向我展示我所有的开放机会”
  • “在医疗保健行业为XYZ公司创建新帐户”
  • “将约翰·史密斯的电话号码更新为555-1234”
  • “查找在Microsoft工作的所有联系人”

系统将验证您的请求,检查错误,并安全执行!

支持的AI助手

  • ✅ 克劳德桌面 -Anthropic的桌面AI助手
  • ✅ GitHub Copilot -微软的AI编码助手(支持MCP)
  • ✅ 任何MCP兼容工具 -模型上下文协议是一个开放标准

💬 如何使用它-自然语言示例

创建记录

你可以说:

  • “创建一个名为制造业全球产业的新账户”
  • “通过电子邮件将Sarah Johnson添加为Microsoft的联系人sarah.j@microsoft.com"
  • “为价值50000美元的Q4 Enterprise交易创造新的机会”

系统:

  • ✅ 检查是否提供了所有必填字段
  • ✅ 根据Salesforce规则验证数据
  • ✅ 如果已存在类似记录,则发出警告
  • ✅ 仅当所有内容都正确时创建记录

更新记录

你可以说:

  • “将Acme Corporation的电话号码更改为555-0100”
  • “将John Smith的职位升级为高级经理”
  • “将ABC机会标记为已关闭获胜”

系统:

  • ✅ 即使名称略有变化,也能找到正确的记录
  • ✅ 验证您是否有权进行更改
  • ✅ 检查新值是否有效(如选择列表选项)
  • ✅ 仅在确认记录正确后更新

查找记录

你可以说:

  • “显示加利福尼亚州的所有帐户”
  • “查找在Microsoft工作的联系人”
  • “列出本月结束的所有机会”

系统:

  • ✅ 在Salesforce数据中搜索
  • ✅ 以易于阅读的格式返回结果
  • ✅ 处理涉及多个条件的复杂查询
  • ✅ 尊重您的安全权限

删除记录

你可以说:

  • “删除Jane Doe的重复联系人”
  • “删除我刚才创建的测试帐户”

系统:

  • ✅ 确认要删除的记录
  • ✅ 检查您是否有删除权限
  • ✅ 警告可能受影响的任何相关记录
  • ✅ 在永久删除数据之前需要确认

🏗️ 引擎盖下的工作原理

对于那些对这项技术感到好奇的人

系统架构

graph TB
    User[👤 User Request in Natural Language] --> MCP[MCP Interface]
    MCP --> Orchestrator{Operation Orchestrator<br/>The Brain}
    
    Orchestrator --> |Check Metadata| Cache[Cache Manager<br/>Lazy Loading]
    Cache --> |Not Cached| SF_Meta[Salesforce Metadata API]
    SF_Meta --> |Store Locally| DB[(SQLite Database<br/>- Validation Rules<br/>- Required Fields<br/>- Picklist Values<br/>- Relationships)]
    Cache --> |Cached| DB
    
    Orchestrator --> Resolver[Dependency Resolver<br/>Analyzes Relationships]
    Orchestrator --> Validator[Pre-Flight Validator<br/>8 Safety Checks]
    
    Validator --> |Validation Failed| ErrorMsg[Clear Error Message<br/>with Suggestions]
    ErrorMsg --> User
    
    Validator --> |Validation Passed| Plan[Execution Plan<br/>Optimal Order]
    Resolver --> |Dependencies Resolved| Plan
    
    Plan --> Exec[Salesforce Service<br/>Execute Operations]
    Exec --> |OAuth 2.0| Salesforce[(Salesforce)]
    Salesforce --> |Results| User
    
    style User fill:#e3f2fd
    style Orchestrator fill:#fff3e0
    style Cache fill:#f3e5f5
    style DB fill:#fce4ec
    style Validator fill:#ffe0b2
    style Exec fill:#c8e6c9
    style Salesforce fill:#e8f5e9

关键部件说明

1.MCP接口 -接收您的自然语言请求并将其转换为结构化命令

2.操作协调器(大脑) -协调所有组件并决定执行路径

3.延迟加载的缓存管理器

  • 仅加载提示中提到的对象的元数据
  • 在本地存储信息以进行即时验证
  • 需要时自动刷新

4.依赖性解析器 -确保在创建子记录之前创建父记录(例如,在联系人之前创建帐户)

5.飞行前验证器 -在访问Salesforce之前运行8种安全检查

6.Salesforce服务 -使用安全身份验证执行已验证的操作


✨ 是什么让它可靠

综合测试

  • 每个功能都经过彻底测试
  • 每次发布前都会运行100多个自动化测试
  • 目前所有测试均通过,成功率为100%

性能指标

  • 验证检查:小于10毫秒
  • 单记录操作:约800毫秒
  • 复杂的多记录操作:约1.2秒

智能验证的好处:

  • 防止90%的错误发生
  • 就如何解决问题提供明确的指导
  • 保存Salesforce API使用限制
  • 对问题的即时反馈

🎓 发展里程碑

该项目分为5个主要阶段:

第一阶段:知识存储 ✅ 创建了一个本地数据库,以高效地存储Salesforce规则和结构。

第二阶段:信息同步 ✅ 构建了每24小时自动获取和更新Salesforce元数据的系统。

第三阶段:智能验证 ✅ 实施了8种类型的安全检查,在错误发生之前发现错误。

第四阶段:智能处理 ✅ 添加了处理具有多个依赖操作的复杂请求的“大脑”。

阶段5:重复检测 ✅ 创建高级匹配,即使有拼写错误或变体,也能找到类似的记录。


🔒 安全与隐私

您的数据是安全的

  • 行业标准认证:使用OAuth 2.0,与主要应用程序使用的安全方法相同
  • 无数据存储:您的Salesforce记录永远不会永久存储,只有关于本地SQLite数据库中字段结构的元数据
  • 安全通信:所有与Salesforce的连接都使用加密的HTTPS
  • 尊重许可:系统只执行您的Salesforce帐户有权执行的操作
  • 本地处理:验证发生在您的计算机上,而不是外部服务器上
  • 没有硬编码的秘密:所有凭据都存储在您的安全环境变量中

🤝 获取帮助和支持

有疑问或问题吗?


📜 许可证

这个项目是在MIT许可证下发布的,可以免费使用、修改和分发。


� 鸣谢

在以下支持下构建:

  • 模型上下文协议 -Anthropic的AI助手连接开放标准
  • 赛富时 -领先的CRM平台和开发人员资源
  • 开源社区 -实现这一目标的各种库和工具

内置❤️ 适合所有希望使Salesforce更易于使用的人

不需要编码知识——只需要自然地说话,让人工智能来做这项工作。