视频理解MCP服务器

一个基于Qwen3-VL模型的MCP服务器,支持视频和图像分析,适用于AI代理进行多媒体内容处理。

  • by adamanz
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 adamanz/qwen-video-mcp-server

使用说明

Qwen视频理解MCP服务器

MCP(模型上下文协议)服务器,使Claude和其他AI代理能够使用 Qwen3 VL 部署在Modal上。

亮点

  • 长达数小时的视频 支持全面召回
  • 时间戳接地 -二级精度
  • 256K上下文 (可扩展到1M)
  • 32种语言OCR 支持
  • 免费/自托管 在Modal无服务器GPU上

特性

  • 视频分析:使用自定义提示通过URL分析视频
  • 图像分析:通过URL分析图像
  • 视频摘要:生成简短、标准或详细的摘要
  • 文本提取:提取屏幕文本并转录语音
  • 视频问答:询问有关视频内容的具体问题
  • 帧比较:分析视频中的变化和进展

建筑

Claude/Agent → MCP Server → Modal API → Qwen3-VL (GPU)

MCP服务器充当Claude和部署在Modal无服务器GPU基础设施上的Qwen2.5-VL模型之间的桥梁。

先决条件

  1. 模态账户:注册地址: modal.com
  2. 已部署的Qwen模型:将视频理解模型部署到Modal(见下文)
  3. Python 3.10+

快速开始

1.将模型部署到模态(如果尚未完成)

cd ~/qwen-video-modal
modal deploy qwen_video.py

2.安装MCP服务器

cd ~/qwen-video-mcp-server
pip install -e .

或者使用紫外线:

uv pip install -e .

3.配置环境

cp .env.example .env
# Edit .env with your Modal workspace name

4.添加到克劳德桌面

添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "qwen-video": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/adamanz/qwen-video-mcp-server",
        "run",
        "server.py"
      ],
      "env": {
        "MODAL_WORKSPACE": "adam-31541",
        "MODAL_APP": "qwen-video-understanding"
      }
    }
  }
}

5.重新启动克劳德桌面

这 qwen-video 工具现在应该可用了。

可用工具

analyze_video

使用自定义提示分析视频。

analyze_video(
  video_url="https://example.com/video.mp4",
  question="What happens in this video?",
  max_frames=16
)

analyze_image

使用自定义提示分析图像。

analyze_image(
  image_url="https://example.com/image.jpg",
  question="Describe this image"
)

summarize_video

生成不同风格的视频摘要。

summarize_video(
  video_url="https://example.com/video.mp4",
  style="detailed"  # brief, standard, or detailed
)

extract_video_text

从视频中提取文本并转录语音。

extract_video_text(
  video_url="https://example.com/presentation.mp4"
)

video_qa

询问有关视频的具体问题。

video_qa(
  video_url="https://example.com/video.mp4",
  question="How many people appear in this video?"
)

compare_video_frames

分析整个视频中的变化。

compare_video_frames(
  video_url="https://example.com/timelapse.mp4",
  comparison_prompt="How does the scene change?"
)

check_endpoint_status

检查模态端点配置。

list_capabilities

列出所有服务器功能和支持的格式。

配置

环境变量 描述 默认值
MODAL_WORKSPACE 您的Modal工作区/用户名 adam-31541
MODAL_APP Modal应用程序的名称 qwen-video-understanding
QWEN_IMAGE_ENDPOINT 覆盖图像端点URL 自动生成
QWEN_VIDEO_ENDPOINT 覆盖视频端点URL 自动生成

支持格式

视频:mp4、webm、mov、avi、mkv

图像:jpg、jpeg、png、gif、webp、bmp

局限性

  • 视频必须可通过公共URL访问
  • 每个视频最多提取64帧
  • 建议视频长度:不超过10分钟,效果最佳
  • 第一个请求可能有冷启动延迟(Modal无服务器)

成本

Modal后端使用A100-40GB GPU:

  • 处理时约3.30美元/小时
  • 空闲时缩放到零(无成本)
  • 仅按实际处理时间收费

故障排除

“请求超时”

  • 视频可能太大
  • 尝试一个较短的视频或减少 max_frames

“HTTP错误502/503”

  • Modal集装箱正在启动(冷启动)
  • 等待几秒钟,然后重试

“无法访问视频URL”

  • 确保URL可公开访问
  • 检查身份验证要求

发展

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

许可证

麻省理工学院