Video Info MCP
Provides comprehensive video file analysis capabilities using FFmpeg, including extraction of video metadata, stream analysis, bitrate calculations, and technical parameter reporting across multiple formats
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Video Info MCPanalyze the video at /Users/john/Videos/presentation.mp4 and give me a technical report in markdown format"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
🎬 Video Info MCP
🚀 基于 MCP (Model Context Protocol) 协议的专业视频信息分析工具,为 AI 助手提供强大的视频文件分析能力
✨ 特性
🎯 专业分析: 基于 FFmpeg 的深度视频信息提取
📊 多维度数据: 视频流、音频流、码率、质量评估
📝 多格式报告: 支持 JSON、TEXT、Markdown 格式输出
🔧 MCP 兼容: 完全符合 Model Context Protocol 规范
⚡ 高性能: 平均响应时间 < 500ms
🌐 跨平台: 支持 Windows、macOS、Linux
🛡️ 类型安全: 使用 TypeScript 和 Zod 进行严格类型检查
Related MCP server: YouTube MCP Server
📦 安装
作为 MCP 服务器使用(推荐)
在您的 AI 助手配置文件中添加:
{
"mcpServers": {
"video-info": {
"command": "npx",
"args": ["@pickstar-2002/video-info-mcp@latest"],
"env": {}
}
}
}全局安装
npm install -g @pickstar-2002/video-info-mcp@latest🚀 快速开始
Claude Desktop 配置
打开 Claude Desktop 配置文件:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonLinux:
~/.config/claude/claude_desktop_config.json
添加 MCP 服务器配置:
{
"mcpServers": {
"video-info": {
"command": "npx",
"args": ["@pickstar-2002/video-info-mcp@latest"],
"env": {}
}
}
}重启 Claude Desktop
其他 AI 助手配置
对于支持 MCP 协议的其他 AI 助手,请参考相应的配置文档,使用以下命令:
npx @pickstar-2002/video-info-mcp@latest🛠️ 功能说明
可用工具
工具名称 | 描述 | 响应时间 |
| 📹 获取视频文件的详细信息 | ~400ms |
| 🔍 分析视频流和音频流参数 | ~300ms |
| 📊 计算码率和文件大小分析 | ~300ms |
| 📝 生成多格式技术报告 | ~280ms |
支持的视频格式
容器格式: MP4, MOV, AVI, MKV, WebM, FLV, 3GP, M4V
视频编码: H.264, H.265/HEVC, VP8, VP9, AV1, MPEG-4
音频编码: AAC, MP3, AC-3, DTS, FLAC, Opus, Vorbis
📖 使用示例
基本用法
在支持 MCP 的 AI 助手中,您可以直接使用自然语言请求:
"请分析这个视频文件的信息:/path/to/video.mp4"
"生成这个视频的技术报告,使用 Markdown 格式"
"计算这个视频文件的码率信息"API 调用示例
// get_video_info - 获取基本信息
{
"name": "get_video_info",
"arguments": {
"filePath": "/path/to/video.mp4"
}
}
// analyze_streams - 流分析
{
"name": "analyze_streams",
"arguments": {
"filePath": "/path/to/video.mp4",
"includeMetadata": true
}
}
// generate_report - 生成报告
{
"name": "generate_report",
"arguments": {
"filePath": "/path/to/video.mp4",
"format": "markdown"
}
}📊 输出示例
视频信息输出
{
"filename": "sample.mp4",
"fileSize": "20.43 MB",
"duration": "289.4",
"format": "mov,mp4,m4a,3gp,3g2,mj2",
"videoStreams": [{
"codec": "h264",
"resolution": "1920x1080",
"frameRate": "30/1",
"bitRate": "423986"
}],
"audioStreams": [{
"codec": "aac",
"sampleRate": "48000",
"channels": 2,
"bitRate": "164221"
}],
"technicalReport": {
"videoQuality": "1080p高清",
"audioQuality": "标准品质",
"recommendations": [
"建议提高视频码率以获得更好的1080p质量",
"使用H.264编码,兼容性良好"
]
}
}🔧 疑难解答
常见问题
❌ 连接错误 "Connection closed"
这通常是由于 npx 缓存问题导致的。请按以下顺序尝试解决:
1. 使用 @latest 标签(首选方案)
{
"mcpServers": {
"video-info": {
"command": "npx",
"args": ["@pickstar-2002/video-info-mcp@latest"],
"env": {}
}
}
}2. 锁定到特定版本(备用方案)
{
"mcpServers": {
"video-info": {
"command": "npx",
"args": ["@pickstar-2002/video-info-mcp@1.1.0"],
"env": {}
}
}
}3. 清理 npx 缓存(终极方案)
# 清理 npx 缓存
npx clear-npx-cache
# 或者手动删除缓存目录
# Windows: %LOCALAPPDATA%\npm-cache\_npx
# macOS/Linux: ~/.npm/_npx❌ FFmpeg 未找到
确保系统已安装 FFmpeg:
Windows:
# 使用 Chocolatey
choco install ffmpeg
# 使用 Scoop
scoop install ffmpegmacOS:
# 使用 Homebrew
brew install ffmpegLinux:
# Ubuntu/Debian
sudo apt update && sudo apt install ffmpeg
# CentOS/RHEL
sudo yum install ffmpeg❌ 权限错误
确保 AI 助手有权限访问视频文件路径,建议使用绝对路径。
❌ 文件格式不支持
检查视频文件是否损坏,或尝试使用其他工具转换为常见格式(如 MP4)。
性能优化建议
🚀 对于大文件(>1GB),分析可能需要更长时间
💾 建议将常用视频文件放在 SSD 上以提高分析速度
🔄 避免同时分析多个大文件
🤝 贡献
欢迎贡献代码!请遵循以下步骤:
Fork 本仓库
创建特性分支 (
git checkout -b feature/AmazingFeature)提交更改 (
git commit -m 'Add some AmazingFeature')推送到分支 (
git push origin feature/AmazingFeature)开启 Pull Request
📄 许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
🔗 相关链接
📞 联系方式
如有问题或建议,欢迎联系:
微信: pickstar_loveXX
⭐ 如果这个项目对您有帮助,请给个 Star!
Available Tools
4 toolsanalyze_streamsC
分别解析视频流和音频流的详细参数,提供流级别的深度分析
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | 视频文件路径 | |
| includeMetadata | No | 是否包含元数据信息 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool performs '深度分析' (deep analysis) of streams, but doesn't describe what this entails—e.g., whether it's a read-only operation, if it requires specific file permissions, potential performance impacts, or error handling. The description lacks details on behavioral traits beyond the basic function, leaving gaps for an AI agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, consisting of a single sentence that directly states the tool's purpose: '分别解析视频流和音频流的详细参数,提供流级别的深度分析'. It avoids unnecessary words and efficiently communicates the core function. However, it could be slightly improved by adding brief usage context without sacrificing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the context—2 parameters with full schema coverage, no annotations, no output schema, and sibling tools present—the description is minimally adequate. It clarifies the tool's purpose but lacks guidance on usage versus alternatives and behavioral details. For a tool with no output schema and no annotations, more information on expected outputs or operational constraints would enhance completeness, but the current description meets a basic threshold.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with clear documentation for both parameters: 'filePath' (video file path) and 'includeMetadata' (whether to include metadata information). The description adds no additional semantic meaning beyond the schema, such as explaining parameter interactions or usage nuances. Since schema coverage is high, the baseline score of 3 is appropriate, as the schema adequately handles parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '分别解析视频流和音频流的详细参数,提供流级别的深度分析' (Parse video and audio stream parameters separately, provide stream-level deep analysis). It specifies the verb ('解析' - parse/analyze) and resource ('视频流和音频流' - video and audio streams), making the function clear. However, it doesn't explicitly differentiate from sibling tools like 'get_video_info' or 'calculate_bitrate', which might offer overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools such as 'get_video_info' (which might provide general video information) or 'calculate_bitrate' (which might focus on bitrate calculations), nor does it specify prerequisites or exclusions. Usage is implied only by the tool's name and description, with no explicit context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_bitrateC
计算视频的平均码率和峰值码率,提供详细的码率分析
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | 视频文件路径 | |
| sampleDuration | No | 采样时长(秒),用于计算峰值码率 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions calculating average and peak bitrates with detailed analysis, but doesn't cover critical aspects like whether this is a read-only operation, potential performance impacts, error handling, or output format. For a tool with no annotations, this leaves significant gaps in understanding its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded with the core functionality and avoids redundancy, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description is incomplete for a tool that performs analysis. It doesn't explain what 'detailed bitrate analysis' includes, such as output format, units, or additional metrics. For a tool with 2 parameters and potential complexity in bitrate calculations, more context is needed to guide the agent effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters ('filePath' and 'sampleDuration') with descriptions. The description doesn't add any parameter-specific details beyond what the schema provides, such as explaining how 'sampleDuration' affects peak bitrate calculation. Baseline 3 is appropriate when the schema handles parameter documentation adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '计算视频的平均码率和峰值码率' (calculate average and peak bitrate of videos) and '提供详细的码率分析' (provide detailed bitrate analysis). It specifies the verb (calculate) and resource (video bitrate), though it doesn't explicitly differentiate from sibling tools like 'analyze_streams' or 'get_video_info' which might have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'analyze_streams' or 'get_video_info', nor does it specify contexts or exclusions for usage. The agent must infer usage based on the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_reportC
输出标准化的视频技术参数报告,支持多种格式输出
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | 视频文件路径 | |
| format | No | 报告格式 | json |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the tool outputs reports in multiple formats but doesn't describe what the report contains, whether it performs analysis on the video file, if it requires specific file types, or what happens on errors. For a tool that presumably reads and processes video files, this leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two clear clauses in a single sentence. The first clause states the core purpose, the second adds important functionality about output formats. There's no wasted language, though it could be slightly more structured by separating the format support into its own sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 2 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what '视频技术参数' (video technical parameters) includes, what the output looks like for different formats, or any behavioral aspects like file access requirements or error conditions. The agent would need to guess about the tool's behavior and output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage, with clear documentation for both parameters: 'filePath' (视频文件路径 - video file path) and 'format' (报告格式 - report format) with enum values. The description adds no additional parameter semantics beyond what's already in the schema, so it meets the baseline of 3 for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: '输出标准化的视频技术参数报告' (output standardized video technical parameter reports) and '支持多种格式输出' (supports multiple output formats). It specifies the verb ('输出' - output) and resource ('报告' - report) with the scope of video technical parameters. However, it doesn't explicitly differentiate from sibling tools like 'get_video_info' which might provide similar information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_video_info' or 'analyze_streams'. It mentions support for multiple output formats but doesn't specify scenarios where one format would be preferred over others, nor does it mention any prerequisites or constraints for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_video_infoC
获取视频文件的详细信息,包括时长、分辨率、帧率、编码等完整信息
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | Yes | 视频文件路径 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states what information is retrieved but doesn't describe how the tool behaves: e.g., whether it reads files safely (non-destructive), handles errors for invalid paths, requires specific permissions, has performance or rate limits, or returns structured data. The description is functional but lacks operational context needed for safe and effective use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose ('获取视频文件的详细信息') and lists key attributes. There is no wasted verbiage or redundancy, making it easy to parse. However, it could be slightly more structured by separating usage context or behavioral notes, but it remains appropriately concise for its informational content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a read operation with one parameter) and the absence of annotations and output schema, the description is incomplete. It explains what information is retrieved but not the return format, error handling, or operational behavior. For a tool that interacts with file systems, more context on safety, permissions, and output structure is needed to be fully actionable without relying on external assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with 'filePath' clearly documented as '视频文件路径' (video file path). The description adds no additional parameter semantics beyond what the schema provides, such as format examples (e.g., absolute vs. relative paths) or constraints (e.g., supported file types). With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb '获取' (get) and the resource '视频文件的详细信息' (detailed information of video files), listing specific attributes like duration, resolution, frame rate, and encoding. It distinguishes from siblings by focusing on comprehensive metadata extraction rather than stream analysis, bitrate calculation, or report generation. However, it doesn't explicitly differentiate from potential overlapping tools like 'analyze_streams' which might also provide some similar information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'analyze_streams', 'calculate_bitrate', or 'generate_report'. It doesn't mention prerequisites, such as file accessibility or format support, or exclusions for when other tools might be more appropriate. Usage is implied only by the tool's name and purpose, lacking explicit context or comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
4 tool updates
v1.0.0- First observed
analyze_streams - First observed
calculate_bitrate - First observed
generate_report - First observed
get_video_info
TDQS
Scored across 4 tools
Each tool has a clearly distinct purpose: analyze_streams focuses on stream-level parameters, calculate_bitrate on bitrate analysis, generate_report on report generation, and get_video_info on general video metadata. There is no overlap in functionality, making tool selection straightforward for an agent.
All tool names follow a consistent verb_noun pattern (e.g., analyze_streams, calculate_bitrate, generate_report, get_video_info). The naming is uniform, predictable, and uses snake_case throughout, with no deviations in style.
With 4 tools, the server is well-scoped for video information analysis. Each tool serves a specific, non-trivial function (analysis, calculation, reporting, and metadata retrieval), and the count is appropriate for the domain without being too sparse or overwhelming.
The tool set covers core video analysis tasks: metadata retrieval, stream analysis, bitrate calculation, and report generation. A minor gap exists in lacking tools for video manipulation (e.g., trimming or conversion), but for an info-focused server, the surface is largely complete and supports common workflows.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Video analysis AI: transcripts, summaries, visual scenes/shots, clips, answers in natural language.
Multimodal video analysis MCP — transcription, vision, and OCR for any video URL.
Run FFmpeg and FFprobe in the cloud: convert, compress, trim and analyze video and audio.
- RendobarOAuthcom.rendobar
Transform video, audio and images, and generate media from prompts. FFmpeg, captions, models.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables video editing using natural language commands powered by FFmpeg, supporting operations like trimming, merging, format conversion, and more with real-time progress tracking and error handling.51-
- AlicenseBqualityDmaintenanceEnables interaction with YouTube videos by extracting metadata, captions in multiple languages, and converting content to markdown with various templates.1125MIT
- AlicenseBqualityDmaintenanceProvides powerful video and audio editing capabilities through FFmpeg, enabling AI assistants to perform professional-grade operations including format conversion, trimming, overlays, transitions, and advanced audio processing.2783MIT
- AlicenseNot gradedqualityDmaintenanceA video analysis system that uses AI vision models to process, analyze, and query video content through natural language, enabling users to search videos by time, location, and content.7MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/pickstar-2002/video-info-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server