这是一个使用OAuth认证与Salesforce无缝集成的模型上下文协议(MCP)服务器。此服务器使像Claude这样的AI助手能够通过安全、通用的接口与任何Salesforce组织进行交互。
使用NPX运行MCP服务器,无需永久安装:
{
"mcpServers": {
"salesforce": {
"command": "npx",
"args": ["@aiondadotcom/mcp-salesforce"]
}
}
}
✅ 使用NPX的好处:
NPX命令行用法:
# 获取版本
npx -p @aiondadotcom/mcp-salesforce mcp-salesforce --version
# 获取帮助
npx -p @aiondadotcom/mcp-salesforce mcp-salesforce --help
# 运行OAuth设置
npx -p @aiondadotcom/mcp-salesforce mcp-salesforce setup
对于开发或定制化:
克隆并安装依赖项:
git clone https://github.com/AiondaDotCom/mcp-salesforce.git
cd mcp-salesforce
npm install
配置凭据:当提示时,使用salesforce_setup工具配置您的凭据
添加到Claude桌面,使用本地路径(参见下面的配置)
就这样!当您第一次使用任何Salesforce工具时,Claude将自动处理设置和认证。
✨ 交互式设置过程!
salesforce_setup工具配置您的凭据🧠 智能学习系统
salesforce_learn来分析您的整个Salesforce安装✅ 包已成功发布!
包@aiondadotcom/mcp-salesforce现在已在NPM上上线并准备好使用。
所有用户现在都可以使用NPX:
# 测试已发布的包
npx -p @aiondadotcom/mcp-salesforce mcp-salesforce --version
npx -p @aiondadotcom/mcp-salesforce mcp-salesforce --help
# 运行OAuth设置
npx -p @aiondadotcom/mcp-salesforce mcp-salesforce setup
@aiondadotcom/mcp-salesforce1.0.7(最新)@aiondadotcom状态:
🎉 所有NPX功能现在对全球最终用户都可用!
在Salesforce设置中,创建一个新的连接应用:
http://localhost:8080/callback(将自动生成)保存后,复制消费者密钥和消费者秘密
首次使用应用程序时,使用salesforce_setup工具配置您的凭据:
https://mycompany.salesforce.com)该工具将验证您的输入,并将凭据安全地存储在~/.mcp-salesforce.json中,具有受限权限(600)。
📁 文件位置:
~/.mcp-salesforce.json(包含OAuth令牌和凭据)~/.mcp-salesforce-cache/(包含学习到的Salesforce模式和上下文)示例交互:
Claude: 我需要先设置您的Salesforce凭据。请使用salesforce_setup工具输入您的凭据。
您:使用salesforce_setup工具,clientId: "3MVG9...",clientSecret: "1234567890...",instanceUrl: "https://mycompany.salesforce.com"
Claude: ✅ Salesforce凭据配置成功!现在您可以使用其他Salesforce工具了。
将以下内容添加到您的Claude桌面MCP配置(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"salesforce": {
"command": "npx",
"args": ["@aiondadotcom/mcp-salesforce"]
}
}
}
对于开发或定制化安装:
{
"mcpServers": {
"salesforce": {
"command": "node",
"args": ["/path/to/mcp-salesforce/src/index.js"]
}
}
}
对于安装了MCP扩展的VS Code:
{
"servers": {
"salesforce": {
"command": "npx",
"args": ["@aiondadotcom/mcp-salesforce"]
}
}
}
这里是一个逐步演示MCP Salesforce服务器的实际案例,展示验证和更新公司地址信息的过程:
Claude检查Salesforce中的Aionda GmbH账户是否具有正确的地址,通过将其与公司网站上的当前地址进行比较
Claude识别出Salesforce地址过时,显示当前Salesforce数据与公司网站实际地址之间的详细对比
Claude成功更新Salesforce账户的正确当前地址,显示哪些字段被更改
Salesforce中的更新账户记录显示纠正后的地址信息现在准确且是最新的
salesforce_learn🧠 学习您的整个Salesforce安装 - 一次性分析所有对象、字段和自定义内容,并将这些信息本地存储以提供智能帮助。
// 一次分析Salesforce安装
{}
// 强制完全重新分析
{
"force_refresh": true,
"detailed_relationships": true
}
为什么重要?
salesforce_installation_info📊 您的学习Salesforce安装概述 - 显示可用的对象、自定义字段和自定义内容。
// 安装的完整概述
{}
// 关于特定对象的详细信息
{
"object_name": "TimeTracking__c"
}
// 搜索特定字段
{
"field_search": "email",
"show_custom_only": true
}
salesforce_query针对任何Salesforce对象执行SOQL查询。
// 示例:获取最近的联系人
{
"query": "SELECT Id, FirstName, LastName, Email FROM Contact WHERE CreatedDate = THIS_MONTH ORDER BY CreatedDate DESC LIMIT 10"
}
🧠 智能学习集成:
salesforce_create在任何Salesforce对象中创建新记录。
// 示例:创建一个新联系人
{
"sobject": "Contact",
"data": {
"FirstName": "John",
"LastName": "Doe",
"Email": "john.doe@example.com",
"Phone": "555-1234"
}
}
🧠 智能上下文: 当安装已被学习时,自动显示所选对象所需的字段。
salesforce_update更新现有记录。
// 示例:更新联系人的电子邮件
{
"sobject": "Contact",
"id": "003XX000008b6cYAQ",
"data": {
"Email": "new.email@example.com",
"Phone": "555-5678"
}
}
🧠 智能上下文: 考虑来自学习安装的字段权限和数据类型。
salesforce_delete删除记录(⚠️ 永久操作)。
// 示例:删除记录
{
"sobject": "Contact",
"id": "003XX000008b6cYAQ"
}
salesforce_describe获取对象和字段的模式信息。
// 示例:获取Contact对象模式
{
"sobject": "Contact"
}
// 或获取所有可用对象列表
{} // 空参数
salesforce_backup💾 Salesforce的综合备份系统 - 创建所有数据和文件的完整备份,附带详细的恢复信息。
// 创建完整备份
{}
// 自特定日期以来的增量备份
{
"backup_type": "incremental",
"since_date": "2025-01-01T00:00:00Z"
}
// 具有特定选项的备份
{
"options": {
"include_files": true,
"include_attachments": true,
"include_documents": true,
"parallel_downloads": 10
}
}
备份的内容:
备份结构:
salesforce-backup-2025-06-04T16-16-35-660Z/
├── metadata/ # 模式和对象定义
├── data/ # 所有对象的JSON数据
├── files/
│ ├── content-versions/ # 现代文件
│ ├── attachments/ # 旧版附件
│ └── documents/ # 旧版文档
└── backup-manifest.json # 备份概览
salesforce_backup_list📋 显示可用备份 - 所有本地备份的概览,附带统计数据和元数据。
// 列出所有可用备份
{}
// 关于特定备份的详细信息
{
"backup_name": "salesforce-backup-2025-06-04T16-16-35-660Z"
}
salesforce_time_machine⏰ 通过Salesforce数据的时间旅行 - 分析不同备份时间点的数据变化,并启用有针对性的恢复。
// 将当前状态与备份进行比较
{
"backup_timestamp": "2025-06-04T16:16:35.660Z",
"object_name": "Account"
}
// 显示自特定备份以来的所有更改
{
"backup_timestamp": "2025-06-04T16:16:35.660Z",
"show_all_changes": true
}
// 特定记录的详细分析
{
"backup_timestamp": "2025-06-04T16:16:35.660Z",
"object_name": "Contact",
"record_id": "003XX000008b6cYAQ"
}
时间机器功能:
salesforce_auth与Salesforce进行身份验证。自动检测是否需要身份验证并处理OAuth流程。
// 示例:标准身份验证(检测是否需要)
{}
// 示例:即使令牌看似有效也强制重新身份验证
{
"force": true
}
✨ 主要特点:
npm run setup的需求当以下情况发生时,此工具会被自动建议:
每个Salesforce安装都是独一无二的,包括:
AI的常规训练模型只知道标准的Salesforce对象。如果没有了解您的特定安装,AI无法提供智能帮助。
salesforce_learn分析您的整个安装您:“2025年7月是否有任何时间跟踪条目?”
没有学习:
❌ Claude:“我不认识名为'TimeTracking'的对象。”
有了学习:
✅ Claude:“我正在检查'TimeTracking__c'对象,查找2025年7月的条目……”
自动执行正确的SOQL查询