mcpField
V
videoworker

videoworker

远程服务
videoworker.dev媒体与设计04 天前更新

关于 videoworker

videoworker MCP 是面向 videoworker 媒体处理 API 的本地 stdio 连接器,供 Agent 上传文件并处理视频、音频和图像。它支持版本化预设和自定义 FFmpeg 参数,处理由远程工作器执行,无需本地安装 FFmpeg。

主要功能

  1. 01上传本地媒体文件
  2. 02发现并运行版本化预设
  3. 03使用 FFmpeg 参数创建自定义任务
  4. 04查询、取消及下载处理任务
  5. 05检查账户额度与存储用量

适用场景

  1. 01将视频裁剪并缩放为网页格式
  2. 02从视频提取 MP3 或 JPEG 缩略图
  3. 03为视频烧录字幕或添加字幕轨
  4. 04合并片段、叠加图像或替换配乐

MCP 相关

提供本地 stdio MCP 连接器,向客户端开放文件上传、预设和自定义任务、任务管理及结果下载等工具。另有基于 OAuth 的托管 MCP 连接方式。

配置

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

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

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

工具

详细介绍

videoworker MCP

为你的 AI Agent 配备媒体工作流:上传、选择预设、保存结果。

基于 MIT 许可、通过本地 stdio 连接 videoworker 视频、音频和图像处理 API 的 MCP 连接器。日常导出可使用带版本号的预设, 自定义编辑则可使用标准 FFmpeg 参数。处理由我们的工作器完成; 无需在本地安装 FFmpeg。

免费开始使用 · 托管 MCP · REST API · 版本发布 · 已列入 Glama

你的 Agent 能做什么?

任务预设结果
修剪并调整视频尺寸web-mp4 v1适用于 Web 的 H.264/AAC MP4
提取音频audio-mp3 v1MP3 音频
截取视频帧thumbnail-jpg v1JPEG 缩略图
制作短预览gif-preview v1动态 GIF
烧录字幕subtitles-burn-mp4 v1渲染了 SRT/VTT 文本的 MP4
添加字幕轨道subtitles-track-mp4 v1带可切换字幕轨道的 MP4

字幕预设需要两个输入:先是视频,然后是你自己的 .srt 或 .vtt 文件 (最大 2 MiB)。它们不会转录或翻译。

使用 list_presets 查看参数和所需输入数量,然后按显示顺序提供已上传文件的 ID,并通过 明确的版本调用 run_preset。对于多文件编辑、叠加层或自定义 滤镜,create_job 接受自定义 FFmpeg 参数。两种任务都可通过相同的工具和账户额度进行跟踪、取消和下载。

已签名的任务 Webhook 会在任务完成时通知你自己的 HTTPS 端点;该功能已在 videoworker.dev 上线。通过托管 MCP、REST 和此源代码仓库,可为每个任务选择端点(指南,附带持久接收器示例);已发布的 v0.2.0 wheel 暂不包含该参数。 预设是否可用始终以服务端目录为准,因此请使用 list_presets 检查,而不要假定某个预设存在。

选择连接方式

本地连接器 — 此仓库托管 MCP
适用场景上传和下载本地文件无需安装 Python 即可连接
传输方式stdio可流式 HTTP
登录方式私有文件中的限定范围 API 密钥浏览器登录和 OAuth 授权
本地文件访问可访问所选文件夹中指定的媒体文件无;需先通过 Web 或 REST 上传
设置方式见下方快速入门托管设置指南

两种方式使用相同的账户和额度。该连接器是免费软件;托管处理服务遵循当前方案和限制。 免费账户每月可获得少量额度。请查看定价页面,了解 Starter 上线优惠及其适用情况;使用 Free 方案无需试用。

快速入门

1. 安装 — 无需检出代码或使用 Git

需要 Python 3.12 或更高版本。安装带版本号的发行 wheel:

python -m pip install "https://github.com/AzadKurt/videoworker-mcp/releases/download/v0.2.0/videoworker_mcp-0.2.0-py3-none-any.whl"
python -m videoworker_mcp --version

在 Windows 上,如有需要,请用 py -3.12 替代 python。在 macOS/Linux 上, 命令可能是 python3。在 MCP 配置中使用同一个 Python 安装。运行以下命令打印完整路径:

python -c "import sys; print(sys.executable)"

如果已安装 Git,也可以使用以下方式:

python -m pip install "git+https://github.com/AzadKurt/[email protected]"

