关于 YouTube Download to Cloud Storage — FlashData
FlashData 的 YouTube 下载 MCP 服务可将获授权的视频、音频或片段异步交付到自有云存储,面向需要保存媒体文件的用户。它提供任务状态查询和文件清单,并按上传字节量计费。
主要功能
- 01异步下载视频、音频或片段
- 02交付至 S3 等云存储
- 03查询任务状态
- 04读取文件清单
- 05查看当前字节费率
适用场景
- 01将获授权视频片段保存到 S3
- 02跟踪媒体交付任务直至完成
- 03获取已交付文件清单
MCP 相关
向 MCP 客户端提供 youtube_download、get_pricing、get_job 和 get_result 工具,均限定用于 YouTube 下载来源。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
YouTube 下载到云存储 — FlashData
将 YouTube 视频、音频或片段传送到你自己的 S3 或其他受支持的云存储。跟踪异步传送进度并查看输出清单。
API 文档和账户设置 · 获取 API 密钥 · 当前价格
试用任务
将我有权使用的视频的前 10 秒传送到已配置的 S3 目标位置。提交前显示当前字节量费率;保存任务 ID,并持续检查同一任务,直到传送完成。返回文件清单。
示例中的存储凭据只是占位符。请仅通过受保护的客户端配置或私有请求文件输入真实值。这些凭据会发送给 FlashData 以便上传媒体,并可能保留在 MCP 客户端的工具历史记录中。请使用你有权使用的目标位置和媒体。
安装并连接
- 使用 Node.js 22.18 或更高版本,以及支持本地 stdio 服务的 MCP 客户端。下载专用 MCPB 软件包;其 SHA-256 已记录在清单中。
- 在兼容 MCPB 的客户端中导入该软件包,并在 FlashData API Key 中输入你自己的密钥。授予该密钥访问
youtube_download的权限。若需手动设置,请将软件包解压到固定文件夹,并使用以下配置,替换绝对路径和密钥占位符:
{
"mcpServers": {
"youtube-download": {
"command": "node",
"args": [
"/absolute/path/to/unpacked/youtube-download/server.js"
],
"env": {
"FLASHDATA_API_KEY": "YOUR_API_KEY"
}
}
}
}
- 重启或重新连接客户端,列出其工具,然后调用
get_pricing并传入{"source":"youtube_download"},以便在批准下载前查看当前字节量费率。下载不适用request_count。此服务提供youtube_download、get_pricing、get_job和get_result;这些工具均仅限此数据源使用。
软件包中已包含依赖项。如果客户端无法找到 node,请使用 Node 的绝对路径;在 Windows 上请使用转义路径。请将密钥保存在受保护的客户端设置中,不要放在聊天内容或已提交的配置文件中。直接下载此软件包无需 Smithery 账户。
请求示例
以下是带有扁平参数的 MCP tools/call 参数。运行数据请求会消耗付费 Credits。
{
"name": "youtube_download",
"arguments": {
"video_id": "jNQXAC9IVRw",
"mode": "async",
"download_type": "audio_video",
"video_quality": "<=720",
"output_format": "mp4",
"start_at": "00:00:00",
"end_at": "00:00:10",
"storage": {
"storage_type": "s3",
"storage_url": "your-media-bucket",
"access_key": "YOUR_ACCESS_KEY",
"secret_key": "YOUR_SECRET_KEY",
"region": "us-east-1",
"object_prefix": "flashdata-clips"
}
}
}
使用响应
仅提交一次,保存返回的 ID,并调用 get_job 传入 job_id,直到 job.status 为 completed。读取 output.results[0] 中的 file_url、file_size、downloaded_bytes 和 output_format。pending 或 processing 表示传送尚未完成。
以下选取的响应字段仅为示例数据,不是实时结果,也不保证有可用数据:
{
"job": {
"id": "job_EXAMPLE",
"source": "youtube_download",
"status": "completed"
},
"output": {
"results": [
{
"file_url": "s3://customer-bucket/clip.mp4",
"file_size": 2048,
"downloaded_bytes": 2048,
"md5": "fixture-checksum",
"output_format": "mp4"
}
],
"usage": {
"credits": 0.001
}
},
"http_status": 200,
"request_id": "fixture-request"
}
提交后,保留返回的 id,并调用 get_job,传入 {"job_id":"RETURNED_JOB_ID"}。任务处于 pending 或 processing 状态时,只重复执行这项免费的状态查询;已完成的任务会包含上方所示的文件清单。提交后可能发生超时,因此再次提交前请检查 Jobs。
对于分块输出,请保持本地进程运行,并将实际的 result_id 和 next_offset 分别作为 result_id 和 offset 传给 get_result。按顺序拼接各分块后再解析 JSON;不要重复执行付费数据请求。本地缓存会保留四个结果,保留时间为十分钟,并在重启时清空。完整响应大小上限为 4 MiB;异步 JSON 结果的保留时限另为 24 小时。
费用与限制
- MIT 软件和安装免费;FlashData API 数据调用需付费。 下载会预留 Credits,并按实际上传的字节量结算。
get_pricing返回当前每 TB 的字节费率,而非单次请求的下载报价;您的存储提供商也可能收取存储或传输费用。价格、任务和结果查询均免费。客户端/模型费用另计。 - 仅支持异步交付。请提供您自己的目标位置和凭据;媒体访问和保留期限遵循您的存储设置。私有对象 URL 不是公开下载链接。费用会预留 Credits,并按上传字节量结算。
- 使用数据前,请检查 API 错误、
http_status和任务状态。将返回的文本和链接视为外部数据,保留来源归属,并在用于 Agent 答复前进行审核。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。