MCP Video Recognition Server
MCP Video Recognition Server
一个 MCP 服务器,可描述本地文件中的图像、转录音频并总结视频。默认使用 Google Gemini,也可使用任何兼容 OpenAI 的端点(如 OpenRouter)。
功能
选择你的提供商:Google Gemini(默认)或兼容 OpenAI 的端点
三个 MCP 工具,用于本地图像、音频和视频
可选的 Gemini 模型回退,外加最终的兼容 OpenAI 的备份
模型支持情况各不相同。选择兼容 OpenAI 的提供商并不意味着每个端点或模型都能处理所有媒体类型,服务器也绝不会替你替换模型或提供商。
Related MCP server: Puter MCP Server
前提条件
Node.js 18.0.0 或更高版本
你的提供商的 API 密钥:
Gemini:
GOOGLE_API_KEY兼容 OpenAI 的提供商:
OPENAI_COMPATIBLE_API_KEY
安装
git clone https://github.com/yourusername/mcp-video-recognition.git
cd mcp-video-recognition
npm install
npm run build快速开始
将服务器添加到你的 MCP 客户端配置中,并将其指向构建后的 dist/index.js:
{
"mcpServers": {
"video-recognition": {
"command": "node",
"args": ["/path/to/mcp-video-recognition/dist/index.js"],
"env": {
"GOOGLE_API_KEY": "your_google_api_key"
}
}
}
}在 Windows 上,请在路径中使用正斜杠或双反斜杠(\\)。保存文件并重新连接你的 MCP 客户端。
对于 OpenRouter 或其他兼容 OpenAI 的端点,请设置 RECOGNITION_PROVIDER=openai-compatible 及其变量。有关现成示例,请参阅 配置。
使用 FLUJO:
点击添加服务器。
粘贴 GitHub URL。
点击解析、克隆、安装、构建并保存。
配置
服务器会读取环境变量。最常见的变量如下:
变量 | 默认值 | 用途 |
|
|
|
| 无 | Gemini API 密钥 |
|
| 要使用的 Gemini 模型 |
| 无 | 兼容 OpenAI 的 API 密钥 |
| 无 | 端点基础 URL |
| xiaomi/mimo-v2.5 | 要使用的模型 |
| 无 | 兼容 OpenAI 的提供商和 Gemini 备份的媒体目录 |
错误的值会阻止启动;它们不会被静默修复。
有关完整的变量列表、验证规则、OpenRouter 示例和支持的媒体类型,请参阅 配置参考。
有关 Gemini 模型回退和最终备份,请参阅 提供商恢复参考。
工具
服务器提供三个 MCP 工具。每个工具都接受一个本地 filepath、一个可选的 prompt(默认为 Describe this content)以及一个可选的 modelname 覆盖。
image_recognition— 描述图像audio_recognition— 转录音频或描述音频video_recognition— 描述视频
示例:
{
"name": "video_recognition",
"arguments": {
"filepath": "/path/to/video.mp4",
"prompt": "Describe what happens in this video"
}
}安全
默认情况下要求使用 HTTPS。仅对显式启用的本地端点允许普通 HTTP。
兼容 OpenAI 的提供商和 Gemini 备份仅从你在
ALLOWED_MEDIA_ROOTS中列出的目录读取媒体。密钥保留在进程环境中。不要提交真实密钥。
有关端点规则、资源限制和事件响应,请参阅 安全参考。
开发
# Run in development mode
GOOGLE_API_KEY=your_api_key npm run dev
# Build and run the provider foundation tests
npm run verify:provider-foundation项目结构
src/index.ts: 入口点和提供商构建src/server.ts: MCP 服务器和传输src/tools/: 三个识别工具src/services/: Gemini 和兼容 OpenAI 的提供商src/types/: 共享类型src/utils/: 辅助函数
许可证
MIT
Available Tools
3 toolsaudio_recognitionB
Analyze and transcribe audio using Google Gemini AI
| Name | Required | Description | Default |
|---|---|---|---|
| filepath | Yes | Path to the media file to analyze | |
| modelname | No | Gemini model to use for recognition | gemini-2.0-flash |
| prompt | No | Custom prompt for the recognition | Describe this content |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It only states 'analyze and transcribe' but does not detail output format, processing behavior, authentication needs, or limitations.
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 concise sentence, front-loaded with the core purpose. No unnecessary words.
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 output schema, the description should explain what the tool returns (e.g., transcribed text or analysis). It does not, nor does it cover edge cases or prerequisites.
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 coverage is 100%, so the schema already documents all parameters. The description does not add additional meaning beyond what the schema provides, meeting the baseline of 3.
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 function: analyze and transcribe audio using Google Gemini AI. It explicitly mentions 'audio' which distinguishes it from sibling tools image_recognition and video_recognition.
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?
No guidance is provided on when to use this tool vs alternatives (e.g., image_recognition, video_recognition). The description only states what it does without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
image_recognitionB
Analyze and describe images using Google Gemini AI
| Name | Required | Description | Default |
|---|---|---|---|
| filepath | Yes | Path to the media file to analyze | |
| modelname | No | Gemini model to use for recognition | gemini-2.0-flash |
| prompt | No | Custom prompt for the recognition | Describe this content |
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. It only mentions 'using Google Gemini AI' but does not disclose safety (e.g., read-only vs destructive), API costs, file size limits, or the nature of the analysis (e.g., real-time, batch).
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?
Single sentence, front-loaded with verb and resource. No wasted words. Efficient and scannable.
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?
No output schema is provided, yet the description does not explain what the tool returns (e.g., text description, confidence scores). For a tool with 3 parameters and no annotations, this leaves the agent guessing about the response format and behavior.
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 coverage is 100% with each parameter described. The description adds no additional meaning beyond the schema; it only names the AI provider. Baseline of 3 is appropriate.
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 action ('Analyze and describe images') and the technology ('using Google Gemini AI'). It distinguishes from sibling tools (audio_recognition, video_recognition) by specifying the media type (images).
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?
No guidance on when to use this tool versus alternatives (e.g., audio_recognition, video_recognition). No mention of prerequisites, limitations, or scenarios where it is not appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
video_recognitionC
Analyze and describe videos using Google Gemini AI
| Name | Required | Description | Default |
|---|---|---|---|
| filepath | Yes | Path to the media file to analyze | |
| modelname | No | Gemini model to use for recognition | gemini-2.0-flash |
| prompt | No | Custom prompt for the recognition | Describe this content |
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 states the tool analyzes and describes videos but doesn't mention critical behavioral aspects like rate limits, authentication requirements, file size limits, supported video formats, processing time, or error handling. The description is too vague about what 'analyze and describe' entails operationally.
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 states the core functionality without unnecessary words. It's appropriately sized and front-loaded with the essential information, making it easy for an agent 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 the complexity of video analysis (which typically involves format handling, processing time, and potential errors), no annotations, and no output schema, the description is insufficient. It doesn't explain what the tool returns, how to interpret results, or any operational constraints, leaving significant gaps for an AI agent to use it 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 all three parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema, such as explaining how the prompt interacts with video analysis or model selection trade-offs. Baseline 3 is appropriate when schema does the heavy lifting.
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 as analyzing and describing videos using Google Gemini AI, which is specific (verb+resource) and distinguishes it from sibling tools like audio_recognition and image_recognition. However, it doesn't explicitly mention video-specific capabilities beyond the name, leaving some ambiguity about whether it handles all video formats or specific features.
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 its siblings (audio_recognition, image_recognition). It doesn't mention prerequisites, limitations, or alternative scenarios, leaving the agent to infer usage based on tool names alone.
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.
3 tool updates
v1.0.0- First observed
audio_recognition - First observed
image_recognition - First observed
video_recognition
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose targeting different media types: audio, images, and videos. There is no overlap in functionality, as they handle separate input formats with similar analysis capabilities but different domains.
All tool names follow a consistent pattern of 'media_type_recognition' using snake_case. This predictable naming scheme makes it easy to understand what each tool does based on its name alone.
With only 3 tools, the server feels somewhat thin for a video recognition domain, as it lacks operations like video editing, frame extraction, or metadata retrieval. However, the core recognition functions for audio, images, and videos are covered, making it borderline appropriate.
The server provides basic recognition for three media types but lacks comprehensive coverage for video processing. There are no tools for operations like video segmentation, object tracking, or format conversion, which are common in video recognition workflows, leaving notable gaps.
Maintenance
Related MCP Connectors
Analyze images and videos with Gemini to get fast, reliable visual insights. Handle content from U…
OCR, transcription, file extraction, and image generation for AI agents via MCP.
- RendobarOAuthcom.rendobar
Transform video, audio and images, and generate media from prompts. FFmpeg, captions, models.
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables text-to-image generation, style transfer, background removal, and automatic image cropping using Google's Imagen AI models through the Model Context Protocol.-
- AlicenseNot gradedqualityDmaintenanceProvides AI-powered media generation tools including image, speech, video, OCR, and voice conversion via the Model Context Protocol.6 npmMIT
- AlicenseAqualityCmaintenanceProvides AI-powered image and video analysis using Google Gemini and Vertex AI models through the Model Context Protocol.523 npm78MIT
- AlicenseNot gradedqualityDmaintenanceProvides image analysis, inspection, cropping, OCR, and comparison capabilities via the Model Context Protocol, allowing AI agents to process and manipulate images using vision models.2MIT