关于 Salesforce Cloud
Salesforce Cloud 是面向销售团队和分析人员的 Salesforce MCP 服务。它将 CRM 操作与商机洞察、对话分析、SOQL 查询和业务文档生成结合起来。
主要功能
- 01搜索 Salesforce 字段和记录
- 02执行分页 SOQL 查询
- 03创建、更新和删除记录
- 04分析商机参与度与模式
- 05生成业务案例和摘要
- 06查看对象及字段元数据
适用场景
- 01按灵活条件查找商机
- 02检查商机互动情况及缺失的关键联系人
- 03将商机与成功案例进行比较
- 04准备面向管理层的业务案例文档
MCP 相关
向 MCP 客户端提供 Salesforce 搜索、元数据、SOQL、记录管理和商机分析工具,并支持访问 Salesforce 数据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @aaronsb/salesforce-cloud-mcpSF_CLIENT_ID密钥Salesforce Connected App client IDSF_CLIENT_SECRET密钥Salesforce Connected App client secretSF_USERNAMESalesforce username (if set, uses password flow; otherwise client credentials flow)SF_PASSWORD密钥Salesforce password (required with SF_USERNAME for password flow)SF_LOGIN_URLYour Salesforce My Domain URL (e.g., https://company.my.salesforce.com)本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
18收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| detail | enum | 否 | 响应详细程度(默认:summary)summary | full |
| onError | enum | 否 | 错误处理:bail(默认)会在首次失败时停止,continue 会继续执行剩余操作bail | continue |
| operations | array | 是 | 要按顺序执行的操作列表(最多 16 项) |
详细介绍
🌩️ Salesforce MCP 服务
此 MCP(模型上下文协议)服务提供由 AI 驱动的工具,可用于与 Salesforce 交互,具备商机情报、对话分析、业务案例生成和标准 CRUD 操作等功能。支持分页,并针对 AI 工作流优化了响应结构。
🎯 这对你意味着什么
想象一下,有一位销售专家能立即了解你所有交易的情况,并为你提供制胜策略。这就是这个 AI 如何利用你的 Salesforce 数据为你提供帮助。
💬 自然对话,无需技术技能
你说: “显示所有处于提案阶段、金额超过 10 万美元的 Microsoft 交易”
AI 会: 搜索整个 Salesforce 数据库,并返回符合条件的商机
你说: “Acme 交易的互动情况怎么样?我们联系到合适的人了吗?”
AI 会: 分析你所有的通话、电子邮件和活动,为你提供互动情况洞察
你说: “帮我找找与这个已赢得的商机类似的交易”
AI 会: 扫描你的数据库,查找类似的成功交易和成功模式
你说: “为这个商机创建一份业务案例文档”
AI 会: 生成一份可供高管使用的专业 PDF
🚀 真实对话示例
场景: “Acme Corp 这笔交易让我很头疼,谈判已经陷入停滞 2 个月了。”
AI 回复: “让我分析一下 Acme 商机……我发现过去 3 周互动有限。你和采购部门通了 2 次电话,但还没有联系上决策者。类似的停滞交易在获得高管赞助人参与后都取得了进展。我找到 3 笔可比交易,安排高管简报会后都推动了交易进展。这是一份你可以使用的业务案例文档……”
场景: “经理想知道为什么我们的云迁移交易需要这么长时间才能成交。”
AI 回复: “正在分析你的云迁移商机……平均销售周期比行业标准长 40%。模式显示,交易会卡在技术评估阶段。成功的云业务平均会提前 2 周让解决方案架构师参与进来。我建议尽早引入技术资源……”
✨ 你将获得
- 🔍 智能搜索:用自然语言查找任何商机
- 💬 互动分析:了解你正在联系谁,以及还缺少哪些人
- 🧠 战略洞察:根据类似的成功交易获取建议
- 📊 销售渠道情报:了解销售渠道的健康状况和转化模式
- 📋 专业文档:生成业务案例和高管摘要
- 📈 绩效分析:了解哪些做法有效,哪些方面需要关注
神奇之处: 你只需自然对话。AI 会自动连接到你的 Salesforce,分析数百万个数据点,发现规律,并提供可执行的建议。它就像一支销售情报团队、一位数据分析师和一位业务顾问合而为一,组成一个对你的 Salesforce 了如指掌的 AI。
💬 实时聊天示例
| 👤 你 | 你能帮我查找所有方案工程师包括 Aaron Rochelle 的未结 Salesforce 商机吗? |
| 🤖 AI 助手 | 我来帮你搜索 Aaron Rochelle 作为方案工程师参与的 Salesforce 商机。我会在你的 Salesforce 数据库中运行查询,查找符合条件的商机…… 📊 找到 3 个商机: • Cloud Migration - Acme Corp($250K,方案阶段) • Digital Transformation - TechFlow($180K,资格审查阶段) • Infrastructure Upgrade - GlobalTech($320K,谈判阶段) |
| 👤 你 | 多介绍一些 Acme Corp 的商机信息 |
| 🤖 AI 助手 | 以下是 Acme Corp 的 Cloud Migration 商机的关键详情: 💼 商机详情: • 客户: Acme Corp • 金额: $250,000 • 阶段: 方案阶段 • 成交日期: 2024-03-15 • 决策人: Sarah Johnson(IT 总监) 🔍 情报分析: • 类似云服务交易在方案阶段平均耗时 45 天 • 若及早与高管赞助人建立联系,赢单率为 73% • 竞争对手: AWS(主要威胁) • 下一步行动: 安排一次技术深度研讨 |
| 👤 你 | 我们赢得过哪些类似交易?帮我看看其中的规律 |
| 🤖 AI 助手 | 我找到了你们在过去 12 个月赢得的 8 笔类似云迁移交易。以下是其中的主要规律: 🎯 成功规律: • 平均交易金额: $275K(当前交易为 $250K) • 67% 的交易在第 14 天前有方案架构师参与 • 89% 的交易包含试点/POC 阶段 • 78% 的演示有高管赞助人参加 📋 建议: 本周安排 Aaron 与他们的 DevOps 团队进行一次技术深度研讨。根据类似的赢单经验,提出为期 2 周的试点将使成交概率提高 34%。 📄 需要我为这个商机生成一份商业案例文档吗? |
🤔 什么是 MCP?
模型上下文协议(MCP)是一种标准化方式,让 AI 模型能够与外部工具和资源交互。MCP 服务通过一致的接口提供特定功能,供 AI 模型使用。此 Salesforce MCP 服务允许 AI 模型以结构化的方式与 Salesforce 数据和操作交互。
🚀 安装
npm(推荐)
# Run directly with npx
npx @aaronsb/salesforce-cloud-mcp
# Or install globally
npm install -g @aaronsb/salesforce-cloud-mcp
从源代码安装
git clone https://github.com/aaronsb/salesforce-cloud.git
cd salesforce-cloud
npm install
npm run build
node build/index.js
⚙️ 配置
此服务需要在 Claude 桌面应用的配置文件中进行配置。在 Linux 上,该文件位于 ~/.config/Claude/claude_desktop_config.json。在 macOS 上,文件位于 ~/Library/Application Support/Claude/claude_desktop_config.json。
将以下配置添加到配置文件中的 mcpServers 对象:
{
"mcpServers": {
"salesforce-cloud": {
"command": "node",
"args": ["/path/to/salesforce-cloud/build/index.js"],
"env": {
"SF_CLIENT_ID": "your_client_id",
"SF_CLIENT_SECRET": "your_client_secret",
"SF_USERNAME": "your_salesforce_username",
"SF_PASSWORD": "your_salesforce_password",
"SF_LOGIN_URL": "https://login.salesforce.com"
}
}
}
}
必需的环境变量
SF_CLIENT_ID:你的 Salesforce OAuth 客户端 IDSF_CLIENT_SECRET:你的 Salesforce OAuth 客户端密钥SF_USERNAME:你的 Salesforce 用户名SF_PASSWORD:你的 Salesforce 密码SF_LOGIN_URL:Salesforce 登录 URL(可选,默认为 https://login.salesforce.com)
获取这些凭据的步骤:
- 在你的 Salesforce 组织中进入 Setup
- 导航至 App Manager
- 创建一个新的 Connected App
- 启用 OAuth 设置
- 添加所需的 OAuth 范围
- 保存并等待激活
- 复制生成的 Consumer Key(Client ID)和 Consumer Secret(Client Secret)
🎯 使用自定义字段
构建查询或处理 Salesforce 数据时,务必了解许多引用的字段可能是特定于你的 Salesforce 实例的自定义字段。以下是你需要了解的内容:
了解自定义字段
- Salesforce 中的自定义字段在其 API 名称末尾带有
__c - 界面中显示为“实施状态”的字段,在数据中可能存储为“Implementation_Status__c”
- 自定义字段可以表示组织特有的业务概念
最佳实践
-
对象元数据分析:
- 使用
describe_object工具并设置includeFields: true,检查标准字段和自定义字段 - 在标准字段和自定义字段列表中查找符合意图的字段
- 将易于理解的字段名称映射到其实际 API 名称
- 使用
-
字段类型考量:
- 自定义字段可以是多种类型(文本、选项列表、查找等)
- 了解字段类型有助于构建合适的查询
- 自定义字段可能通过查找关系引用其他自定义对象
-
查询构建:
- 构建能够处理标准字段和自定义字段的查询
- 查询前使用字段元数据验证字段是否存在
- 考虑对象之间的关系,尤其是使用自定义查找字段时
示例
如果要搜索“项目状态”:
- 首先,检查对象的字段以找到实际字段名称:
{
"objectName": "Opportunity",
"includeFields": true
}
- 查找与意图匹配的字段,例如“Project_Status__c”或类似的自定义字段
- 在查询中使用找到的字段名称:
{
"query": "SELECT Id, Name, Project_Status__c FROM Opportunity"
}
🛠️ 工具
Salesforce 核心操作
search_fields
当你知道要查询什么,但不知道 API 名称时,查找承载相关概念的字段。此工具按匹配强度排序,根据关键字搜索已发现的字段目录(ADR-302)中的字段 API 名称、标签和帮助文本。
{
term: string; // Required: matched against field name, label, help text
objectName?: string; // Optional: scope to one object (default: all core objects)
includeValues?: boolean; // Optional: return active picklist values for matches (default: false)
minPopulationPct?: number;// Optional: drop fields below this population density (0-100)
limit?: number; // Optional: max matches (default: 25, max: 100)
}
示例:
{
"term": "ai",
"objectName": "Opportunity",
"includeValues": true
}
匹配基于词法而非语义:它会查找元数据中包含该词的字段,因此,如果架构对某个概念采用了不同的命名方式,就不会找到相应字段——请读取 salesforce://field-catalog/{objectName}/all 浏览所有字段。
execute_soql
执行支持分页的 SOQL 查询。
{
query: string; // Required: SOQL query to execute
pageSize?: number; // Optional: Number of records per page (default: 25)
pageNumber?: number; // Optional: Page number to retrieve (default: 1)
}
示例:
{
"query": "SELECT Id, Name FROM Account",
"pageSize": 10,
"pageNumber": 1
}
describe_object
获取 Salesforce 对象的元数据,可选择包含字段信息。
{
objectName: string; // Required: API name of the Salesforce object
includeFields?: boolean; // Optional: Whether to include field metadata (default: false)
pageSize?: number; // Optional: Number of fields per page (default: 50)
pageNumber?: number; // Optional: Page number to retrieve (default: 1)
}
示例:
{
"objectName": "Account",
"includeFields": true
}
create_record
在 Salesforce 中创建新记录。
{
objectName: string; // Required: API name of the Salesforce object
data: Record<string, any>; // Required: Record data as key-value pairs
}
示例:
{
"objectName": "Account",
"data": {
"Name": "Test Account",
"Industry": "Technology"
}
}
update_record
更新 Salesforce 中的现有记录。
{
objectName: string; // Required: API name of the Salesforce object
recordId: string; // Required: ID of the record to update
data: Record<string, any>; // Required: Record data to update
}
示例:
{
"objectName": "Account",
"recordId": "001XXXXXXXXXXXXXXX",
"data": {
"Name": "Updated Account Name"
}
}
delete_record
从 Salesforce 中删除记录。
{
objectName: string; // Required: API name of the Salesforce object
recordId: string; // Required: ID of the record to delete
}
示例:
{
"objectName": "Account",
"recordId": "001XXXXXXXXXXXXXXX"
}
get_user_info
获取当前用户的信息。无需参数。
{}
list_objects
列出所有可用的 Salesforce 对象,支持分页。
{
pageSize?: number; // Optional: Number of objects per page (default: 25)
pageNumber?: number; // Optional: Page number to retrieve (default: 1)
}
商机管理
search_opportunities
使用灵活的条件和模式匹配搜索 Salesforce 商机。
{
namePattern?: string; // Optional: Pattern to match in Opportunity Name
accountNamePattern?: string; // Optional: Pattern to match in Account Name
stage?: string; // Optional: Exact match for opportunity stage
pageSize?: number; // Optional: Number of records per page (default: 25)
pageNumber?: number; // Optional: Page number to retrieve (default: 1)
}
get_opportunity_details
获取特定商机的详细信息,包括所有可用字段和相关记录。
{
opportunityId: string; // Required: The ID of the Salesforce opportunity
}
🧠 商机智能分析
analyze_conversation
分析商机的对话活动和互动模式。从电话、电子邮件和其他活动中提取见解,并提供互动建议。
{
opportunityId: string; // Required: The ID of the Salesforce opportunity
}
示例:
{
"opportunityId": "006XXXXXXXXXX"
}
enrich_opportunity
根据类似交易的模式和最佳实践,为商机补充市场情报、行业见解和战略建议。
{
opportunityId: string; // Required: The ID of the Salesforce opportunity
includeCompetitiveIntel?: boolean; // Optional: Include competitive analysis (default: false)
includeBestPractices?: boolean; // Optional: Include best practices (default: true)
}
示例:
{
"opportunityId": "006XXXXXXXXXX",
"includeCompetitiveIntel": true,
"includeBestPractices": true
}
find_similar_opportunities
查找与参考商机相似的商机,或根据特定条件查找商机。包含模式分析和相似度评分。
{
referenceOpportunityId?: string; // Optional: Reference opportunity for similarity matching
industry?: string; // Optional: Filter by industry
minAmount?: number; // Optional: Minimum opportunity amount
maxAmount?: number; // Optional: Maximum opportunity amount
stage?: string; // Optional: Filter by opportunity stage
isWon?: boolean; // Optional: Filter by won/lost status
closeDateStart?: string; // Optional: Start date (YYYY-MM-DD)
closeDateEnd?: string; // Optional: End date (YYYY-MM-DD)
includeAnalysis?: boolean; // Optional: Include pattern analysis (default: true)
limit?: number; // Optional: Max results (default: 50)
}
示例:
- 查找与参考商机相似的商机:
{
"referenceOpportunityId": "006XXXXXXXXXX",
"includeAnalysis": true
}
- 根据条件查找:
{
"industry": "Information Technology & Services",
"minAmount": 100000,
"stage": "Closed Won",
"limit": 20
}
opportunity_insights
根据商机数据生成详细见解和分析,包括销售管道健康状况、绩效指标和趋势。
{
timeframe?: string; // Optional: 'current_quarter', 'last_quarter', etc.
includeStageAnalysis?: boolean; // Optional: Stage distribution analysis (default: true)
includeOwnerPerformance?: boolean; // Optional: Owner performance metrics (default: true)
includeIndustryTrends?: boolean; // Optional: Industry trends (default: true)
includePipelineHealth?: boolean; // Optional: Pipeline health analysis (default: true)
includeConversionRates?: boolean; // Optional: Conversion rates (default: true)
minAmount?: number; // Optional: Minimum amount filter
maxAmount?: number; // Optional: Maximum amount filter
industry?: string; // Optional: Industry filter
owner?: string; // Optional: Owner filter
}
示例:
{
"timeframe": "current_quarter",
"includeStageAnalysis": true,
"includeOwnerPerformance": true,
"minAmount": 50000
}
generate_business_case
为商机生成专业的商业案例文档。返回使用 TeXFlow 创建格式化商业案例的分步说明。
{
opportunityId: string; // Required: The ID of the Salesforce opportunity
clientName?: string; // Optional: Client name for the document title
outputFormat?: string; // Optional: 'pdf', 'docx', or 'markdown' (default: 'pdf')
}
示例:
{
"opportunityId": "006XXXXXXXXXX",
"clientName": "Acme Corporation",
"outputFormat": "pdf"
}
📦 响应格式
分页响应
返回多条记录的操作使用以下格式:
{
records: T[]; // Array of records for the current page
totalSize: number; // Total number of records
pageInfo: {
currentPage: number; // Current page number
totalPages: number; // Total number of pages
hasNextPage: boolean; // Whether there are more pages after this one
hasPreviousPage: boolean; // Whether there are pages before this one
}
}
错误处理
所有工具都以统一格式返回错误:
{
content: [{
type: "text",
text: "Error: [error message]"
}],
isError: true
}
💻 开发
要在本地运行服务以进行开发:
- 在
.env文件中设置环境变量 - 构建项目:
npm run build
- 启动服务:
node build/index.js
✨ 主要功能
- 🧠 AI 驱动的智能分析:高级商机分析、对话洞察和市场情报
- 📊 模式识别:识别销售管道中的相似商机和成功模式
- 📋 商业案例生成:使用 TeXFlow 自动创建专业的商业案例文档
- 🔍 智能搜索:支持模式匹配和筛选的灵活商机搜索
- 📈 销售管道分析:深入了解销售管道的健康状况、转化率和绩效指标
- 🔧 标准操作:完整的 CRUD 操作,并支持自定义字段
- 📄 文档集成:与 TeXFlow MCP 服务无缝集成,生成文档
- ⚡ 针对 AI 优化:响应结构专为 AI 模型处理而设计
🌟 未来可能性
Salesforce API 提供了众多扩展机会:
- 支持更多 Salesforce 对象(Leads、Cases、Contacts 等)
- 与 Salesforce Flow 和 Process Builder 集成
- 增强竞争情报功能
- 针对大型数据集的批量 API 操作
- 集成 Chatter API 并提供社交销售洞察
- 访问自定义报告和仪表板
- 高级预测和预测分析
我们很期待听到你对下一步最值得添加哪些功能的想法!
🤝 贡献
欢迎社区贡献!无论是添加新功能、改进文档还是报告 bug,你的参与都有助于让这个项目惠及所有人。欢迎提交 Pull Request 或创建 Issue,开始讨论。
📄 许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。