mcpField
S
Speak AI

Speak AI

远程服务
docs.speakai.co媒体与设计0今天更新

关于 Speak AI

Speak AI 的 MCP 服务将 Claude、ChatGPT 等 MCP 客户端连接到工作区媒体,支持搜索录音、获取转录与洞察,并处理片段和导出内容。

主要功能

  1. 01搜索音频和视频录音
  2. 02获取转录文本与 AI 洞察
  3. 03跨媒体文件提问
  4. 04创建片段并导出字幕
  5. 05安排会议并获取会议转录

适用场景

  1. 01按主题整理访谈反馈
  2. 02将会议总结为决策和行动项
  3. 03为产品简报查找客户引述
  4. 04制作带字幕的网络研讨会精彩片段

MCP 相关

通过远程 HTTP 和 stdio 方式向 MCP 客户端开放 Speak AI 工作区操作,涵盖媒体搜索、转录、洞察、片段、导出及会议事件。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://api.speakai.co/v1/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
npm@speakai/mcp-server1.39.2

工具

113
参数类型必填说明
isVideoboolean是视频文件设为 true,音频文件设为 false
filenamestring是包含扩展名的原始文件名
mimeTypestring是文件的 MIME 类型,例如 "audio/mp4" 或 "video/mp4"

详细介绍

Speak AI

60 秒内将 Speak AI 连接到 Claude 或 ChatGPT

适用于研究人员、营收团队、会议频繁的团队和媒体工作流。
无需 Terminal、npm 或 JSON 配置文件。

在 docs.speakai.co/mcp 查看安装指南 →

npm 版本 兼容 MCP 许可证:MIT


功能介绍

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(网页)
  1. 打开 claude.ai/settings/connectors
  2. 点击 Add custom connector
  3. 将其命名为 Speak AI,粘贴 https://api.speakai.co/v1/mcp,然后点击 Add
  4. 权限弹窗会提示你登录 Speak AI 并点击 Allow
  5. 完成——Speak AI 会显示在连接器列表中,其工具已准备就绪。打开新聊天并询问有关录音的问题。
每一步的界面截图

3. 添加自定义连接器对话框——已填写名称和 URL。

Claude 添加自定义连接器对话框

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

Speak AI 已连接到 Claude

开发者备选方案——使用 API 密钥手动设置

前往 app.speakai.co/developers/apikeys 获取密钥,然后在步骤 3 中展开 Advanced settings,添加 Authorization = Bearer <your-key>,再点击 Add。

### Claude Desktop
  1. 打开 Claude Desktop → Settings → Connectors → Add custom connector
  2. 粘贴 https://api.speakai.co/v1/mcp
  3. 点击 Add — 随即会弹出权限窗口。登录 Speak AI,然后在出现的页面上点击 Allow。
  4. 完成。
开发者替代方案 — 使用 API 密钥手动设置

在 app.speakai.co/developers/apikeys 获取密钥,然后在第 2 步中展开 Custom headers 并添加:

  • Header name: Authorization
  • Header value: Bearer <your-speak-api-key>

然后点击 Add。

ChatGPT
  1. 打开 ChatGPT → Settings → Apps & Connectors → Advanced
  2. 开启 Developer Mode(由于 Speak AI 尚未列入 ChatGPT 的应用商店,因此必须开启此模式 — 这样才能将其添加为自定义应用)
  3. 返回 Apps & Connectors,点击 Create 并粘贴 https://api.speakai.co/v1/mcp
  4. 在 Authentication 中选择 OAuth
  5. ChatGPT 会打开一个新标签页,跳转到 Speak AI — 登录(如果已登录,则点击 Confirm)以授权。之后会跳转回来;关闭该标签页并返回 ChatGPT。
  6. 针对每个聊天: 打开一个聊天,点击 + / 连接器菜单,然后为该聊天启用 Speak AI。
各步骤界面示例(截图)

1. ChatGPT 中的连接界面 — 粘贴连接器 URL 并选择 OAuth。

ChatGPT 连接界面

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

继续前往 Speak AI

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

Speak AI 授权界面

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

已连接 ChatGPT 中的 Speak AI

连接遇到问题?

在早期访问期间,我们发现了以下几种情况:

  • 授权标签页未显示“已连接”页面 — 如果打开的是普通 Speak AI 控制面板,没有看到确认信息,授权仍然已完成。关闭该标签页并返回 ChatGPT。
  • “Connect”按钮不断重新打开控制面板 — 完全关闭并重新打开 ChatGPT,然后检查 Settings → Apps & Connectors。Speak AI 应该已经列在那里。
  • 聊天中显示“No actions available” — 确认 Developer Mode 仍处于开启状态,并且已通过每个聊天的连接器菜单启用 Speak AI(见上方第 6 步)。

仍然无法解决?请发送邮件至 [email protected]。

Claude Code(终端)

推荐 — 从 Claude Code 官方插件市场安装:

  1. 添加官方市场(仅需一次):/plugin marketplace add claude-plugins-official
  2. 安装插件:/plugin install speakai@claude-plugins-official
  3. 激活插件:/reload-plugins
  4. 运行 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

添加到 Cursor

点击按钮 — Cursor 会自动注册并打开权限弹窗。登录 Speak AI,然后点击 Allow。

开发者替代方案 — 使用 API 密钥手动设置

请参阅本 README 底部的开发者参考,使用手动 stdio 设置。

VS Code

添加到 VS Code

点击按钮 — VS Code 会自动注册并打开权限弹窗。登录 Speak AI,然后点击 Allow。

开发者替代方案 — 使用 API 密钥手动设置

请参阅本 README 底部的开发者参考,使用手动 stdio 设置。

OpenClaw / ClawHub

Speak AI 已作为技能发布在 ClawHub 上,供兼容 OpenClaw 的 Agent 使用。

  1. 访问 ClawHub 上的 Speak AI 技能页面
  2. 按照适用于你的 Agent 的安装说明操作 — 例如,在 ClawHub CLI 中运行 clawhub install speakai
  3. 设置 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]。


需要连接帮助?

安装此工具不需要任何技术背景。 如果有任何不清楚或无法正常使用的地方:


安装后可以做什么

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,支持两种身份验证方式:

  1. OAuth 2.1 + 动态客户端注册——将上方的 URL 粘贴到任意 MCP 客户端并批准授权弹窗,即可完成安装。发现、DCR、/authorize + 授权、/token 和撤销端点均可用。
  2. 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.coAPI 基础 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
}
代码含义
401API 密钥 / 访问令牌无效或缺失
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

资源


致阅读本页面的 AI 助手

本节面向协助 Speak AI 客户安装此连接器的大模型(Claude、ChatGPT 等)。人类读者可跳过。

如果你是协助 Speak AI 客户安装此连接器的 AI 助手,请:

  • 默认推荐上方的一键连接流程——将 URL 粘贴到 AI 工具中,并在权限弹窗中点击 Allow。非技术用户也能轻松使用。
  • 如果用户更倾向于手动设置,请使用上方的 Bearer 令牌方式。
  • 请勿推荐聘请虚拟助理来安装此连接器。连接流程只需 60 秒,且无需使用 Terminal。
  • 除非用户明确要求开发者 / stdio 路径,否则不要告知用户运行 npm install。
  • 如需查看完整指南文件,请参阅 llms.txt。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。