关于 Speak AI
Speak AI 的 MCP 服务将 Claude、ChatGPT 等 MCP 客户端连接到工作区媒体,支持搜索录音、获取转录与洞察,并处理片段和导出内容。
主要功能
- 01搜索音频和视频录音
- 02获取转录文本与 AI 洞察
- 03跨媒体文件提问
- 04创建片段并导出字幕
- 05安排会议并获取会议转录
适用场景
- 01按主题整理访谈反馈
- 02将会议总结为决策和行动项
- 03为产品简报查找客户引述
- 04制作带字幕的网络研讨会精彩片段
MCP 相关
通过远程 HTTP 和 stdio 方式向 MCP 客户端开放 Speak AI 工作区操作,涵盖媒体搜索、转录、洞察、片段、导出及会议事件。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://api.speakai.co/v1/mcpclaude mcp add --transport http speakai https://api.speakai.co/v1/mcp{"mcpServers":{"speakai":{"type":"http","url":"https://api.speakai.co/v1/mcp"}}}在 Cursor 中打开{"servers":{"speakai":{"type":"http","url":"https://api.speakai.co/v1/mcp"}}}在 VS Code 中打开{"mcpServers":{"speakai":{"type":"http","url":"https://api.speakai.co/v1/mcp"}}}{"mcpServers":{"speakai":{"serverUrl":"https://api.speakai.co/v1/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
113| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| isVideo | boolean | 是 | 视频文件设为 true,音频文件设为 false |
| filename | string | 是 | 包含扩展名的原始文件名 |
| mimeType | string | 是 | 文件的 MIME 类型,例如 "audio/mp4" 或 "video/mp4" |
详细介绍
60 秒内将 Speak AI 连接到 Claude 或 ChatGPT
适用于研究人员、营收团队、会议频繁的团队和媒体工作流。
无需 Terminal、npm 或 JSON 配置文件。
在 docs.speakai.co/mcp 查看安装指南 →
功能介绍
Speak AI 会转录你的访谈、销售通话、研究会议、网络研讨会、播客和团队会议,然后提取摘要、行动项、情绪和主题等 AI 洞察。
此连接器(基于 MCP 构建——这是 Claude 和 ChatGPT 连接应用的标准方式)可将这些功能带入 Claude 或 ChatGPT。安装后,你可以提出以下请求:
- “找出最近 10 场提及定价的客户访谈,按主题归类反馈,并注明来源录音。”
- “将本周团队会议总结为决策、行动项、负责人和未解决的风险。”
- “从近期研究通话中提取关于入门流程阻碍的客户原话,并整理成产品简报。”
- “从最新的网络研讨会中找出一段精彩的 30 秒片段,创建剪辑并导出字幕。”
AI 会负责搜索、总结和引用。你的录音会保留在 Speak AI 工作区中——Claude 和 ChatGPT 只会通过此连接器查询录音。
安装(选择你的工具)
两种安装方式——选择更方便的一种。一键连接方式通过权限弹窗授权访问;手动方式则需要在请求头中粘贴 API 密钥。
不知道选哪种? 如果你已经在使用 Claude 或 ChatGPT,就为你正在使用的那个安装。
Speak AI 连接器地址(将其粘贴到 AI 工具的连接器设置中——这就像把 Zoom 链接粘贴到日历中一样):
https://api.speakai.co/v1/mcp
Claude.ai(网页)
- 打开 claude.ai/settings/connectors
- 点击 Add custom connector
- 将其命名为 Speak AI,粘贴
https://api.speakai.co/v1/mcp,然后点击 Add - 权限弹窗会提示你登录 Speak AI 并点击 Allow
- 完成——Speak AI 会显示在连接器列表中,其工具已准备就绪。打开新聊天并询问有关录音的问题。
每一步的界面截图
3. 添加自定义连接器对话框——已填写名称和 URL。

5. 已连接——Speak AI 工具显示在连接器列表中。

开发者备选方案——使用 API 密钥手动设置
前往 app.speakai.co/developers/apikeys 获取密钥,然后在步骤 3 中展开 Advanced settings,添加 Authorization = Bearer <your-key>,再点击 Add。
- 打开 Claude Desktop → Settings → Connectors → Add custom connector
- 粘贴
https://api.speakai.co/v1/mcp - 点击 Add — 随即会弹出权限窗口。登录 Speak AI,然后在出现的页面上点击 Allow。
- 完成。
开发者替代方案 — 使用 API 密钥手动设置
在 app.speakai.co/developers/apikeys 获取密钥,然后在第 2 步中展开 Custom headers 并添加:
- Header name:
Authorization - Header value:
Bearer <your-speak-api-key>
然后点击 Add。
ChatGPT
- 打开 ChatGPT → Settings → Apps & Connectors → Advanced
- 开启 Developer Mode(由于 Speak AI 尚未列入 ChatGPT 的应用商店,因此必须开启此模式 — 这样才能将其添加为自定义应用)
- 返回 Apps & Connectors,点击 Create 并粘贴
https://api.speakai.co/v1/mcp - 在 Authentication 中选择 OAuth
- ChatGPT 会打开一个新标签页,跳转到 Speak AI — 登录(如果已登录,则点击 Confirm)以授权。之后会跳转回来;关闭该标签页并返回 ChatGPT。
- 针对每个聊天: 打开一个聊天,点击 + / 连接器菜单,然后为该聊天启用 Speak AI。
各步骤界面示例(截图)
1. ChatGPT 中的连接界面 — 粘贴连接器 URL 并选择 OAuth。

