关于 ConferenceCaptioning
ConferenceCaptioning 是面向 ConferenceCaptioning 活动的只读 MCP 服务,供 AI 助手读取直播字幕及翻译、已保存的转录文本、观众提问和访问统计。
主要功能
- 01读取直播字幕和翻译
- 02查看直播状态与上下文
- 03列出并读取已保存的转录文本
- 04读取观众提问
- 05查看观众页面访问统计
适用场景
- 01跟进活动直播字幕
- 02会后查看转录文本
- 03整理观众提问以便跟进
MCP 相关
通过 stdio 或托管的 Streamable HTTP 端点向 MCP 客户端提供工具、资源和提示词。访问使用只读开发者 API 密钥。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.deafassistant.com/mcpclaude mcp add --transport http thefirstprototype-confcap https://mcp.deafassistant.com/mcp{"mcpServers":{"thefirstprototype-confcap":{"type":"http","url":"https://mcp.deafassistant.com/mcp"}}}在 Cursor 中打开{"servers":{"thefirstprototype-confcap":{"type":"http","url":"https://mcp.deafassistant.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"thefirstprototype-confcap":{"type":"http","url":"https://mcp.deafassistant.com/mcp"}}}{"mcpServers":{"thefirstprototype-confcap":{"serverUrl":"https://mcp.deafassistant.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.deafassistant.com/mcp需要授权工具
详细介绍
ConfCapMcp
一个只读的 ConferenceCaptioning MCP 服务。它让 AI 助手可以使用你在门户中创建的开发者 API 密钥,读取直播字幕和翻译、已保存的文字记录以及观众提问。
**隐私:**工具返回的所有内容都会发送给你连接的大模型。如果你曾向参会者承诺字幕会保密,请先查看该模型提供商的条款。
设置
- 在门户(https://app.deafassistant.com)中,打开 Advanced Settings,选择 Create Developer API Key。复制密钥(它只会显示一次)。该密钥是只读的,你可以随时删除。
- 构建:
npm install && npm run build。 - 将服务添加到客户端。Claude Desktop(
claude_desktop_config.json)或任何 stdio MCP 客户端:
{
"mcpServers": {
"confcap": {
"command": "node",
"args": ["/path/to/ConfCapMcp/dist/src/index.js"],
"env": { "CONFCAP_KEY": "cck_...", "CONFCAP_STREAM": "yourstream" }
}
}
}
Claude Code:claude mcp add confcap -e CONFCAP_KEY=cck_... -e CONFCAP_STREAM=yourstream -- node /path/to/ConfCapMcp/dist/src/index.js
| 变量 | 含义 |
|---|---|
CONFCAP_KEY | 你的开发者 API 密钥。读取已保存的文字记录、提问和受保护的直播时需要。读取公开直播时不需要。 |
CONFCAP_STREAM | 默认直播名称。如果未设置,且该密钥恰好拥有一个直播,则使用该直播。 |
CONFCAP_AUTH | 受保护直播的安全代码;无需成为所有者即可读取其字幕。 |
CONFCAP_API_URL | 默认值为 https://api.deafassistant.com。必须使用 https(或 localhost)。 |
请勿将密钥提交到源代码管理中。请参阅开发者 API 文档。
托管模式
MCP_TRANSPORT=http PORT=8787 node dist/src/index.js 会运行一个无状态的可流式传输 HTTP 端点(POST /mcp、GET /healthz),而不是 stdio。每个请求都携带自己的密钥(Authorization: Bearer cck_...),还可以选择携带 X-Confcap-Stream 和 X-Confcap-Auth。不会存储任何内容;调用者之间不会共享缓存文本;每位调用者每分钟最多 60 个请求。有关使用内存和 CPU 限制,在 nginx 后通过 systemd 服务自托管的说明,请参阅 deploy/README.md。
将客户端连接到托管服务(无需安装)
托管端点为 https://mcp.deafassistant.com/mcp。在门户中创建密钥(见上文第 1 步),然后:
- Claude Code:
claude mcp add --transport http confcap https://mcp.deafassistant.com/mcp --header "Authorization: Bearer cck_..."(添加--header "X-Confcap-Stream: yourstream"可设置默认直播)。 - **Claude Desktop(已测试):**Settings > Connectors > Add > Add custom connector。名称填写
ConferenceCaptioning,MCP 服务 URL 填写https://mcp.deafassistant.com/mcp,然后选择 Continue。它会提示“no sign-in”(我们不使用 OAuth);打开 Request headers,添加标头Authorization,值填写Bearer后接你的密钥,然后点击 Add。接着开始聊天并询问“what can the ConferenceCaptioning connector do”。 - **任何支持远程 MCP 和自定义标头的其他客户端:**使用相同的 URL 和标头
Authorization: Bearer cck_...。目前,仅提供 OAuth 登录的客户端无法发送静态标头。 - 仅支持 stdio 的客户端:
npx mcp-remote https://mcp.deafassistant.com/mcp --header "Authorization: Bearer cck_..."可连接到托管 URL。
每个请求都会发送密钥,因此请像保护密码文件一样保护客户端的配置文件。运行 HOSTED_URL=https://mcp.deafassistant.com node scripts/live-smoke.mjs 检查连接(需要登录门户并设置 FIREBASE_API_KEY,见下文)。
在 MCP Registry 中发布
server.json 描述了面向 官方 MCP Registry 的托管服务(一个远程的、可流式传输的 HTTP 服务,需要 Authorization 标头)。它通过 GitHub 的 OIDC 登录,由 “Publish to the MCP Registry” 工作流(.github/workflows/publish-registry.yml)发布,因为组织命名空间(io.github.TheFirstPrototype)无法通过笔记本电脑上的 mcp-publisher login github 发布。推送一个标签(例如 v0.1.0,标签会成为版本号),或手动运行工作流。Registry 会检查你是否控制该命名空间,而不是服务 URL。
工具
| 工具 | 功能 | 需要密钥 |
|---|---|---|
list_my_streams | 此密钥可读取的直播流 | 是 |
get_session_overview | 从这里开始:查看某个直播流的现状(正在直播或可能已停止、保留的直播文本、已保存的转录、问题、术语表),以及接下来该做什么 | 否(使用密钥可查看更多) |
get_stream_status | 是否正在直播、语言,以及是否可读取(ok、authRequired、expired、unknown) | 否 |
get_live_captions | 最新字幕文本、口语语言或翻译;使用 cursor 仅获取新文本 | 否(读取受保护的直播流时需要) |
get_stream_context | 颜色、徽标和术语表条目(用于纠正误听的名称) | 否 |
list_saved_transcripts | 已保存的转录,包含标题、备注、时间和时长 | 是 |
get_saved_transcript | 单份转录,分页返回 | 是 |
list_questions | 观众问题,按最早时间排序 | 是 |
get_audience_summary | 访客页面访问情况:总数、峰值、城市、引荐来源、设备 | 是 |
get_help_links | 操作指南链接(静态) | 否 |
此外,还提供资源 confcap://stream/{name}/status 和 confcap://stream/{name}/transcript/{id},以及提示词 meeting_minutes、triage_questions、catch_me_up、translate_summary。
注意事项:
- 翻译内容是近期文本的一个窗口,会随着人们讲话而重新翻译。已保存的转录仅使用口语语言;请让助手翻译。
- 只有部分直播流会保存历史记录,且仅保存长度达到 100 个字符或更长的会话。
- 语音内容和问题会用
<untrusted-text>包裹:它们由他人撰写,因此模型应将其视为数据,绝不能视为指令。
安全特性(均已测试)
- 仅发送
GET请求。服务没有任何写入或删除的代码路径,而且服务端的密钥也为只读。 - 凭据仅从环境变量读取,从不通过工具参数传入。错误信息会对凭据进行脱敏,也绝不会记录凭据。
- 账户
uid和管理员代码绝不会被使用或发送。 - 对同一直播流的调用间隔为每秒一次,总体调用频率为每秒五次;遇到
429和5xx时会采用退避策略重试。 - 两个服务实例绝不会共享缓存文本。
实时冒烟测试(stdio,或对托管端点运行 HOSTED_URL=https://... node scripts/live-smoke.mjs)
使用一次性密钥(由脚本创建并删除)运行已构建的服务,对接真实 API,以只读方式调用每个工具,并检查任何输出中是否出现密钥或账户 uid。
npm run build
FIREBASE_API_KEY='portal Firebase web apiKey' T_EMAIL='<portal login of an account that owns a stream>' T_PASS='<password>' npm run live-smoke
可选项:SMOKE_STREAM(默认值:账户的第一个直播流)、API_BASE_URL。退出代码为 0 表示测试通过。绝不要提交密码。相关检查包括 ConfCapApi/scripts/live_developer_keys_check.py(API)和 ConfCapPortal/e2e(门户 UI)。
开发
npm test 会构建项目并运行测试(真实的本地模拟 API、通过 SDK 内存传输的协议,以及 test/ 中所述的变更风格检查)。此服务使用 v1.x SDK,支持 2025-11-25 MCP 规范。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。