mcp-video-recognition-bilibili
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., "@mcp-video-recognition-bilibiliAnalyze https://www.bilibili.com/video/BV1xx and summarize its content."
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.
MCP Video Recognition Server (Bilibili/URL fork)
An MCP (Model Context Protocol) server that analyzes images, audio, and video using Google's Gemini AI.
This is a fork of mario-andreschak/mcp_video_recognition. All original recognition logic and credit belong to the upstream author. This fork adds the changes listed below. Licensed under MIT, same as upstream.
What this fork adds / 本 fork 的改动
Compared to the upstream project, this fork adds:
URL input for video recognition / 视频识别支持网址输入 The
video_recognitiontool'sfilepathargument now accepts either a local file path OR a video URL (e.g. a Bilibili or YouTube link). When a URL is given, the server downloads the video withyt-dlpfirst, then analyzes it with Gemini, and deletes the temp file afterwards.video_recognition的filepath参数现在既能填本地路径,也能直接填视频网址(B站 / YouTube 等)。传网址时服务端先用yt-dlp下载,再交给 Gemini 分析,用完自动删除临时文件。Auto quality selection / 自动选清晰度 Uses
yt-dlp -S res:480to pick the format closest to 480p (works for both landscape and portrait videos), keeping downloads small and fast to save tokens and memory. 用-S res:480自动选最接近 480p 的档(横屏竖屏都适配),省流量、省 token、省内存。Cookie & User-Agent support for anti-bot sites / 支持 Cookie 和 UA 绕过风控 If a Netscape-format cookie file exists at
/app/bili-cookies.txt, it is passed toyt-dlpautomatically (Bilibili and some sites return HTTP 412 without login cookies). A desktop User-Agent is always sent. 若/app/bili-cookies.txt存在(Netscape 格式的 cookie 文件),会自动带给yt-dlp(B站等站点无登录 Cookie 会返回 412)。同时固定发送桌面版 User-Agent。Dockerfile bundles
yt-dlp+ffmpeg/ Dockerfile 内置 yt-dlp 和 ffmpeg。
Image and audio recognition are unchanged from upstream. 图片和音频识别与上游一致,未改动。
Related MCP server: AI Vision MCP Server
Tools
image_recognition— analyze an image (local file path)audio_recognition— analyze / transcribe audio (local file path)video_recognition— analyze a video;filepathaccepts a local path or a URL
Prerequisites
Docker (recommended), or Node.js 22+
A Google Gemini API key
Quick start (Docker)
git clone <your-fork-url>.git video-mcp
cd video-mcp
# 1. Create env file (see .env.example)
cp .env.example video.env
# then edit video.env and put in your real GOOGLE_API_KEY
# 2. (Optional, for Bilibili) put a Netscape-format cookie file next to the project
# Export it with a browser extension like "Cookie-Editor" while logged in to Bilibili.
# Name it bili-cookies.txt
# 3. Build
docker build -t video-mcp .
# 4. Run (mount cookie file if you have one)
docker run -d --name video --restart unless-stopped \
-p 18014:3000 \
--env-file ./video.env \
-v "$(pwd)/bili-cookies.txt:/app/bili-cookies.txt" \
video-mcpMCP endpoint: http://<host>:3000/mcp (Streamable HTTP).
Environment variables
Variable | Meaning |
| Required. Google Gemini API key. |
|
|
| Port for HTTP transport. Default |
|
|
Usage note
When your MCP client (or its model) calls video_recognition, pass the Bilibili/YouTube link as the filepath argument. Example intent:
Call
video_recognitionwithfilepath=https://www.bilibili.com/video/BVxxxxxxxxx/and tell me what's in the video.
Keep videos short (Gemini free tier has size/quota limits). Cookies expire — re-export when Bilibili starts returning 412 / login errors.
Security
Never commit your real
video.env(contains the API key) orbili-cookies.txt(contains your login session). Both are gitignored.Downloaded videos are stored in a temp dir and deleted after analysis.
中文部署教程(详细版)
这份教程假设你要把它部署到一台**自己的云服务器(Linux)**上,用 Docker 运行,让远程的 MCP 客户端(如各类聊天平台)通过网址调用,实现「发一个 B 站链接,AI 就能看懂视频画面」。
你需要准备
一台装了 Docker 的 Linux 服务器(1核1G 也能跑,处理视频那几秒会吃点内存,建议有 2G 内存或配了 swap)。
一个 Google Gemini API Key:去 aistudio.google.com/apikey 免费申请。
(下 B 站视频需要)一份你自己的 B 站登录 Cookie,下面第 4 步会讲怎么导出。
第 1 步:拉代码
cd ~
git clone <你的仓库地址>.git video-mcp
cd video-mcp第 2 步:写环境变量文件
cp .env.example video.env
nano video.env把 GOOGLE_API_KEY= 后面换成你自己的 Gemini Key。其它保持默认即可(TRANSPORT_TYPE=sse 表示走 HTTP,适合远程用)。保存退出:Ctrl+O 回车 Ctrl+X。
第 3 步:(可选,但下 B 站视频几乎必需)准备 Cookie
B 站对没有登录 Cookie 的请求会返回 HTTP 412,导致下载失败。解决办法是带上你自己的登录 Cookie:
电脑浏览器登录 B 站(bilibili.com)。
装浏览器扩展 Cookie-Editor,在 B 站页面点开它。
点 Export → Export as Netscape(⚠️ 一定要选 Netscape 格式,不是 JSON)。
把导出的内容保存成服务器上的
~/video-mcp/bili-cookies.txt:nano ~/video-mcp/bili-cookies.txt粘贴进去保存。文件开头应该是
# Netscape HTTP Cookie File。
Cookie 会过期。哪天视频又下不了(报 412 或要登录),重新导出覆盖这个文件、再
docker restart video即可。
第 4 步:构建镜像
docker build -t video-mcp .第一次会下载 Node 基础镜像、安装 ffmpeg 和 yt-dlp、编译代码,需要一两分钟。看到 naming to ... video-mcp 就成功了。
第 5 步:启动容器
docker run -d --name video --restart unless-stopped \
-p 18014:3000 \
--env-file ~/video-mcp/video.env \
-v ~/video-mcp/bili-cookies.txt:/app/bili-cookies.txt \
video-mcp说明:
-p 18014:3000:把容器的 3000 端口映射到服务器的 18014(对外端口你可以改)。-v ...bili-cookies.txt...:把 Cookie 文件挂进容器。没做第 3 步(没 Cookie)就删掉这一行-v。注意挂载 Cookie 不要加
:ro(只读),因为 yt-dlp 运行时会回写更新 Cookie。
第 6 步:确认起来了
docker logs video看到 Server started with Streamable HTTP transport on port 3000 就正常了。再确认 yt-dlp 装好:
docker exec video yt-dlp --version能打印版本号(如 2026.07.04)即可。
第 7 步:连接你的 MCP 客户端
MCP 端点是:
http://你的服务器IP:18014/mcp如果你用了域名 + 反向代理(如 Nginx / Caddy)转发到 localhost:18014,就用你的 https://域名/mcp。传输方式选 Streamable HTTP。
第 8 步:怎么用
在你的聊天客户端里,明确要求调用 video_recognition 工具,把链接作为 filepath 参数。例如对 AI 说:
请调用 video_recognition 工具,filepath 填 https://www.bilibili.com/video/BVxxxxxxxxx/ ,帮我看看视频里是什么。
⚠️ 如果你同时接了「网页读取」类工具(如 jina),AI 可能会把链接拿去读网页而不是下载视频。这时要明确说「不要读网页,用 video_recognition 下载视频看画面」。
常见问题
现象 | 原因 | 解决 |
下载报 | B 站风控,没带登录 Cookie | 按第 3 步准备 |
报 | 挂载 Cookie 时加了 | 去掉 |
报 | 视频没有对应清晰度档 | 本 fork 已用 |
报 | Gemini Key 免费额度用完 / 被限流 | 换一个 Gemini Key(改 |
AI 不调用视频工具,去读网页了 | 客户端优先用了别的工具 | 对话里点名 |
关于视频时长与费用
视频识别很吃 Gemini 的 token,建议只处理 1~3 分钟以内的短视频。
Gemini 有免费额度,个人偶尔用足够;高频使用会触发限流或产生费用。
本 fork 默认下载 480p 左右画质,已经尽量省流量和 token。
Credits & License
Upstream project: mario-andreschak/mcp_video_recognition — original image/audio/video recognition MCP server.
This fork only adds URL download / cookie / quality-selection features on top.
Licensed under the MIT License (see
LICENSE). The original copyrightCopyright (c) 2025 mario-andreschakis retained.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceEnables image analysis and recognition through multiple LLM vision models (Gemini, GPT-4o, Qwen-VL, Doubao) by accepting image URLs or Base64 data and returning text descriptions or answers to questions about the images.Last updated1
- Alicense-qualityDmaintenanceEnables AI-powered image and video analysis using Google Gemini and Vertex AI models. Supports analyzing single or multiple images, detecting objects with bounding boxes, and video content analysis through natural language prompts.Last updated135MIT
- AlicenseAqualityBmaintenanceAnalyzes YouTube videos using Google's Gemini API, allowing users to get summaries or ask questions about video content via direct URL input.Last updated5362MIT
- FlicenseAqualityCmaintenanceEnables Gemini-powered multimodal analysis (video, audio, image, documents), Google search, and code execution via the API易 service. Supports Docker deployment and flexible configuration.Last updated2
Related MCP Connectors
Multimodal video analysis MCP — transcription, vision, and OCR for any video URL.
Transform video, audio and images, and generate media from prompts. FFmpeg, captions, models.
Analyze images from multiple angles to extract detailed insights or quick summaries. Describe visu…
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/tsukikagehoshi/mcp-video-recognition-bilibili'
If you have feedback or need assistance with the MCP directory API, please join our Discord server