Video Downloader MCP
Enables downloading video or audio from Dailymotion URLs, plus retrieving video metadata such as title, uploader, duration, thumbnail, and available qualities via temporary links.
Enables downloading video or audio from Facebook URLs, plus retrieving video metadata such as title, uploader, duration, thumbnail, and available qualities via temporary links.
Enables downloading video or audio from Instagram URLs, plus retrieving video metadata such as title, uploader, duration, thumbnail, and available qualities via temporary links.
Enables downloading video or audio from Reddit URLs, plus retrieving video metadata such as title, uploader, duration, thumbnail, and available qualities via temporary links.
Enables downloading video or audio from TikTok URLs, plus retrieving video metadata such as title, uploader, duration, thumbnail, and available qualities via temporary links.
Enables downloading video or audio from Twitch clip URLs, plus retrieving video metadata such as title, uploader, duration, thumbnail, and available qualities via temporary links.
Enables downloading video or audio from Vimeo URLs, plus retrieving video metadata such as title, uploader, duration, thumbnail, and available qualities via temporary links.
Enables downloading video or audio from YouTube URLs, plus retrieving video metadata such as title, uploader, duration, thumbnail, and available qualities via temporary links.
Click on "Deploy 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 Downloader MCPDownload this video: https://youtu.be/dQw4w9WgXcQ"
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 Downloader MCP
Live deployment
MCP endpoint: https://video-downloader-mcp.onrender.com/mcp
Technical brief: https://video-mcp-brief.bramble-cannon.workers.dev
A public, no-auth MCP server that lets ChatGPT download videos and audio from YouTube, TikTok, Instagram, Facebook, X/Twitter, Reddit, Vimeo, Twitch clips, Dailymotion, and many other sites. Powered by yt-dlp and ffmpeg, packaged for Render's free Docker tier.
ChatGPT cannot receive a binary file through an MCP tool. The tools download the media to the server and return a temporary direct link. The user clicks the link to save the file. Links expire automatically (60 minutes by default).
Related MCP server: video-link-analyzer
Tools
Tool | What it does |
| Downloads a video, returns a temporary MP4 link plus metadata. |
| Extracts MP3 audio at 192 kbps, returns a temporary link. |
| Returns title, platform, uploader, duration, thumbnail, and available qualities without downloading. |
Add it to ChatGPT
Open ChatGPT → Settings → Connectors → Advanced → Developer mode.
Click Create / Add custom connector.
Name it
Video Downloader.MCP server URL:
https://<your-service>.onrender.com/mcpAuthentication: No authentication.
In a chat, ask: "Download this video: https://..." and open the link ChatGPT returns.
Custom connectors require a ChatGPT plan that supports them. The server must be reachable over public HTTPS, which Render provides.
Deploy on Render (free tier)
The repo includes a Dockerfile and render.yaml.
Blueprint
Push this repo to GitHub.
In Render, choose New → Blueprint and select the repo.
Apply the blueprint. Render builds the Docker image and deploys it.
Copy the service URL and use
https://<service>.onrender.com/mcpin ChatGPT.
Manual Docker web service
Environment: Docker
Plan: Free
Dockerfile path:
./DockerfileHealth check path:
/healthNo disk, no database, no auth needed.
Render sets PORT and RENDER_EXTERNAL_URL automatically. The app binds to
0.0.0.0:$PORT.
Free instances spin down after inactivity, so the first request after a pause can take 30–60 seconds while the container starts. Temporary files live on the instance's ephemeral disk, so download links stop working if the service restarts or spins down before the link is used. Download and open links promptly.
Configuration
All settings are optional environment variables.
Variable | Default | Description |
|
| Maximum size of one downloaded file. |
|
| Total temporary storage cap. |
|
| How long download links stay valid. |
|
| Parallel download jobs. |
|
| Global rate limit (protects the free instance). |
|
| Hard timeout per download. |
| auto | Overrides the public URL used in download links. |
|
| Browser TLS impersonation target. Set empty to disable. |
| unset | Optional outbound proxy ( |
| unset | Netscape-format cookies.txt contents, for login-only sites. |
| unset | Path to a cookies.txt file instead of |
| unset | Extra yt-dlp CLI flags, e.g. |
YouTube / Instagram limitations
YouTube aggressively blocks datacenter IPs. On a Render IP you may see "Sign in to confirm you're not a bot". Options:
Supply cookies from an account via
YTDLP_COOKIES(Netscape cookies.txt format).Route downloads through a residential/mobile proxy via
YTDLP_PROXY.Try again later; YouTube's blocking is inconsistent.
Instagram and Vimeo sometimes require a logged-in session for public posts. Cookies fix those cases too. TikTok works well with the default browser impersonation.
Live streams are rejected. Private, paid, DRM-protected, and login-only content cannot be downloaded.
Public technical brief
site/index.html is a self-contained page explaining the architecture, tools,
request lifecycle, limits, security model, and deployment. To publish it as a
static Cloudflare Worker:
python scripts/build_cloudflare_worker.py
cd cloudflare
npx wrangler deploy --temporaryWrangler's --temporary mode creates a public preview account without a
Cloudflare login. The preview account can be claimed within 60 minutes to keep
the URL long-term.
Local development
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt -r requirements-dev.txt
# ffmpeg is required for merging video+audio and MP3 extraction
.venv/bin/python -m app.mainOpen http://127.0.0.1:8000/ for the landing page and
http://127.0.0.1:8000/health for health. The MCP endpoint is
http://127.0.0.1:8000/mcp.
Run the tests (the end-to-end test generates a local video and downloads it through the MCP protocol):
.venv/bin/python -m pytestSecurity notes
This server is intentionally public and unauthenticated, as requested. Anyone with the URL can download media through it. It includes:
SSRF protection: only
http/https, hostnames are resolved, and private, loopback, link-local, and reserved addresses are rejected.A global hourly rate limit, a concurrency limit, file-size caps, and storage caps.
Unguessable capability URLs for temporary files.
No shell execution of user input; yt-dlp runs as an argument list.
For a private deployment, put the service behind a secret path or an access token
at the proxy/CDN layer. Never enable ALLOW_PRIVATE_URLS on a public server.
Updating yt-dlp
Sites change constantly. Update the pinned yt-dlp version in requirements.txt
and redeploy regularly:
.venv/bin/pip install -U yt-dlp
.venv/bin/pip freeze | grep yt-dlpLicense
MIT. This tool is for downloading content you have the right to access and use. Respect each platform's terms of service and applicable copyright law.
This server cannot be deployed
Maintenance
Related MCP Connectors
Download video and audio from TikTok, YouTube, Instagram and 1800+ sites; get transcripts.
AI YouTube downloader: save YouTube, TikTok, Instagram + 10 more as MP4/MP3 from any AI chat.
Download YouTube videos and clips as MP4 or MP3/AAC, and look up video metadata.
Cut audio from YouTube, TikTok or Instagram links to MP3/WAV, and fetch video transcripts.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables video metadata extraction and downloading from platforms like TikTok and YouTube via yt-dlp, including direct MP4 links and local downloads with MP3 conversion.3-
- AlicenseNot gradedqualityAmaintenanceEnables link type detection, video downloading, metadata extraction, and transcript generation across 16+ platforms including YouTube, Bilibili, and WeChat Channels. Supports automatic subtitle extraction and optional Whisper speech-to-text for videos without captions.2MIT
- AlicenseAqualityFmaintenanceEnables AI agents to download, transcribe, and inspect video or audio URLs from YouTube, TikTok, X, and 1000+ other sites using server-side yt-dlp, residential proxies, and speech-to-text.912 npmMIT
- AlicenseNot gradedqualityCmaintenanceHosted MCP server that lets Claude, ChatGPT, Perplexity, Cursor and other AI assistants download videos as MP4 or audio as MP3/M4A from YouTube, TikTok, Instagram, Facebook, Vimeo, Twitch, SoundCloud and 6 more platforms. No install; free for 3 downloads a day.MIT