此软件包尚未发布到 PyPI。pip install videoworker-mcp 不是此版本的安装命令。

2. 创建工作区和私钥文件

登录你的工作区。在 API keys 下,创建一个密钥,并为全部十个工具授予 usage:read、files:write、jobs:read、jobs:write 和 outputs:read 权限。将密钥保存为纯文本文件,并确保只有你的用户可以访问该文件。在 macOS/Linux 上:chmod 600 /absolute/path/to/key。在 Windows 上,将文件保存在你的用户配置文件中,并限制文件权限,确保只有你可以访问。

创建 uploads 和 downloads 文件夹。两个文件夹都必须存在,并使用绝对路径。uploads 中只放经授权的媒体;密钥文件应保存在其他位置。切勿将密钥粘贴到聊天中或共享的客户端配置中。

3. 添加客户端配置

将 Python 和文件夹路径替换为你自己的路径。将条目合并到现有配置中,保留其他服务。配置值是路径,不是密钥。保存后重启或重新加载客户端。

Codex

添加到 ~/.codex/config.toml:

[mcp_servers.videoworker]
command = "/absolute/path/to/python"
args = ["-m", "videoworker_mcp"]
startup_timeout_sec = 30
tool_timeout_sec = 960

[mcp_servers.videoworker.env]
VIDEO_WORKER_API_KEY_FILE = "/absolute/path/to/videoworker.key"
VIDEO_WORKER_UPLOAD_ROOT = "/absolute/path/to/uploads"
VIDEO_WORKER_DOWNLOAD_ROOT = "/absolute/path/to/downloads"

Windows 路径可以使用正斜杠,例如 C:/Users/YOU/media/uploads。可直接编辑的配置:Windows / macOS 和 Linux。如果也使用托管连接,请将其命名为 videoworker_remote。

Claude Desktop

打开 Settings → Developer → Edit Config 并合并:

{
  "mcpServers": {
    "videoworker": {
      "command": "/absolute/path/to/python",
      "args": ["-m", "videoworker_mcp"],
      "env": {
        "VIDEO_WORKER_API_KEY_FILE": "/absolute/path/to/videoworker.key",
        "VIDEO_WORKER_UPLOAD_ROOT": "/absolute/path/to/uploads",
        "VIDEO_WORKER_DOWNLOAD_ROOT": "/absolute/path/to/downloads"
      }
    }
  }
}

可直接编辑的配置:Windows / macOS 和 Linux。

Cursor

在 ~/.cursor/mcp.json(全局配置)或 .cursor/mcp.json(项目配置)中使用相同的 JSON 结构。在 Cursor 的 MCP 设置中启用该服务。可直接编辑的配置:Windows / macOS 和 Linux。

示例遵循文档中说明的 stdio 配置格式。我们已测试真实 MCP SDK 的发现功能;这并不表示我们手动测试过所有桌面应用或版本。

4. 试运行一个小任务

将一个较小的 clip.mp4 放入 uploads 文件夹,并向你的 Agent 发送请求:

检查我的 videoworker 额度,并先列出预设。我授权从已配置的 uploads 文件夹上传 clip.mp4。使用 web-mp4 version 1 导出前一秒,格式为 MP4,max_width 为 640,处理时限为 10 秒。创建一个任务。保留其 request_id 以供重试;每次状态检查之间至少等待一秒,并将成功结果保存到我的 downloads 文件夹。不要删除任何内容。

流程:get_usage → list_presets → upload_file → run_preset → get_job → download_result。参见预设参数:替换输入文件 ID,并为每个计划创建的任务生成新的 UUID。想使用原始命令?请使用 create_job,并传入这些示例任务参数。

多个输入

工作流示例涵盖拼接片段、添加图像/徽标以及替换配乐。每个示例都包含输入顺序、行为说明和可直接编辑的 MCP JSON 文件。同样的示例也展示在网站上,并提供 REST 和 MCP 的复制按钮。

版本化预设

对于支持 GET /v1/presets 的服务,使用 list_presets 发现经过验证的参数、固定版本和输出文件名。然后使用上传文件 ID、明确指定的版本、参数、处理时长上限和自选 UUID 调用 run_preset。MCP 参数示例 可将视频裁剪并调整尺寸为 H.264/AAC MP4。目录中的其他条目可提取 MP3、生成 JPEG 缩略图或渲染短 GIF。

