关于 retain-so
retain-so 是 MCP 服务,让 AI Agent 查询 Retain 中的客户流失风险与留存数据,并记录跟进操作。权限由 API 密钥决定,可只读查询或执行写入。
主要功能
- 01按流失风险和 MRR 查找客户
- 02获取完整客户健康档案
- 03查看风险 MRR 与活动提醒
- 04汇总流失和收入留存指标
- 05标记已联系或归档提醒
适用场景
- 01确定高风险客户的跟进优先级
- 02按风险等级检查收入敞口
- 03记录客户提醒已获联系
MCP 相关
通过查询客户、提醒和流失数据的工具,将 Retain 数据与操作提供给 MCP 客户端。写入操作需要读写 Agent 密钥。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
8收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| limit | integer | 否 | 返回的客户数量上限(默认值为 20)。 |
| risk_level | array | 否 | 要包含的风险等级。省略时包含严重风险和高风险。 |
详细介绍
Retain MCP Server
让你的 AI Agent 了解哪些客户即将流失,并采取行动。
@retain-so/mcp-server 可将 Retain 连接到任意 MCP 客户端(Claude Code、Claude Desktop、Cursor、Windsurf 等)。你可以用自然语言询问哪些客户面临风险、调取客户的完整健康状况档案、查看面临风险的 MRR,以及记录客户联系情况,全程无需打开控制面板。
Retain 是一个 AI 优先的客户流失预防与客户分析平台。此服务是你的 Agent 与 Retain 数据之间的桥梁。
你可以让 Agent 做什么
读取:
- “本周有哪些客户面临严重风险?”
- “按 MRR 排序,列出我的高风险客户。”
- “我面临风险的 MRR 总额是多少?按风险级别细分。”
- “调取 Acme Inc. 的完整档案。”
- “列出我尚未联系的有效提醒。”
- “总结本月的客户流失指标和净收入留存率。”
执行操作(需要读写密钥):
- “将 Globex 的提醒标记为已联系。”
- “归档 Initech 已解决的提醒。”
设置(不到 5 分钟)
- 在 Retain 中,前往 Settings → Agent keys 并创建密钥。仅查询请选择 read;若要让 Agent 执行操作,请选择 read & write。复制密钥(仅显示一次)。
- 添加下方适用于你的客户端的配置片段。
- 重启客户端并提出你的第一个问题。
Claude Code
claude mcp add retain --env RETAIN_API_KEY=rk_agent_xxx -- npx -y @retain-so/mcp-server
Claude Desktop(claude_desktop_config.json)
{
"mcpServers": {
"retain": {
"command": "npx",
"args": ["-y", "@retain-so/mcp-server"],
"env": { "RETAIN_API_KEY": "rk_agent_xxx" }
}
}
}
Cursor / Windsurf(.cursor/mcp.json 或 ~/.codeium/windsurf/mcp_config.json)
{
"mcpServers": {
"retain": {
"command": "npx",
"args": ["-y", "@retain-so/mcp-server"],
"env": { "RETAIN_API_KEY": "rk_agent_xxx" }
}
}
}
工具
| 工具 | 类型 | 功能 |
|---|---|---|
get_at_risk_customers | 读取 | 按客户流失风险(Critical/High/Stable/Healthy)列出客户,并按 MRR 排序。默认列出 Critical + High。 |
get_customer_details | 读取 | 按 ID 或名称获取单个客户的完整档案。 |
get_mrr_at_risk | 读取 | 面临风险的 MRR 总额,以及按风险级别统计的有效提醒数量。 |
get_active_alerts | 读取 | 按优先级列出有效提醒,包含风险因素和联系状态。 |
get_churn_metrics | 读取 | 客户流失率、流失的 MRR、扩张/收缩情况、净收入留存率。 |
mark_alert_contacted | 写入 | 将提醒标记为已联系。 |
archive_alert | 写入 | 归档已解决的提醒。 |
即将推出:send_retention_email(触发发送模板化客户留存邮件)。
对话示例
你: 哪些客户即将流失?涉及多少金额?
Agent: (调用
get_mrr_at_risk,然后调用get_at_risk_customers) 你有 7 条有效提醒,涉及 4,200 美元的风险 MRR。金额最高的两位客户是 Acme Inc.(900 美元,严重风险,18 天未活跃)和 Globex(650 美元,高风险)。你: 我今天给 Acme 发了邮件,将他们的提醒标记为已联系。
Agent: (调用
mark_alert_contacted) 已完成。Acme 的提醒现已标记为已联系。
配置
| 变量 | 必填 | 默认值 | 说明 |
|---|---|---|---|
RETAIN_API_KEY | 是 | (无) | 在 Settings → Agent keys 中创建的 Agent 密钥。 |
RETAIN_API_URL | 否 | https://api.retain.so | 覆盖 API 基础 URL(自托管/预发布环境)。 |
开发
npm install
npm run dev # run from source with tsx
npm run build # bundle to dist/
npm run typecheck
该服务不包含业务逻辑或数据库,只负责将 MCP 工具调用转换为针对 Retain 公共 /agent/* API 的 HTTP 请求。欢迎贡献代码和开发新工具。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。