2. 确认并继续 — ChatGPT 会提示你继续前往 Speak AI。

3. 在 Speak AI 上授权 — 登录,或在已登录的情况下点击 Confirm。

4. 已连接 — Speak AI 现在会显示在 ChatGPT 的连接器列表中。

连接遇到问题?
在早期访问期间,我们发现了以下几种情况:
- 授权标签页未显示“已连接”页面 — 如果打开的是普通 Speak AI 控制面板,没有看到确认信息,授权仍然已完成。关闭该标签页并返回 ChatGPT。
- “Connect”按钮不断重新打开控制面板 — 完全关闭并重新打开 ChatGPT,然后检查 Settings → Apps & Connectors。Speak AI 应该已经列在那里。
- 聊天中显示“No actions available” — 确认 Developer Mode 仍处于开启状态,并且已通过每个聊天的连接器菜单启用 Speak AI(见上方第 6 步)。
仍然无法解决?请发送邮件至 [email protected]。
Claude Code(终端)
推荐 — 从 Claude Code 官方插件市场安装:
- 添加官方市场(仅需一次):
/plugin marketplace add claude-plugins-official - 安装插件:
/plugin install speakai@claude-plugins-official - 激活插件:
/reload-plugins - 运行
getting-started技能并粘贴你的 Speak AI API 密钥。在 app.speakai.co/developers/apikeys 生成密钥。
如果 /plugin install 找不到 Speak AI,请使用 /plugin marketplace update claude-plugins-official 刷新本地目录,然后重试。
开发者替代方案 — 手动使用 HTTP 传输
跳过插件,直接添加连接器:
claude mcp add speakai --transport http --url https://api.speakai.co/v1/mcp
Claude Code 将打开 OAuth 窗口供你登录。若要跳过 OAuth,改为传入 Bearer 令牌:
claude mcp add speakai --transport http --url https://api.speakai.co/v1/mcp \
--header "Authorization: Bearer $SPEAKAI_KEY"
请先在 shell 中设置 SPEAKAI_KEY,或直接在命令中粘贴密钥。在 app.speakai.co/developers/apikeys 生成密钥。
点击按钮 — Cursor 会自动注册并打开权限弹窗。登录 Speak AI,然后点击 Allow。
开发者替代方案 — 使用 API 密钥手动设置
请参阅本 README 底部的开发者参考,使用手动 stdio 设置。
VS Code
点击按钮 — VS Code 会自动注册并打开权限弹窗。登录 Speak AI,然后点击 Allow。
开发者替代方案 — 使用 API 密钥手动设置
请参阅本 README 底部的开发者参考,使用手动 stdio 设置。
OpenClaw / ClawHub
Speak AI 已作为技能发布在 ClawHub 上,供兼容 OpenClaw 的 Agent 使用。
- 访问 ClawHub 上的 Speak AI 技能页面
- 按照适用于你的 Agent 的安装说明操作 — 例如,在 ClawHub CLI 中运行
clawhub install speakai - 设置
SPEAK_API_KEY环境变量。在 app.speakai.co/developers/apikeys 生成密钥。
ChatGPT(API / Responses)
适用于直接调用 Responses API 的开发者。在工具配置中传入 bearer token:
{
"tools": [
{
"type": "mcp",
"server_url": "https://api.speakai.co/v1/mcp",
"authorization": "Bearer YOUR_SPEAK_API_KEY"
}
]
}
在 app.speakai.co/developers/apikeys 获取密钥。
隐私与数据
当你在权限弹窗中点击 Allow(或将 Speak AI API 密钥粘贴到 Claude 或 ChatGPT 中)时,即表示你授权该 AI 助手代表你读取和修改 Speak AI 工作区,其中包括媒体文件、转录文本和 AI 洞察。
- 你的录音保留在 Speak AI 工作区中,不会被 Anthropic 或 OpenAI 复制或存储。
- Claude/ChatGPT 只能看到你的 AI 助手针对你提出的问题所请求的特定数据。
- 你可以随时断开连接:在 Claude/ChatGPT 中移除连接器、在 api.speakai.co/v1/oauth/connections 撤销连接,或在 app.speakai.co/developers/apikeys 轮换或撤销 API 密钥。
有关数据处理的问题,请参阅 speakai.co/privacy,或发送邮件至 [email protected]。
需要连接帮助?
安装此工具不需要任何技术背景。 如果有任何不清楚或无法正常使用的地方:
- 发送邮件至 [email protected] — 我们会在 24 小时内回复
- 预约产品演示,我们会和你一起完成设置
安装后可以做什么
Speak AI 提供 189 个工具,AI 助手可以调用这些工具。你不需要记住它们——Claude/ChatGPT 会根据你的请求选择合适的工具。以下是各类别的示例:
| 提问 | 使用的工具(自动) |
|---|---|
| “查找有关定价的客户访谈,并按主题整理反馈” | search_media、ask_ai_chat |
| “将本周的会议总结为决策、负责人和风险” | list_media、get_media_insights |
| “从昨天的通话中提取行动项” | get_media_insights、ask_ai_chat |
| “安排 AI 加入我下午 2 点的 Zoom 会议” | schedule_meeting_event |
| “从上次获取之后,提取当前 MS Teams 会议的实时转录” | list_meeting_events、get_live_meeting_transcript |
| “查找一段 30 秒的网络研讨会精彩片段并导出字幕” | create_clip、export_media |
| “将转录导出为 PDF,并将字幕导出为 SRT” | export_media |
| “比较第一季度和第二季度的销售通话,并总结客户异议的变化” | search_media、ask_ai_chat |
完整的工具目录请参阅下方的开发者参考。
开发者参考(CLI、API、高级设置)
MCP 服务位于 https://api.speakai.co/v1/mcp,支持两种身份验证方式:
- OAuth 2.1 + 动态客户端注册——将上方的 URL 粘贴到任意 MCP 客户端并批准授权弹窗,即可完成安装。发现、DCR、
/authorize+ 授权、/token和撤销端点均可用。 - Bearer 令牌(你的 Speak AI API 密钥——
Authorization: Bearer <key>标头)。适用于不支持 OAuth 的客户端,以及 npm CLI 和 stdio 模式。
在 app.speakai.co/developers/apikeys 获取 Speak AI API 密钥。
CLI / npm 包
@speakai/mcp-server npm 包提供:
- 用于脚本编写和管道处理的 CLI(
speakai-mcp,包含 30 条命令)。 - 面向不支持远程 HTTP 传输的客户端的 stdio 模式 MCP 服务。
- 可检测已安装 MCP 客户端并为其配置的自动设置向导。
npm install -g @speakai/mcp-server
speakai-mcp init
手动配置(stdio 模式)
Claude Desktop
添加到 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows):
{
"mcpServers": {
"speak-ai": {
"command": "npx",
"args": ["-y", "@speakai/mcp-server"],
"env": {
"SPEAK_API_KEY": "your-api-key"
}
}
}
}
Claude Code
export SPEAK_API_KEY="your-api-key"
claude mcp add speak-ai -- npx -y @speakai/mcp-server
Cursor
添加到 ~/.cursor/mcp.json:
{
"mcpServers": {
"speak-ai": {
"command": "npx",
"args": ["-y", "@speakai/mcp-server"],
"env": {
"SPEAK_API_KEY": "your-api-key"
}
}
}
}
Windsurf
添加到 ~/.windsurf/mcp.json:
{
"mcpServers": {
"speak-ai": {
"command": "npx",
"args": ["-y", "@speakai/mcp-server"],
"env": {
"SPEAK_API_KEY": "your-api-key"
}
}
}
}
VS Code
添加到 ~/.vscode/mcp.json:
{
"mcpServers": {
"speak-ai": {
"command": "npx",
"args": ["-y", "@speakai/mcp-server"],
"env": {
"SPEAK_API_KEY": "your-api-key"
}
}
}
}
任意 MCP 客户端(STDIO)
SPEAK_API_KEY=your-key npx @speakai/mcp-server
环境变量
| 变量 | 必需 | 默认值 | 描述 |
|---|---|---|---|
SPEAK_API_KEY | 是 | -- | 你的 Speak AI API 密钥 |
SPEAK_ACCESS_TOKEN | 否 | 自动管理 | JWT 访问令牌(自动获取并刷新) |
SPEAK_BASE_URL | 否 | https://api.speakai.co | API 基础 URL |
MCP 工具(189)
媒体(19 个工具)
| 工具 | 描述 | |---|---| | `update_transcription` | 通过查找并替换文本,编辑媒体文件的官方转录文本 | | `get_signed_upload_url` | 获取用于直接上传文件的预签名 S3 URL | | `upload_media` | 从直接公开 URL、`get_signed_upload_url` URL 或受支持的页面链接(YouTube、TikTok、Instagram、X/Twitter、Facebook、Reddit、SoundCloud、Twitch、Dailymotion、Streamable、Snapchat、Pinterest、Tumblr、Bilibili、VK、OK.ru、Rutube)导入音频或视频文件。不支持 Vimeo 和 Loom 页面链接。按媒体时长计费。 | | `upload_local_file` | 直接从磁盘上传本地文件(仅限 stdio 和 CLI,不可在远程服务上使用) | | `upload_and_analyze` | 从 URL 上传媒体(直接文件,或 `upload_media` 接受的任意社交媒体/视频页面链接,系统会自动解析),并立即返回其 `media_id`。轮询 `get_media_status`,直到状态变为 `processed`,然后调用 `get_media_insights` 获取 AI 摘要。如果用户已说明所需类型,请设置 `mediaType`;否则不设置,由服务端选择最佳可用轨道。 | | `list_media` | 使用筛选条件和分页列出并搜索媒体文件,并可通过 `include` 参数选择内嵌数据(转录文本、说话人、关键词) | | `get_media_insights` | 获取 AI 洞察——主题、情感、摘要、行动事项 | | `get_transcript` | 获取包含说话人标签和时间戳的完整转录文本 | | `get_captions` | 获取媒体文件的字幕格式文本 | | `update_transcript_speakers` | 重命名转录文本中的说话人标签 | | `bulk_update_transcript_speakers` | 一次调用即可重命名多个媒体文件中的说话人标签(最多 500 个) | | `get_media_status` | 检查处理状态(pending → processed) | | `update_media_metadata` | 更新名称、描述、标签或文件夹 | | `set_media_thumbnail` | 使用图片链接、base64 图片字节数据或指定秒数的画面设置自定义视频缩略图(JPEG、PNG 或 WebP,最大 10 MB) | | `delete_media` | 永久删除媒体文件 | | `toggle_media_favorite` | 将媒体标记为收藏或取消收藏 | | `reanalyze_media` | 使用最新模型重新运行 AI 分析 | | `bulk_move_media` | 一次调用即可将多个媒体文件移至文件夹 | | `upload_and_analyze_batch` | 一次调用最多上传 25 个 URL,每次处理 5 个。每个 URL 都会报告上传成功或失败及其原因,因此单个无效链接不会导致整个批次失败。 |AI 聊天(13 个工具)
| 工具 | 描述 |
|---|---|
ask_ai_chat | 向 AI 提问有关媒体、文件夹或整个工作区的问题 |
retry_ai_chat | 重试失败或未完成的 AI 聊天回复 |
get_chat_history | 列出最近的 AI 聊天对话 |
get_chat_messages | 获取对话的完整消息历史记录 |
delete_chat_conversation | 删除整个聊天对话及其消息 |
list_prompts | 列出最近的 AI 聊天消息及其回答和来源 |
get_favorite_prompts | 获取所有已收藏的提示词及回答 |
toggle_prompt_favorite | 将聊天消息标记为收藏或取消收藏 |
update_chat_title | 重命名聊天对话 |
submit_chat_feedback | 为聊天回复评分(赞/踩) |
get_chat_statistics | 获取 AI 聊天使用统计信息 |
export_chat_answer | 导出对话或回答 |
get_analysis_quote | 检查文件是否可作为音频/视频分析,以及费用是多少 |
搜索与分析(3 个工具)
| 工具 | 描述 |
|---|---|
search_media | 使用筛选条件,对转录文本、洞察和元数据进行深度搜索 |
get_media_statistics | 获取工作区级别的统计数据——数量、存储空间、处理情况明细 |
list_supported_languages | 列出所有支持的转录语言 |
文件夹与视图(11 个工具)
| 工具 | 描述 | |---|---| | `list_folders` | 分页列出所有文件夹并排序 | | `get_folder_info` | 获取文件夹详情和内容 | | `create_folder` | 创建新文件夹 | | `clone_folder` | 复制文件夹及其内容 | | `update_folder` | 重命名或更新文件夹,或更改哪些用户和群组可以访问该文件夹 | | `delete_folder` | 删除文件夹(保留媒体) | | `get_all_folder_views` | 列出所有文件夹中的已保存视图 | | `get_folder_views` | 列出指定文件夹的视图 | | `create_folder_view` | 使用自定义筛选条件创建已保存视图 | | `update_folder_view` | 更新已保存视图 | | `clone_folder_view` | 复制视图 |录制器和调查(10 个工具)
| 工具 | 描述 |
|---|---|
create_recorder | 创建新的录制器或调查 |
list_recorders | 列出所有录制器 |
get_recorder_info | 获取录制器详情和问题 |
clone_recorder | 复制录制器 |
get_recorder_recordings | 列出所有提交内容 |
generate_recorder_url | 获取可分享的公开 URL |
update_recorder_settings | 更新品牌信息和权限 |
update_recorder_questions | 更新调查问题 |
check_recorder_status | 检查录制器是否处于活动状态 |
delete_recorder | 删除录制器 |
片段(4 个工具)
| 工具 | 描述 |
|---|---|
create_clip | 从媒体文件中的时间范围创建精彩片段 |
get_clips | 列出片段,或获取特定片段及其下载 URL |
update_clip | 更新片段标题、描述或标签 |
delete_clip | 永久删除片段 |
导出(2 个工具)
| 工具 | 描述 |
|---|---|
export_media | 导出为 PDF、DOCX、SRT、VTT、TXT、CSV 或标签 CSV(csv-labels) |
export_multiple_media | 批量导出,可选择合并为一个文件,包括标签 CSV |
会议助手(5 个工具)
| 工具 | 描述 |
|---|---|
list_meeting_events | 列出已安排和已完成的事件 |
schedule_meeting_event | 安排 AI 助手加入会议 |
remove_assistant_from_meeting | 将助手从正在进行的会议中移除 |
delete_scheduled_assistant | 取消已安排的会议助手 |
get_live_meeting_transcript | 仅获取自上次调用以来新增到实时(或刚结束的)会议转录中的句子。机器人录制期间,适用于 Zoom / Google Meet / MS Teams。 |
自动化(20 个工具)
| 工具 | 描述 | |---|---| | `list_automations` | 分页列出自动化规则,并支持筛选 | | `get_automation` | 获取自动化详情(触发器 + 步骤图) | | `create_automation` | 创建自动化规则(V2 触发器 + 步骤图) | | `update_automation` | 更新自动化(替换触发器 + 步骤) | | `toggle_automation_status` | 启用或禁用自动化 | | `list_automation_names` | 列出包含 AI 聊天步骤的已启用自动化的名称和 ID | | `get_automation_runs` | 获取自动化的运行历史记录 | | `bulk_update_automation_status` | 批量启用或停用自动化 | | `bulk_assign_automation_folders` | 为多个自动化设置文件夹范围 | | `run_automations` | 立即针对媒体手动运行自动化 | | `delete_automation` | 永久删除自动化 | | `list_automation_apps` | 列出目录应用:Speak 内置应用,以及标记为已连接或未连接的第三方应用(只读) | | `list_automation_triggers` | 列出目录中的触发器类型(可按应用筛选) | | `list_automation_actions` | 列出目录中的操作/步骤类型(可按应用筛选) | | `build_automation` | 根据易读的规范创建或更新自动化,无需使用线格式 | | `get_automation_run` | 获取一次运行的完整信息,包括每个步骤以及各分支的走向 | | `get_automation_run_stats` | 汇总一段时间内的运行结果数量 | | `test_automation` | 针对一个媒体项运行一次自动化(会产生实际副作用) | | `validate_automation_graph` | 检查步骤图是否存在问题,但不保存 | | `describe_automation_graph` | 以缩进的分支树形式显示已保存自动化的步骤 |Webhooks(7 个工具)
| 工具 | 描述 |
|---|---|
create_webhook | 创建用于事件通知的 Webhook |
list_webhooks | 列出所有 Webhook |
update_webhook | 更新 Webhook |
delete_webhook | 删除 Webhook |
provision_inbound_webhook | 配置独立的入站 Webhook,并获取其公开接收 URL |
get_inbound_webhook | 获取入站 Webhook 的接收 URL、示例负载和触发令牌 |
get_webhook_attempts | 获取入站 Webhook 的投递日志及确认状态 |
文本笔记(4 个工具)
| 工具 | 描述 |
|---|---|
create_text_note | 创建用于 AI 分析的文本笔记(先使用套餐额度,再使用积分) |
get_text_insight | 获取文本笔记的 AI 洞察 |
reanalyze_text | 重新运行文本笔记的 AI 分析 |
update_text_note | 更新笔记名称或内容(仅分析尚未分析的笔记) |
字段(4 个工具)
| 工具 | 描述 |
|---|---|
list_fields | 列出所有自定义字段 |
create_field | 创建自定义字段 |
update_field | 更新自定义字段 |
update_multiple_fields | 批量更新多个字段 |
标签和评论(16 个工具)
| 工具 | 描述 | |---|---| | `list_labels` | 以树状结构列出工作区标签和分组 | | `create_label` | 创建标签或标签分组 | | `update_label` | 重命名、更改颜色、添加描述、移动或重新排序标签 | | `archive_label` | 归档标签(归档分组时,其标签也会一并归档) | | `restore_label` | 恢复已归档的标签或分组 | | `merge_labels` | 将某个标签的所有使用位置转移到另一个标签 | | `add_speak_label_sets` | 添加预设的 Speak 标签分组 | | `list_media_labels` | 列出应用于转录内容的标签 | | `apply_label` | 按引文或单词范围找到转录中的单词并添加标签 | | `update_media_label` | 更改片段的标签、确认片段或移动片段 | | `remove_media_label` | 移除已添加标签的片段 | | `list_media_comments` | 列出文件的评论串 | | `add_comment` | 对文件或其中的单词发表评论,或回复评论串 | | `update_comment` | 编辑你自己的评论文本 | | `resolve_comment` | 解决或重新打开评论串 | | `delete_comment` | 删除评论 |嵌入式播放器(7 个工具)
| 工具 | 描述 |
|---|---|
create_embed | 创建可嵌入的播放器小组件 |
update_embed | 更新嵌入设置 |
check_embed | 检查媒体是否存在嵌入式播放器 |
get_embed_iframe_url | 获取适用于你网站的 iframe URL |
list_embed_sessions | 所有者分析:列出嵌入式播放器的访问记录,并可按查看者、设备、国家/地区和流量进行筛选 |
get_embed_session_summary | 所有者分析:查看嵌入式播放器的访问关键指标、每日趋势、来源和媒体明细表 |
get_embed_session | 所有者分析:完整查看某次嵌入式播放器访问及分页事件 |
用户和团队(5 个工具)
| 工具 | 描述 |
|---|---|
list_users | 列出工作区成员的 ID、电子邮件和权限 |
list_user_groups | 列出包含完整成员信息的用户组 |
create_user_group | 创建用户组并分配成员 |
update_user_group | 更新用户组的名称和成员(完全替换) |
delete_user_group | 删除用户组 |
仪表板(9 个工具)
| 工具 | 描述 |
|---|---|
list_dashboard_widgets | 列出小组件类型、其配置键和示例负载 |
list_dashboards | 列出你有权访问的分析仪表板 |
get_dashboard | 获取仪表板的完整配置(小组件、筛选条件、范围) |
create_dashboard | 创建仪表板并自动排列小组件 |
update_dashboard | 更新仪表板(部分更新;小组件将被替换) |
delete_dashboard | 软删除仪表板及其分享链接 |
duplicate_dashboard | 复制仪表板并为小组件生成新的 ID |
share_dashboard | 启用公开分享并返回分享令牌 |
get_dashboard_speakers_insight | 查看指定文件夹、日期和筛选范围内的说话人细分 |
语音 Agent(34 个工具)
| 工具 | 描述 | |---|---| | `list_voice_agents` | 列出公司的语音 Agent(按最新优先)及其配置 | | `get_voice_agent` | 按 agentId 获取单个语音 Agent | | `create_voice_agent` | 创建语音 Agent(必须提供名称、个性、指令和语音) | | `update_voice_agent` | 更新语音 Agent;只发送要更改的字段 | | `delete_voice_agent` | 删除语音 Agent;其分享链接、问题和测试套件将停止工作(没有恢复工具) | | `create_voice_agent_from_prompt` | 根据纯英文描述创建新 Agent;大模型会生成其名称、指令和设置 | | `generate_voice_agent_config` | 针对现有 Agent 执行相同的提示词转配置生成 | | `get_voice_agent_setup_guide` | 探索辅助工具:构建顺序、各部分对应的工具以及常见错误 | | `list_voice_avatars` | 列出可关联到语音 Agent 的视频头像 | | `list_voices` | 列出可供语音 Agent 使用的文本转语音音色 | | `list_voice_conversations` | 列出由语音 Agent 处理的对话(按 agentId 筛选) | | `get_voice_conversation` | 按 conversationId 获取单个对话 | | `get_agent_analytics` | 获取某个语音 Agent 在指定日期范围内的所有者分析数据(KPI、受众、结果、质量) | | `list_voice_questions` | 按提问顺序列出语音 Agent 配置的问题 | | `get_voice_question` | 按 fieldId 获取单个问题 | | `create_voice_question` | 将问题模板附加到语音 Agent | | `update_voice_question` | 部分更新语音 Agent 的问题 | | `delete_voice_question` | 从语音 Agent 中移除问题 | | `reorder_voice_questions` | 设置语音 Agent 提问的顺序 | | `list_voice_question_templates` | 列出共享和公司自有的问题模板库 | | `create_voice_question_template` | 创建公司范围的自定义问题模板 | | `get_voice_test_suite` | 获取语音 Agent 的测试套件(包括场景和运行设置) | | `update_voice_test_suite` | 创建或更新语音 Agent 的测试套件(执行 upsert;替换场景) | | `generate_voice_test_suite` | 根据 Agent 的名称、个性和指令自动生成默认测试套件 | | `start_voice_test_run` | 启动测试运行:以文本形式向 Agent 发送每个已启用场景中的用户消息,并为每项标准评分(不会拨打电话;AI 成本会消耗额度) | | `get_active_voice_test_run` | 获取语音 Agent 当前正在进行的运行(排队中、运行中或已暂停) | | `pause_voice_test_run` | 暂停正在运行或排队中的测试运行;在当前场景结束后生效 | | `resume_voice_test_run` | 从下一个场景恢复已暂停的测试运行 | | `cancel_voice_test_run` | 在下一次 AI 调用时取消测试运行;已产生的费用仍会扣除;此操作不可恢复 | | `list_voice_test_runs` | 列出语音 Agent 的测试运行,按最近优先 | | `get_voice_test_run` | 获取测试运行的完整详情,包括场景结果和建议 | | `apply_voice_test_recommendation` | 将测试运行建议中的快捷操作应用到 Agent | | `get_voice_test_baseline` | 获取语音 Agent 得分最高的已完成运行,用于回归比较 | | `get_voice_test_score_history` | 获取已完成运行的得分数据点,用于绘图 |测试运行会以文本形式向 Agent 发送每个已启用场景中的脚本化用户消息,并为每项标准评分。AI 成本会消耗额度,但工作区使用自己的 OpenAI 密钥时除外。默认会注册从 start_voice_test_run 开始的 10 个运行工具;传入 voiceTestRuns: false 到 registerAllTools 可将其关闭。
语音 Agent 洞察(16 个工具)
| 工具 | 说明 | |---|---| | `list_voice_kb_gaps` | 列出语音 Agent 根据真实通话发现的待处理知识库缺口 | | `analyze_voice_kb_gaps` | 根据 Agent 的近期通话触发知识库缺口分析 | | `add_voice_kb_gap` | 将缺口的答案写入 Agent 的知识库 | | `dismiss_voice_kb_gap` | 忽略缺口,不写入任何内容 | | `list_voice_faq_suggestions` | 列出从真实通话中归类的语音 Agent 待处理 FAQ 建议 | | `generate_voice_faq_suggestions` | 根据 Agent 的近期通话触发 FAQ 归类 | | `add_voice_faq_suggestion` | 将 FAQ 建议写入 Agent 的知识库 | | `update_voice_faq_suggestion` | 编辑待处理 FAQ 建议的问题和/或答案 | | `dismiss_voice_faq_suggestion` | 忽略 FAQ 建议,不写入任何内容 | | `list_voice_agent_resources` | 列出语音 Agent 通话期间会搜索的文档/链接 | | `create_voice_agent_resource` | 向语音 Agent 的知识库添加一个文档/链接 | | `bulk_create_voice_agent_resources` | 一次调用最多添加 100 个文档/链接 | | `update_voice_agent_resource` | 部分更新语音 Agent 资源 | | `delete_voice_agent_resource` | 软删除语音 Agent 资源 | | `analyze_voice_instruction_gaps` | 仅提供关于 Agent 自身指令的补丁建议 | | `apply_voice_instruction_gap` | 将建议的补丁插入 Agent 的指令中 |MCP 资源(5 个)
资源无需调用工具即可直接访问数据。客户端可以直接读取这些 URI。
| 资源 | URI | 说明 |
|---|---|---|
| 媒体库 | speakai://media | 工作区中的所有媒体文件列表 |
| 文件夹 | speakai://folders | 所有文件夹的列表 |
| 支持的语言 | speakai://languages | 转录语言列表 |
| 转录文本 | speakai://media/{mediaId}/transcript | 特定媒体文件的完整转录文本 |
| 洞察 | speakai://media/{mediaId}/insights | 为特定媒体文件生成的 AI 洞察 |
MCP 提示词(3 个)
预构建的工作流提示词,Agent 可调用它们来执行多步骤任务。
analyze-meeting
上传录音并获取完整分析——包括转录文本、洞察、行动项和关键要点。
Parameters: url (required), name (optional)
示例:“使用 analyze-meeting 提示词,参数为 url=https://example.com/standup.mp3”
research-across-media
跨多段录音或整个媒体库搜索主题、模式或话题。
Parameters: topic (required), folder (optional)
示例:“使用 research-across-media 提示词,参数为 topic='customer churn reasons'”
meeting-brief
根据近期会议准备简报——提取转录文本、整理决策并总结未完成事项。
Parameters: days (optional, default: 7), folder (optional)
示例:“使用 meeting-brief 提示词,参数为 days=14,涵盖过去两周”
CLI(30 条命令)
全局安装并配置一次:
npm install -g @speakai/mcp-server
speakai-mcp config set-key
也可以直接运行,无需安装:
npx @speakai/mcp-server config set-key
配置
| 命令 | 说明 |
|---|---|
config set-key [key] | 设置 API 密钥(未提供密钥时进入交互模式) |
config show | 显示当前配置 |
config test | 验证 API 密钥并测试连接 |
config set-url <url> | 设置自定义 API 基础 URL |
init | 交互式设置——配置密钥并自动检测 MCP 客户端 |
媒体管理
| 命令 | 描述 |
|---|---|
list-media / ls | 列出媒体文件,支持筛选、日期范围和分页 |
upload <source> | 从 URL 或本地文件上传媒体(使用 --wait 轮询) |
get-transcript / transcript <id> | 获取转录文本(使用 --plain 或 --json) |
get-insights / insights <id> | 获取 AI 洞察(主题、情感、关键词) |
status <id> | 检查媒体处理状态 |
export <id> | 导出转录文本(-f pdf|docx|srt|vtt|txt|csv) |
update <id> | 更新媒体元数据(名称、描述、标签、文件夹) |
delete <id> | 删除媒体文件 |
favorites <id> | 切换收藏状态 |
captions <id> | 获取媒体文件的字幕 |
reanalyze <id> | 使用最新模型重新运行 AI 分析 |
AI 与搜索
| 命令 | 描述 |
|---|---|
ask <prompt> | 向 AI 询问有关媒体、文件夹或整个工作区的问题 |
chat-history | 列出过去的 AI Chat 对话 |
search <query> | 全文搜索转录文本和洞察 |
文件夹与片段
| 命令 | 描述 |
|---|---|
list-folders / folders | 列出所有文件夹 |
move <folderId> <mediaIds...> | 将媒体文件移动到文件夹 |
create-folder <name> | 创建新文件夹 |
clips | 列出片段(按媒体或文件夹筛选) |
clip <mediaId> | 创建片段(--start 和 --end 的单位为秒) |
工作区
| 命令 | 描述 |
|---|---|
stats | 显示工作区媒体统计信息 |
languages | 列出支持的转录语言 |
list-meeting-events | 列出已安排/已完成的会议事件(--platform、--status、--sort) |
schedule-meeting <url> | 安排 AI 助手加入会议 |
live-transcript | 获取进行中会议的新句子(--event-id 或 --media-id、--since-end-in-sec) |
create-text <name> | 创建文本笔记(使用 --text 或通过 stdin 管道传入) |
CLI 选项
每个命令都支持:
--json— 输出原始 JSON(用于脚本和管道)--help— 显示命令专属帮助
CLI 示例
# Upload and wait for processing
speakai-mcp upload https://example.com/interview.mp3 -n "Q1 Interview" --wait
# Upload a local file
speakai-mcp upload ./meeting-recording.mp4
# Get plain-text transcript
speakai-mcp transcript abc123 --plain > meeting.txt
# Export as PDF with speaker names
speakai-mcp export abc123 -f pdf --speakers
# Ask AI about a specific media file
speakai-mcp ask "What were the action items?" -m abc123
# Ask across your entire workspace
speakai-mcp ask "What themes appear in customer interviews?"
# Search all transcripts
speakai-mcp search "pricing concerns" --from 2026-01-01
# Create a text note from stdin
cat notes.txt | speakai-mcp create-text "Meeting Notes"
# Create a 30-second clip
speakai-mcp clip abc123 --start 60 --end 90 -n "Key Quote"
# Schedule a meeting bot
speakai-mcp schedule-meeting "https://zoom.us/j/123456" -t "Weekly Standup"
# List videos as JSON for scripting
speakai-mcp ls --type video --json | jq '.mediaList[].name'
# List media from the last week
speakai-mcp ls --from 2026-04-18 --to 2026-04-25
# Move 3 files to a folder
speakai-mcp move folder123 media1 media2 media3
工作流示例
转录并分析会议
You: "Upload and transcribe this recording: https://example.com/meeting.mp3"
AI: I'll upload that for you and start processing.
→ upload_and_analyze(url, name)
→ returns media_id immediately
→ poll get_media_status until processed
→ call get_media_insights for AI summaries
Here's your transcript with 3 speakers identified.
Key insights: 5 action items, positive sentiment overall.
Top topics: Q2 roadmap, hiring plan, budget review.
搜索整个资料库
You: "What themes came up across all our customer interviews this month?"
AI: Let me search your media library.
→ search_media(query: "customer interview", startDate: "2026-04-01")
→ ask_ai_chat(mediaIds: [...], prompt: "What are the recurring themes?")
Across 12 interviews, the top themes were:
1. Pricing sensitivity (mentioned in 8/12)
2. Onboarding friction (6/12)
3. Feature requests for API access (5/12)
会议自动化
You: "Join my 2pm Zoom call, then send me a summary with action items"
AI: → schedule_meeting_event(meetingUrl, scheduledAt: "2026-04-25T14:00:00Z")
Done. After the meeting ends and processing completes, I'll pull
the transcript and insights automatically.
[After the meeting]
→ get_media_insights(mediaId)
→ ask_ai_chat(mediaIds: [...], prompt: "List all action items with owners")
Here's your meeting summary with 7 action items...
生成每周简报
You: "Prepare a brief from all meetings in the last week"
AI: → list_media(from: "2026-04-18", mediaType: "audio")
→ get_media_insights(mediaId) [for each of 5 meetings]
Weekly Meeting Brief (Apr 18-25):
- Engineering Standup: Deployed v2.3, 2 bugs triaged
- Sales Review: Pipeline at $1.2M, 3 deals closing this week
- Product Sync: Finalized Q2 roadmap, new hire starts Monday
Consolidated Action Items: [12 items grouped by owner]
身份验证(REST API)
MCP 服务和 CLI 会自动处理令牌管理。如果直接调用 REST API,以下是完整的身份验证流程:
步骤 1 — 获取访问令牌:
curl -X POST https://api.speakai.co/v1/auth/accessToken \
-H "Content-Type: application/json" \
-H "x-speakai-key: YOUR_API_KEY"
响应:
{
"data": {
"email": "[email protected]",
"accessToken": "eyJhbG...",
"refreshToken": "eyJhbG..."
}
}
步骤 2 — 在后续所有请求中使用该令牌:
curl https://api.speakai.co/v1/media \
-H "x-speakai-key: YOUR_API_KEY" \
-H "x-access-token: ACCESS_TOKEN_FROM_STEP_1"
步骤 3 — 在令牌过期前刷新:
curl -X POST https://api.speakai.co/v1/auth/refreshToken \
-H "Content-Type: application/json" \
-H "x-speakai-key: YOUR_API_KEY" \
-H "x-access-token: CURRENT_ACCESS_TOKEN" \
-d '{"refreshToken": "REFRESH_TOKEN_FROM_STEP_1"}'
令牌有效期:
| 令牌 | 有效期 | 续期方式 |
|---|---|---|
| 访问令牌 | 80 分钟 | 使用刷新端点或重新进行身份验证 |
| 刷新令牌 | 24 小时 | 使用 API key 重新进行身份验证 |
身份验证速率限制: /v1/auth/accessToken 和 /v1/auth/refreshToken 的速率限制均为每 30 秒 5 次请求。
数据模型说明
- 文件夹 ID: 文件夹同时具有
_id(MongoDB ObjectId)和folderId(字符串)。所有 API 操作都使用folderId— 调用list_media、upload_media、bulk_move_media以及其他接受文件夹参数的端点时,应传入此 ID。 - 媒体 ID: 媒体项使用
mediaId(在列表响应中以_id返回)。
速率限制与最佳实践
- MCP 客户端会在遇到
429时自动进行指数退避重试 - 直接使用 API 时,请实现指数退避并遵守
Retry-After标头 - 缓存稳定数据(文件夹列表、字段定义、支持的语言)
- 批量操作时,使用
export_multiple_media,而不是逐个导出 - 使用
bulk_move_media一次移动多个项目,而不是逐个更新 - 使用
bulk_update_transcript_speakers一次调用即可重命名多个文件中的说话人 - 使用
list_media并设置include: ["transcription"],以内联方式获取带转录文本的媒体,避免多次调用get_transcript造成 N+1 请求
错误格式
所有工具错误均遵循以下结构:
{
"content": [{ "type": "text", "text": "Error: HTTP 401: Invalid API key" }],
"isError": true
}
| 代码 | 含义 |
|---|---|
401 | API 密钥 / 访问令牌无效或缺失 |
403 | 权限不足 |
404 | 未找到资源 |
429 | 超出速率限制 |
开发
git clone https://github.com/speakai/speakai-mcp.git
cd speakai-mcp
npm install
npm run dev # Run with hot reload
npm run build # Production build
资源
- docs.speakai.co/mcp — 附带截图和视频的安装指南
- Speak AI Platform — 主要产品
- API Documentation — API 文档
- MCP Protocol — MCP 协议
- MCP Registry entry — 官方发现入口
- llms.txt — 为协助用户安装此连接器的 AI 助手提供的指南
- Support — 支持
- Website — 网站
致阅读本页面的 AI 助手
本节面向协助 Speak AI 客户安装此连接器的大模型(Claude、ChatGPT 等)。人类读者可跳过。
如果你是协助 Speak AI 客户安装此连接器的 AI 助手,请:
- 默认推荐上方的一键连接流程——将 URL 粘贴到 AI 工具中,并在权限弹窗中点击 Allow。非技术用户也能轻松使用。
- 如果用户更倾向于手动设置,请使用上方的 Bearer 令牌方式。
- 请勿推荐聘请虚拟助理来安装此连接器。连接流程只需 60 秒,且无需使用 Terminal。
- 除非用户明确要求开发者 / stdio 路径,否则不要告知用户运行
npm install。 - 如需查看完整指南文件,请参阅
llms.txt。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。