适用相同的普通任务配额、所有权和存储规则。超时设置预留的是处理时长上限,而非片段时长。每秒调用 get_job 不超过一次,并在过期前下载。48 小时内重试时,请使用完全相同的请求和 UUID;切勿自动重新提交未收到回复的请求。默认值和编码行为由版本固定。不保证输出文件更小。

版本 0.2.0 新增了这些工具,并要求服务支持预设。 presets_unsupported 表示服务没有目录; presets_unsupported 也表示缺少执行路由; preset_not_found 表示未知的 ID/版本,input_unavailable 表示所属上传文件缺失或已过期。未知的 404 响应格式仍返回 preset_unavailable。任何情况下都不会静默回退到其他任务。由于 REST 元数据目录有意设为公开,列出预设前会先使用同一个密钥检查所属任务读取端点。

工具

工具用途API 密钥范围
get_usage配额、预留额度和存储usage:read
list_jobs最近的所属任务jobs:read
list_presets版本化任务、参数和默认值jobs:read
run_preset使用稳定重试 UUID 执行单个预设任务jobs:write
upload_file上传已获授权的本地媒体files:write
create_job使用稳定重试 UUID 创建 FFmpeg 任务jobs:write
get_job任务状态和输出元数据jobs:read
download_result将输出保存到新的本地文件jobs:read、outputs:read
cancel_job请求取消;确认任务已终止jobs:write
delete_job_outputs按请求删除结果jobs:write

配置和故障排除

环境变量值
VIDEO_WORKER_API_KEY_FILE私有纯文本密钥文件的绝对路径
VIDEO_WORKER_UPLOAD_ROOT已存在的、经授权的媒体文件夹的绝对路径
VIDEO_WORKER_DOWNLOAD_ROOT已存在的目标文件夹的绝对路径
VIDEO_WORKER_API_URL可选;默认值为 https://videoworker.dev

VIDEO_WORKER_API_KEY 可在私有进程环境中使用,且优先级高于文件。切勿将其放入共享配置或命令行中。 自定义来源必须使用 HTTPS,但开发时显式指定的回环 HTTP 除外。

  • ENOENT / 找不到服务: 使用上方显示的完整 Python 路径,而不是 Shell 别名。GUI 应用可能使用不同的 PATH。
  • 配置错误: 在终端中设置相同的变量,然后运行 python -m videoworker_mcp --check。该命令仅验证本地设置,不会调用 API,也不会验证凭据或使用额度。查看帮助/版本无需密钥。
  • 未授权 / 禁止访问: 在控制面板中检查密钥、权限范围和账户。切勿在支持消息中发送凭据。
  • 文件被拒绝: 传入简单文件名,而不是路径或 URL。本地扩展名:mp4、mp3、wav、webm、gif、png、jpg、jpeg、mkv、mov、ogg、flac。链接文件夹以及符号链接/目录联接会被拒绝。
  • 传输缓慢: 每次网络操作的上传/下载最长可能需要 15 分钟。在支持的情况下,请配置合适的工具调用超时。关闭工具调用不会取消已接受的处理任务。

数据和重试

服务会强制执行账户所有权、使用额度、文件限制和过期时间。 本地进程以你的操作系统用户身份运行;文件夹限制是应用层防护措施,并非操作系统沙箱。未捆绑或需要本地 FFmpeg。

下载不会覆盖文件,也不会跟随 Agent 提供的输出 URL。声明的输出大小上限为 1 GiB;没有大小信息的旧版元数据采用 50 MiB 的备用上限。传输采用流式处理,不会将完整视频加载到内存中。

重试任务时,请保留同一个 UUID request_id 和完全相同的参数(有效期 48 小时)。 不确定的响应仍可能表示操作已成功。上传操作不可幂等。轮询间隔不得短于 1 秒,并且要在过期前下载。只有收到服务器确认后,取消/删除才算完成。无需计费/管理权限。

开发

python -m pip install '.[dev]'
python -m pytest -q
python -m ruff check .
python -m ruff format --check .

测试使用小型受控 HTTP 测试夹具和实际的 MCP SDK 发现机制。请参阅发布检查、依赖项许可证和安全问题报告。

许可证和支持

连接器采用 MIT 许可证;托管处理服务和私有后端另行提供。可通过 GitHub 问题或 [email protected] 联系我们。

配置参考:Codex、 Claude Desktop、 Cursor。

评论

支持 Markdown

第一次接触 MCP?

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

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