使用说明
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管理员在执行请求之前对其进行审查。
以下是幕后发生的事情:
-
验证您的请求
- 检查是否提供了所有必需的信息
- 验证数据是否符合Salesforce的规则(如有效的选择列表值)
- 确保您有执行该操作的权限
-
纠正常见错误
- 自动修复拼写错误(“Microsft”变为“微软公司”)
- 如果字段名拼写错误,建议拼写正确
- 当名称不完全匹配时查找类似记录
-
防止错误发生
- 在创建重复记录之前警告您
- 如果缺少必填字段,则会提醒您
- 阻止保存无效数据
-
优化您的请求
- 自动处理依赖关系(在子记录之前创建父记录)
- 高效地处理多个操作
- 通过同时运行独立任务节省时间
💡 真实世界的例子
场景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é等)
- 支持中文、阿拉伯文和其他非拉丁文字
- 规范文本以实现跨语言的准确匹配
📖 入门指南
你需要什么
- Salesforce帐户 -您所在组织的Salesforce环境
- AI助手 -ChatGPT、Claude Desktop、GitHub Copilot或任何与MCP兼容的工具
- Salesforce凭据 -OAuth 2.0客户端凭据(客户端ID和客户端密钥)
步骤1:获取Salesforce凭据
客户端凭据流需要OAuth 2.0凭据。请您的Salesforce管理员:
- 在Salesforce中创建互联应用
- 使用“客户端凭据流”启用OAuth设置
- 为您提供:
- 客户端ID (消费者密钥)
- 客户端密钥 (消费者秘密)
- 登录URL (例如。,https://login.salesforce.com或您的自定义域名)
- API版本 (例如65.0)
步骤2:安装并构建MCP服务器
首先,克隆并构建项目:
- 克隆存储库或下载代码
- 安装依赖项:打开终端并运行
npm install - 构建项目:运行
npm run build - 注意路径
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登录URLSF_CLIENT_ID:您的OAuth客户端IDSF_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帐户有权执行的操作
- 本地处理:验证发生在您的计算机上,而不是外部服务器上
- 没有硬编码的秘密:所有凭据都存储在您的安全环境变量中
🤝 获取帮助和支持
有疑问或问题吗?
- 报告Bug:访问我们的 GitHub问题 页
- 请求功能:通过GitHub Issues分享您的想法
- 文档:检查 GitHub存储库 获取最新更新
- Salesforce帮助:请参阅 Salesforce文档
- MCP协议:了解更多信息,请访问 模型上下文协议
📜 许可证
这个项目是在MIT许可证下发布的,可以免费使用、修改和分发。
� 鸣谢
在以下支持下构建:
- 模型上下文协议 -Anthropic的AI助手连接开放标准
- 赛富时 -领先的CRM平台和开发人员资源
- 开源社区 -实现这一目标的各种库和工具
内置❤️ 适合所有希望使Salesforce更易于使用的人
不需要编码知识——只需要自然地说话,让人工智能来做这项工作。
