用途
Salesforce Marketing Cloud MCP 服务器用于打通 AI 智能体与 Salesforce Marketing Cloud(SFMC)之间的连接,使智能体能够用自然语言执行营销自动化任务。它将 SFMC 的 SOAP/REST API、速率限制和 XML 封套等复杂性进行封装,向 LLM 暴露确定、安全的工具接口。
主要能力
该服务器提供三个核心 MCP 工具:
1. query_data_extension
从 SFMC 的 Data Extension 查询订阅者数据。
- 参数:dataExtensionKey(字符串,必填,Data Extension 的外部键)、fields(数组,可选,指定返回字段,默认全部)、filter(对象,可选,过滤条件,格式为 { field, operator, value })、limit(数字,可选,最大返回记录数,默认 100)。
- 自然语言示例:“Show me the first 50 customers from the CustomerPreferences data extension who prefer Electronics”。
2. trigger_journey
将联系人登记到 Journey Builder 工作流中。
- 参数:journeyKey(字符串,必填,旅程的唯一键)、contactKey(字符串,必填,联系人的唯一标识)、eventData(对象,可选,传入旅程的额外事件数据)。
- 自然语言示例:“Enroll user@example.com into the welcome-series-2024 journey with registration date January 15, 2024”。
3. manage_subscriber
查看、更新或退订 Marketing Cloud 订阅者。
- 参数:action(字符串,必填,取值为 get、update 或 unsubscribe)、subscriberKey(字符串,必填,唯一订阅者标识,通常为邮箱)、attributes(对象,可选,用于 update 操作的更新属性)。
- 自然语言示例:“Get the subscriber details for user@example.com”“Update Jane's industry to Technology and company size to 50-200”“Unsubscribe user@example.com from all communications”。
使用方式
部署到 Vinkius Edge(推荐)
通过 Vinkius Edge 部署可获得自动伸缩、凭证管理和企业合规:
npx mcpfusion deploy
部署后 Vinkius 会提供一个端点 URL,连接到 LLM 客户端(Claude Desktop、Cursor 等)。
本地开发
git clone https://github.com/vinkius-labs/salesforce-marketing-mcp.git
cd salesforce-marketing-mcp
npm install
npm run dev
Docker 部署
docker pull vinkius/salesforce-marketing-mcp
docker run -d \
-e SFMC_CLIENT_ID=$SFMC_CLIENT_ID \
-e SFMC_CLIENT_SECRET=$SFMC_CLIENT_SECRET \
-e SFMC_SUBDOMAIN=$SFMC_SUBDOMAIN \
-e SFMC_ACCOUNT_ID=$SFMC_ACCOUNT_ID \
-p 3000:3000 \
vinkius/salesforce-marketing-mcp
配置
需要以下 SFMC 凭证环境变量:
- SFMC_CLIENT_ID(必填):API 客户端 ID
- SFMC_CLIENT_SECRET(必填):API 客户端密钥
- SFMC_SUBDOMAIN(必填):SFMC 子域名,如 mc123456789
- SFMC_ACCOUNT_ID(必填):SFMC 账户 MID
- SFMC_API_BASE_URL(可选):自定义 API 基础 URL,默认为 REST 端点
获取 SFMC 凭证的步骤:登录 Salesforce Marketing Cloud → Setup → Apps → Installed Packages → 创建或选择包 → 添加 API Integration 组件 → 设置所需范围(Data Extensions:Read、Write;Journeys:Execute、Read;List and Subscribers:Read、Write)→ 复制 Client ID 和 Client Secret → 从 Marketing Cloud URL 记录子域名 → 在 Setup → Account Settings 中找到 Account MID。
Claude Desktop 配置
添加到 claude_desktop_config.json:
{
"mcpServers": {
"salesforce-marketing": {
"command": "node",
"args": ["/path/to/salesforce-marketing-mcp/build/index.js"],
"env": {
"SFMC_CLIENT_ID": "your_client_id",
"SFMC_CLIENT_SECRET": "your_client_secret",
"SFMC_SUBDOMAIN": "mc123456789",
"SFMC_ACCOUNT_ID": "your_account_id"
}
}
}
}
常见使用模式
- 受众细分用于营销活动:先查询高参与度客户,再为每位合格客户触发旅程。
- 事件驱动的旅程登记:用户完成特定操作后,将其登记到培育旅程中。
- 偏好管理:根据网站活动更新订阅者偏好。
- 合规安全的退订:处理退订请求并保留审计轨迹。
适用场景
适用于需要让 AI 智能体以自然语言方式操作 Salesforce Marketing Cloud 的营销自动化场景,包括受众细分、旅程登记、订阅者管理与偏好更新。
限制与注意事项
- 使用前必须配置有效的 SFMC 凭证并启用相应 API 权限范围。
- 文件列出了常见问题的排查方法:认证失败(401)、Data Extension 未找到、速率限制(429)、旅程未触发、TypeScript 构建错误。
- 速率限制处理:在智能体逻辑中实现指数退避;部署在 Vinkius Edge 时速率限制自动处理;本地部署需添加重试逻辑。
- 多业务单元支持:可设置父 Account MID,并在工具调用中指定目标 BU 的 businessUnitId。
- 可调整超时设置(如 SFMC_TIMEOUT_MS、MAX_RECORDS_PER_QUERY)。
- 关于收费、价格、具体平台兼容性等更多信息,资料中暂未提供。