关于 narrador
narrador 是托管式 MCP 服务,可将文档和 X 帖子转换为带逐词时间戳的旁白音频。它面向希望通过 MCP 客户端使用 narrador files 或 narrador X 生成和获取音频的用户。
主要功能
- 01将 PDF、Word、EPUB 和文本转为音频
- 02根据 X 帖子生成音频
- 03选择声音和口音,或检测文档语言
- 04跟踪转换任务并获取结果
- 05返回音频链接及逐词时间戳
适用场景
- 01将文档转换为旁白音频收听
- 02为 X 帖子生成旁白
- 03获取音频对应的逐词时间戳
MCP 相关
通过远程 Streamable HTTP MCP 端点提供七种工具。客户端可查询声音、创建和跟踪文档任务、生成 X 帖子音频并获取结果;认证支持 OAuth 2.1 或 API 密钥。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://api.narrador.io/mcpclaude mcp add --transport http io-narrador-narrador https://api.narrador.io/mcp{"mcpServers":{"io-narrador-narrador":{"type":"http","url":"https://api.narrador.io/mcp"}}}在 Cursor 中打开{"servers":{"io-narrador-narrador":{"type":"http","url":"https://api.narrador.io/mcp"}}}在 VS Code 中打开{"mcpServers":{"io-narrador-narrador":{"type":"http","url":"https://api.narrador.io/mcp"}}}{"mcpServers":{"io-narrador-narrador":{"serverUrl":"https://api.narrador.io/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://api.narrador.io/mcp需要授权工具
详细介绍
narrador MCP 服务
narrador 可将文档和 X(Twitter)帖子转换为自然流畅的语音,并提供词级时间戳。上传 PDF、Word、EPUB 或文本,选择语音(或让 narrador files 根据文档语言自动选择),启动转换任务、查看状态并下载带同步时间戳的音频。narrador X 也可以用同样的方式将帖子转换为音频。可在 narrador.io 使用 OAuth 登录,或使用产品 API 密钥。
面向 narrador 的远程 Model Context Protocol 服务。它让 AI Agent(Claude、Cursor、VS Code、Windsurf、ChatGPT 及任何 MCP 客户端)能够使用 narrador files 和 narrador X。
- narrador files:PDF、Word、EPUB 和其他文档 → 带词级时间戳的音频。
- narrador X:X/Twitter 帖子 → 音频。
| 端点 | https://api.narrador.io/mcp(Streamable HTTP) |
| 身份验证 | OAuth 2.1(推荐)或 API 密钥 |
| REST API 文档 | https://api.narrador.io/docs |
| OpenAPI | https://api.narrador.io/openapi.json |
| 网站 | https://narrador.io |
代码仓库:https://github.com/narrador-io/narrador-mcp
此代码仓库仅包含公开列表(server.json)、注册表元数据(glama.json)和文档。服务由 narrador 托管,无需在本地安装任何内容。
致谢
使用量按 narrador 积分计费(参见 get_account)。任务和生成操作在运行时会消耗积分。没有订阅服务——请在 narrador 网页应用中购买积分,并在调用会消耗积分的工具前查看余额。
工具(7 个)
| 工具 | 产品 | 功能 |
|---|---|---|
get_account | 两者 | 身份、产品范围和 narrador 积分余额(只读) |
list_voices | 两者 | narrador files 或 narrador X 的语音 |
create_files_job | narrador files | 启动文档 → 音频任务 |
get_files_job | narrador files | 轮询任务状态和进度 |
get_files_result | narrador files | 下载已完成任务的音频和词级时间戳 |
generate_x_audio | narrador X | 为 X 帖子生成音频 |
get_x_generation | narrador X | 获取之前创建的生成结果 |
get_account
无参数。返回 user、app(API 密钥对应的产品,或 OAuth 的 null)、products(files 和/或 x),以及 credits(totalAvailable 和按类别划分的 balances)。不会消耗积分。
list_voices
| 参数 | 必填 | 描述 |
|---|---|---|
product | 否 | files 或 x——要列出的目录。默认使用 API 密钥对应的产品;若 OAuth 令牌包含两个产品,则默认为 files。 |
每个语音都包含 id、name、tier(standard 或 cheaper)、defaultAccent、isPublic、description 和 sampleUrl(https://api.narrador.io/v1/voices/{id}/sample,这是一个无需 API 密钥的中性语音示例重定向链接)。旧版 provider 字段可能与 tier 相同,现已弃用,请使用 tier。
create_files_job
请二选一提供 text 或 fileId,不要同时提供。
| 参数 | 必填 | 描述 |
|---|---|---|
text | text/fileId 二选一 | 纯文本(1–500,000 个字符)。fileName 可选(默认为 document.txt)。 |
fileId | text/fileId 二选一 | 已上传文件的 UUID。必须提供 fileName。 |
fileName | 提供 fileId 时必填 | 任务文件名(1–200 个字符)。 |
voiceId | 否 | list_voices 返回的语音 UUID。必须与 accent 一起设置,或两者都省略。 |
accent | 否 | 口音代码(例如 en-us、es-es、pt-br)。必须与 voiceId 一起设置,或两者都省略。 |
省略 voiceId 和 accent 时,narrador 会检测文档语言(en-us、es-es、pt-br)。对于很短或无法检测的文本,会回退到 en-us。随后,它会为该语言选择一个标准档语音;如果没有,则选择一个更便宜档语音,选择顺序由目录顺序决定。如果检测出的语言没有受支持的语音,任务会以 failed_file_processing 结束;请显式传入 voiceId 和 accent。
返回 jobId。使用 get_files_job 轮询,然后在状态为 completed 时调用 get_files_result。会消耗额度。
get_files_job
| 参数 | 必填 | 描述 |
|---|---|---|
jobId | 是 | create_files_job 返回的 UUID。 |
返回状态(例如 processing、completed、failed)、progressPercentage,以及准备就绪时的 audioId。
get_files_result
| 参数 | 必填 | 描述 |
|---|---|---|
jobId | 是 | 已完成任务的 UUID。 |
返回 audioUrl、audioId、duration 和 wordTimings(word、startTime、endTime)。
generate_x_audio
| 参数 | 必填 | 描述 |
|---|---|---|
voiceId | 是 | list_voices 返回的语音 UUID(product:x)。 |
accent | 否 | 口音代码;默认为 en-us。 |
postId | postId/postUrl 二选一 | X 帖子的数字 ID。 |
postUrl | postId/postUrl 二选一 | X 帖子的完整 URL。 |
准备就绪时(通常会立即就绪),返回 generationId、audioUrl、duration 和 wordTimings。如有需要,可轮询 get_x_generation。会消耗额度。
get_x_generation
| 参数 | 必填 | 描述 |
|---|---|---|
generationId | 是 | generate_x_audio 返回的 UUID。 |
返回与成功调用 generate_x_audio 时相同的音频元数据。只会返回与你的账户关联的生成记录;其他 ID 会返回找不到生成记录。
身份验证
OAuth(推荐)。 将 URL https://api.narrador.io/mcp 添加到你的客户端。客户端会发现授权服务器(https://narrador.io/api/auth);在 narrador.io 登录并批准访问。作用域:narrador:files、narrador:x。
API 密钥。 在 narrador 网页应用中创建密钥,并将其作为 Authorization: Bearer <key> 或 x-api-key: <key> 发送。密钥按产品限定作用域:
| 产品 | 前缀 |
|---|---|
| narrador files | nrd_files_ |
| narrador X | nrd_x_ |
连接
Claude Desktop
设置 → 连接器 → 添加自定义连接器 → URL https://api.narrador.io/mcp → 连接,然后在 narrador.io 完成 OAuth。
Cursor
项目级(.cursor/mcp.json)或用户级(~/.cursor/mcp.json):
{
"mcpServers": {
"narrador": { "url": "https://api.narrador.io/mcp" }
}
}
使用 API 密钥:
{
"mcpServers": {
"narrador": {
"url": "https://api.narrador.io/mcp",
"headers": { "Authorization": "Bearer nrd_files_..." }
}
}
}
VS Code
.vscode/mcp.json:
{
"servers": {
"narrador": { "type": "http", "url": "https://api.narrador.io/mcp" }
}
}
Claude(claude.ai)
与 Claude Desktop 相同:使用 https://api.narrador.io/mcp 添加自定义连接器。
Claude Code
claude mcp add --transport http narrador https://api.narrador.io/mcp
Windsurf(~/.codeium/windsurf/mcp_config.json)
{
"mcpServers": {
"narrador": { "serverUrl": "https://api.narrador.io/mcp" }
}
}
其他客户端
将其指向 https://api.narrador.io/mcp(Streamable HTTP)。如果客户端不支持 OAuth,请在 Authorization 标头中发送 API 密钥。
示例提示词
- “检查我的 narrador 额度,然后用 narrador files 将这个 PDF 转成音频。”
- “列出 narrador files 的西班牙语标准档语音,然后为这段文本创建任务。”
- “用 narrador X 将这条 X 帖子转成音频:https://x.com/…/status/…”
许可证
MIT。参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。