前置准备
开始接入前,请先确认以下条件。
- 已开通云听 CEM 账号,并具备对应项目、数据和功能权限。
- 当前企业已开通 MCP 接入能力,并允许当前账号生成 API Key。
- 已准备好云听 MCP 服务地址:
https://ytcem.cn/mcp。 - 已在云听管理后台获取 API Key。
- 使用的 AI 客户端支持远程 MCP 服务。Claude 需要支持自定义连接器,Codex、Cursor、VS Code、Dify、Coze 等按各自平台的 MCP 配置入口接入。
- 如果由企业统一管理 Claude Team 或 Enterprise,请先确认工作区管理员是否允许添加自定义连接器。
在云听系统获取 API Key
MCP API Key 是企业级接入凭证,由云听管理后台统一生成和管理。客户端接入时只需要填写本文档提供的 MCP 服务地址和 API Key,不需要填写项目 ID 或内部上下文参数。
登录工作台,通过头像菜单进入管理后台
先登录云听,从菜单头像入口下拉进入 管理后台。
工作台支持不同布局方式,头像入口位置可能不同,请以实际界面为准。
进入 MCP 接入并生成 API Key
进入 企业中心 后,在左侧菜单打开 安全 > MCP 接入,点击右上角 生成 API Key。填写名称、选择有效期并确认生成后,立即复制完整 Key 并保存到安全位置。完整 Key 只展示一次。
如果看不到 MCP 接入 菜单,说明当前企业未开通 MCP,或当前账号没有管理接入凭证的权限。请联系企业管理员处理。
简易版:在 AI 工具中使用对话添加云听 MCP
将步骤 2 中生成的完整 API Key 粘贴到下方高亮位置,再复制整段内容发送给 Codex 等支持配置 MCP 的 AI 工具。
请帮我在当前 AI 工具中添加以下云听 MCP 服务:
{
"mcpServers": {
"ytcem-mcp": {
"type": "streamable-http",
"url": "https://ytcem.cn/mcp",
"headers": {
"X-MCP-Api-Key": ""
},
"disabled": false
}
}
}
在 Claude 中配置云听 MCP
还没有 API Key?先获取 API Key →
为避免 AI 在未确认时新增外部工具或接触凭证,Claude 需要你在设置中手动添加连接器。
Settings → Connectors → Add custom connector- 名称填
ytcem-mcp,服务地址填https://ytcem.cn/mcp。 - 按界面提示填入云听 API Key,然后保存。
- 在新对话中开启
ytcem-mcp连接器。团队账号如看不到添加入口,请联系工作区管理员。
还是无法完成?查看 Claude 官方配置文档 ↗
在 Codex 中配置云听 MCP
还没有 API Key?先获取 API Key →
Codex 会让用户在设置中确认 MCP 服务和凭证来源,因此对话里不一定能直接完成配置。
Settings → MCP servers → Add server- 名称填
ytcem-mcp,类型选Streamable HTTP,URL 填https://ytcem.cn/mcp。 - 将云听 API Key 作为 Bearer Token 配置,保存后重启 Codex。
- 新建对话并输入
/mcp,确认ytcem-mcp已启用、已认证。
还是无法完成?查看 Codex 官方 MCP 文档 ↗
在 Cursor 中配置云听 MCP
还没有 API Key?先获取 API Key →
Cursor 可能会拒绝在对话中直接写入 MCP 配置或凭证。这是正常的安全提示,请在设置中手动确认。
Cursor Settings → Tools & Integrations → Add Custom MCP- 点击
Add Custom MCP,打开当前项目的.cursor/mcp.json。 - 粘贴下方配置,将高亮处替换为云听 API Key,然后保存。
- 回到
MCP Tools,确认ytcem-mcp已出现并启用。
展开复制 Cursor 配置
{
"mcpServers": {
"ytcem-mcp": {
"url": "https://ytcem.cn/mcp",
"headers": {
"X-MCP-Api-Key": ""
}
}
}
}
还是无法完成?查看 Cursor 官方 MCP 文档 ↗
在 WorkBuddy 中配置云听 MCP
还没有 API Key?先获取 API Key →
WorkBuddy 需要用户在连接器管理中确认外部服务,对话无法代替这一步。
连接器 → 自定义连接器- 在侧边栏打开
连接器,点击右上角自定义连接器。 - 粘贴下方配置,将高亮处替换为云听 API Key,然后保存。
- 返回连接器列表,确认
ytcem-mcp已启用。
展开复制 WorkBuddy 配置
{
"mcpServers": {
"ytcem-mcp": {
"type": "streamable-http",
"url": "https://ytcem.cn/mcp",
"headers": {
"X-MCP-Api-Key": ""
},
"disabled": false
}
}
}
还是无法完成?查看 WorkBuddy 官方 MCP 文档 ↗
其他客户端配置
还没有 API Key?先获取 API Key →
VS Code、Dify、Coze 等客户端都只需要下面三项信息。
- 名称
ytcem-mcp- 服务地址
https://ytcem.cn/mcp- 认证方式
Bearer Token,填入云听 API Key
无需填写项目 ID 或其他上下文参数。
可用工具参考
下面按单个工具说明当前可开放给 AI 客户端调用的 MCP 能力。普通用户可以先看“作用”和“适用场景”,技术支持接入时重点看“入参”和“出参”。不同账号实际可用范围以开通配置为准。
确认 MCP 服务能力
get_server_info
返回云听 MCP 的服务名称、传输方式和异步任务模式,用于确认客户端已连接到正确服务。
参数
| 参数 | 类型 | 说明 |
|---|---|---|
- | - | 无需传入参数。 |
响应
| 字段 | 类型 | 说明 |
|---|---|---|
name | string | 服务名称。 |
transport | string | 传输方式,当前为 streamable-http。 |
async_task_mode | string | 异步任务模式,当前为 tool-polling。 |
初次接入或排查连接问题时,确认客户端已识别云听 MCP。
该工具只返回服务元数据,不读取业务数据。
查询可访问项目
list_accessible_projects
查询当前账号可访问的项目列表,为后续查询提供 projectId。
参数
| 参数 | 类型 | 说明 |
|---|---|---|
- | - | 无需显式参数。系统根据授权上下文识别当前账号和项目。 |
响应
| 字段 | 类型 | 说明 |
|---|---|---|
accountId | string | 当前 API Key 对应的账号 ID。 |
projects | array<object> | 当前账号可访问的项目列表。 |
id | string | 项目 ID,后续工具的 projectId 使用该值。 |
name | string | 项目名称。 |
Agent 开始数据查询前,先确认当前账号能访问哪些项目。
后续工具的 projectId 必须来自这个工具的返回结果。
查询项目支持的数据类型
get_project_data_types
查询指定项目支持的数据类型,用于选择正确的 queryTaskType。
参数
| 参数 | 类型 | 说明 |
|---|---|---|
projectId | string | 项目 ID,必传。 |
响应
| 字段 | 类型 | 说明 |
|---|---|---|
projects | array<object> | 项目及其可用数据类型列表。 |
id | string | 项目 ID。 |
name | string | 项目名称。 |
data_type | array<string> | 项目支持的数据类型。 |
数组项 | string | 数据类型值,如 TICKET、CONSUMER_REVIEW、EMAIL、NEWS 或 SOCIAL。 |
查询工单、品牌评论、邮件、新闻或社媒数据前先确认项目范围。
只能使用当前项目返回的数据类型创建查询任务。
查询项目主题列表
list_project_topic_names
查询指定项目的主题列表,例如品牌、店铺、品类和型号。
参数
| 参数 | 类型 | 说明 |
|---|---|---|
projectId | string | 项目 ID,必传。 |
响应
| 字段 | 类型 | 说明 |
|---|---|---|
result | array<string> | 指定项目的主题名称列表。 |
result[] | string | 主题名称,如品牌、店铺、品类或型号。 |
用户要求按品牌、店铺或型号分析时,先查询可用主题。
主题名称以指定项目的实际配置为准。
查询主题下的取值
list_project_topic_value_names
查询指定主题下的可用取值,避免 Agent 把不存在的品牌、店铺或型号写入查询条件。
参数
| 参数 | 类型 | 说明 |
|---|---|---|
projectId | string | 项目 ID,必传。 |
topicName | string | 主题名称,必传。 |
响应
| 字段 | 类型 | 说明 |
|---|---|---|
result | array<string> | 指定主题下的可用取值列表。 |
result[] | string | 主题取值名称。 |
按某个主题筛选数据前,先确认该主题下的实际取值。
topicName 应来自 list_project_topic_names 的返回结果。
查询项目标签树
list_project_tag_tree_names
查询指定项目的标签树列表,例如问题原因、产品体验和服务体验。
参数
| 参数 | 类型 | 说明 |
|---|---|---|
projectId | string | 项目 ID,必传。 |
响应
| 字段 | 类型 | 说明 |
|---|---|---|
result | array<object> | 指定项目的标签树列表。 |
id | string | number | 标签树 ID。 |
name | string | 标签树名称,可作为 treeNames[] 的值。 |
按业务标签归因之前,先确认项目已配置的标签树。
只返回当前账号和项目授权范围内可见的配置。
查询标签树下的标签层级
list_project_tag_tree_details_by_name
查询指定标签树下的完整标签层级,供后续筛选和归因分析使用。
参数
| 参数 | 类型 | 说明 |
|---|---|---|
projectId | string | 项目 ID,必传。 |
treeNames | array<string> | 标签树名称数组,必传。 |
treeNames[] | string | 单个标签树名称。 |
响应
| 字段 | 类型 | 说明 |
|---|---|---|
result | array<object> | 标签树详情列表。 |
businessPointId | number | 标签树业务点 ID。 |
businessPointLevel | number | 标签树业务点层级。 |
businessPointName | string | 标签树业务点名称。 |
aspectLevels | array<object> | 顶层标签节点列表。 |
id | number | 标签节点 ID。 |
name | string | 标签节点名称。 |
pid | number | 父节点 ID。 |
type | string | 节点类型。 |
escoreKind | string | 情感或评分类型。 |
isGlobal | boolean | 是否为全局标签。 |
children | array<object> | 子标签节点,字段与 aspectLevels[] 相同,并可继续递归。 |
需要按一级、二级、三级原因逐层分析反馈。
treeNames 应来自 list_project_tag_tree_names 的返回结果。
查询客户反馈原文
query_project_raw_messages
按项目、数据类型、时间、平台、字段和情感查询客户反馈原文,并创建异步任务。
参数
| 参数 | 类型 | 说明 |
|---|---|---|
projectId | string | 项目 ID,必传;兼容 project_id。 |
queryTaskType | string | 数据类型,必传,如 TICKET、CONSUMER_REVIEW、EMAIL、NEWS、SOCIAL。 |
startTime | string | 开始时间,必传,格式 yyyy-MM-dd HH:mm:ss。 |
endTime | string | 结束时间,选填,格式同上。 |
total | integer | 最大导出条数,选填,不能超过当前服务限制。 |
source | string | 平台来源,选填。 |
fieldFilter | object | 字段筛选,选填,格式 {"字段名": ["值"]}。 |
emotion | string | 情感筛选,选填,支持正面、负面、中性、混合。 |
响应
| 字段 | 类型 | 说明 |
|---|---|---|
task_id | string | 异步查询任务 ID。 |
next_tool | string | 下一步调用的工具,初始为 get_task_status。 |
poll_after_seconds | number | 建议等待多少秒后查询任务状态。 |
查询工单、品牌评论、邮件、新闻、社媒等客户反馈数据。
时间不能使用 Unix 时间戳。创建任务后必须调用 get_task_status 轮询。
查询异步任务状态
get_task_status
根据 task_id 查询异步任务状态,并通过 next_tool 告诉 Agent 继续查询状态还是查询结果。
参数
| 参数 | 类型 | 说明 |
|---|---|---|
task_id | string | 查询任务 ID,必传。 |
响应
| 字段 | 类型 | 说明 |
|---|---|---|
status | string | 任务当前状态。 |
result_available | boolean | 最终结果是否可获取。 |
next_tool | string | 下一步调用 get_task_status 或 get_query_task_result。 |
poll_after_seconds | number | 建议轮询间隔。 |
创建反馈查询任务后,等待云听完成异步导出。
当 result_available=true 时,再调用 get_query_task_result。
查询异步任务结果
get_query_task_result
任务完成后,根据 task_id 查询最终结果,供 Agent 继续总结和分析。
参数
| 参数 | 类型 | 说明 |
|---|---|---|
task_id | string | 已完成的查询任务 ID,必传。 |
响应
| 字段 | 类型 | 说明 |
|---|---|---|
ok | boolean | 本次工具调用是否成功。 |
task_id | string | 查询任务 ID。 |
status | string | 任务状态,完成时为 succeeded。 |
total | number | 本次查询结果总数。 |
cosExcelUrl | string | 查询结果 Excel 文件的下载地址。 |
elapsedMinutes | number | 任务实际耗时,仅测试任务返回。 |
message | string | 任务结果提示信息。 |
result_available | boolean | 最终结果是否可获取。 |
terminal | boolean | 任务是否已进入终态。 |
progress_percent | number | 任务进度百分比,结果可获取时为 100。 |
next_action | string | 建议的下一步操作,结果返回后为 none。 |
next_tool | string | null | 建议调用的下一工具,结果返回后为空。 |
poll_after_seconds | number | null | 建议轮询间隔,结果返回后为空。 |
request_id | string | 本次请求 ID,可用于问题排查。 |
查询完成后查看反馈明细或导出数据,继续归纳问题和输出结论。
任务未完成时会返回 TASK.NOT_READY,应继续查询状态。
重要使用说明
- 云听 MCP 只能访问当前账号授权范围内的数据和工具。
- 大批量数据查询通常会创建异步任务,结果准备完成后再返回到对话中继续分析。
- API Key 用于身份鉴权,请妥善保管,不要写入公开代码仓库、截图或共享文档。
- 当前文档覆盖项目授权、数据类型、主题标签和异步客户反馈查询。后续新增能力请以云听单独的产品说明为准。
- 企业 Agent 平台接入前,建议先用小范围项目和测试账号验证工具权限、返回内容和失败处理。
常见问题
| 现象 | 处理建议 |
|---|---|
| Claude 中找不到 Connectors 入口 | 确认当前 Claude 套餐和工作区策略是否支持自定义连接器,并更新到最新版本。 |
| Team / Enterprise 成员无法添加连接器 | 通常需要工作区 Owner 先在组织级别添加连接器,成员再自行连接和授权。 |
| 连接后看不到云听工具 | 确认当前对话已启用云听 MCP,并检查账号是否已开通对应工具范围。 |
| API Key 校验失败 | 检查 API Key 是否复制完整,是否仍有效,是否和当前 MCP 地址匹配。 |
| 查询任务创建失败 | 检查账号权限、项目范围、消息类型、时间范围和字段筛选格式。 |
| 结果没有立即返回 | 大批量查询会异步执行。等待结果准备完成后,再让 AI 继续总结或分析。 |





