README
🚀 视频编辑 MCP 服务器
这是一个功能强大的视频编辑 MCP 服务器,它借助 FFmpeg 实现通过自然语言命令执行各类视频编辑操作,极大地提升了视频编辑的便捷性和效率。
✨ 主要特性
工具
服务器实现了一个核心工具:
execute_ffmpeg:可执行带有进度跟踪的 FFmpeg 命令。- 接收命令字符串作为输入。
- 对 FFmpeg 操作进行验证并执行。
- 实时报告处理进度。
- 处理错误并提供详细反馈。
- 支持所有 FFmpeg 操作,涵盖:
- 裁剪/剪辑
- 合并视频
- 转换格式
- 调整速度
- 添加音频轨道
- 提取音频
- 添加字幕
- 基本滤镜(亮度、对比度等)
📦 安装指南
先决条件
- 系统中必须已安装 FFmpeg,且其可在系统 PATH 中被访问。
- 需安装 Python 3.9 或更高版本。
- 安装所需的 Python 包:
mcp httpx
安装步骤
-
若尚未安装 FFmpeg,可按以下方式进行安装:
# 在 macOS 上使用 Homebrew brew install ffmpeg # 在 Windows 上使用 Chocolatey choco install ffmpeg # 在 Ubuntu/Debian 上 sudo apt install ffmpeg -
安装视频编辑包:
uv add video-editor
Claude 桌面集成
在您的 Claude Desktop 配置文件中进行如下配置:
- 在 MacOS 上:
~/Library/Application Support/Claude/claude_desktop_config.json - 在 Windows 上:
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"video-editor": {
"command": "uv",
"args": ["run", "video-editor"]
}
}
}
💻 使用示例
基础用法
一旦连接到 Claude Desktop,您可以发出如下自然语言请求:
- "将 video.mp4 从 1:30 到 2:45 裁剪"
- "将 input.mp4 转换为 WebM 格式"
- "将 video.mp4 的速度加快 2 倍"
- "合并 video1.mp4 和 video2.mp4"
- "从 video.mp4 中提取音频"
- "将 subtitles.srt 添加到 video.mp4"
服务器将执行以下操作:
- 解析您的请求。
- 生成合适的 FFmpeg 命令。
- 执行命令并进行进度跟踪。
- 在完成时提供反馈。
📚 详细文档
开发
构建和发布
-
同步依赖项:
uv sync -
构建包:
uv build -
发布到 PyPI:
uv publish
注意:通过以下方式设置 PyPI 凭据:
- 令牌:
--token或UV_PUBLISH_TOKEN - 或用户名/密码:
--username/UV_PUBLISH_USERNAME和--password/UV_PUBLISH_PASSWORD
调试
为了获得最佳调试体验,请使用 MCP 检查器:
npx @modelcontextprotocol/inspector uv --directory /path/to/video_editor run video-editor
错误处理
服务器具备强大的错误处理功能,可处理以下情况:
- 无效的输入文件
- 格式错误的 FFmpeg 命令
- 运行时执行错误
- 进度跟踪问题
所有错误都会详细报告给客户端,方便进行调试。
安全注意事项
- 仅处理显式允许目录中的文件。
- 在执行 FFmpeg 命令前验证其有效性。
- 对所有输入参数进行清理。
- 报告与安全相关的详细错误消息。
贡献
欢迎贡献代码!请按以下步骤操作:
- Fork 这个仓库。
- 创建一个新的分支用于您的功能:
git checkout -b feature/your-feature - 提交您的更改:
git commit -m '描述您的修改' - 推送到远程仓库:
git push origin feature/your-feature - 创建一个 Pull Request。
请确保在提交之前检查代码格式和文档是否符合要求。
Scan to contact