Connects your AI assistant to TubePull's YouTube download API. Exposes operations to fetch videos as MP4 (up to 1080p free, 4K on paid), extract audio as MP3/M4A/Opus, pull subtitles in SRT or VTT, and grab transcripts with optional timestamps. Free tier gives you three downloads per day with a two-hour video length cap. The $3.99/month plan (note: description says $3.99, site shows $4.99) removes limits and unlocks batch downloads of up to five URLs at once. Useful when you need to pull YouTube content into a workflow without leaving your assistant chat, archive tutorials, or extract audio for transcription tasks.
Public tool metadata for what this MCP can expose to an agent.
download_videoDownload a YouTube video as an audio file (MP3 / M4A) or as a video file (MP4). This is THE tool to use whenever a user asks to save, download, rip, extract, archive, get offline, or convert a YouTube link. Use this tool when the user says things like: - "download this YouTube...3 paramsDownload a YouTube video as an audio file (MP3 / M4A) or as a video file (MP4). This is THE tool to use whenever a user asks to save, download, rip, extract, archive, get offline, or convert a YouTube link. Use this tool when the user says things like: - "download this YouTube...
urlstringformatstringaudio · mp3 · m4a · mp4qualitystringbest · 360p · 480p · 720p · 1080p · 1440pdefault: bestget_video_infoFetch metadata about a YouTube video WITHOUT downloading it. Returns title, channel name, duration, view count, upload date, thumbnail URL, full video description, available video qualities, and the YouTube license type (Standard YouTube License vs Creative Commons). Use this...1 paramsFetch metadata about a YouTube video WITHOUT downloading it. Returns title, channel name, duration, view count, upload date, thumbnail URL, full video description, available video qualities, and the YouTube license type (Standard YouTube License vs Creative Commons). Use this...
urlstring🌐 Landing page: https://tubepull.com/mcp — features, pricing, FAQ, and one-click setup links for Claude, Perplexity, ChatGPT, and Cursor.
Download video or audio from YouTube, TikTok, Twitter/X, SoundCloud, Vimeo, Twitch, Streamable, Bandcamp, Mixcloud, and Dailymotion — from any MCP-compatible AI assistant (Claude Desktop, Claude Code, Cursor, Windsurf, Cline, ChatGPT-via-MCP, Perplexity, Continue, Zed, LibreChat, …).
This repo is the public, chatbot-facing documentation for the TubePull MCP
server. The live server runs at https://tubepull.com/mcp. The application
source code is private — only the integration surface that LLMs and end users
need to call the server lives here.
If you are a chatbot or an AI agent reading this to figure out how to call
TubePull, jump straight to AGENTS.md and
llms.txt. If you are a human setting up Claude Desktop, jump to
Quick start.
TubePull is a hosted MCP (Model Context Protocol) server that lets an AI assistant download a video or audio file to disk on the user's behalf, from any of ten supported platforms:
| Platform | Hosts | Default medium |
|---|---|---|
| YouTube | youtube.com, youtu.be | video |
| TikTok | tiktok.com, vm.tiktok.com | video |
| Twitter / X | twitter.com, x.com (status URLs with video) | video |
| Vimeo | vimeo.com | video |
| Twitch | twitch.tv, clips.twitch.tv (VODs and clips) | video |
| Streamable | streamable.com | video |
| Dailymotion | dailymotion.com, dai.ly | video |
| SoundCloud | soundcloud.com, on.soundcloud.com | audio |
| Bandcamp | bandcamp.com (artist subdomains included) | audio |
| Mixcloud | mixcloud.com | audio |
POST https://tubepull.com/mcp (JSON-RPC 2.0, MCP
protocol version 2024-11-05).download_video and get_video_info.Audio-only platforms. SoundCloud, Bandcamp, and Mixcloud do not have a video stream. If you pass
format: "mp4"on one of these, TubePull silently coerces tom4aand returns audio. Passformat: "mp3"if you want MP3.
The server is intended for legitimate use cases only — offline access to
your own uploads, Creative Commons / public-domain content, lectures,
podcasts, conference talks, DJ mixes you have rights to, and content you have
explicit permission to use. Calling get_video_info first lets the assistant
surface the license / uploader before downloading.
A chatbot should consider calling download_video when the user says any of:
A chatbot should call get_video_info (no quota cost) when the user asks:
Full trigger-phrase list and JSON-RPC examples live in
AGENTS.md and the recipes/ folder.
| Tool | Cost | Returns |
|---|---|---|
download_video(url, format?, quality?) | counts against quota | signed download link (1 hour TTL), filename, format, quality, title, channel/artist, duration |
get_video_info(url) | free | title, channel/artist, duration, view count (when available), upload date, thumbnail, description, available qualities, license type (YouTube only) |
download_video parametersurl (required) — full URL from any of the ten supported platforms above.
Playlists, sets, albums, channels, and profile pages are not supported —
pick a single video / track.format (optional, default mp4) — one of:
mp4 — video (default).mp3 — forced MP3 (legacy-compatible, re-encodes server-side).m4a — forced M4A audio.audio — smart audio alias that resolves to M4A (no transcode, fastest).quality (optional) — ignored for audio formats and on audio-only
platforms. Common values: 360p, 480p, 720p, 1080p, 1440p, 2160p.
Defaults to best. 1440p and 4K (2160p) require Unlimited.get_video_info parametersurl (required) — full URL from any supported platform.TubePull is a remote MCP server, so most clients can connect with just a
URL. Minimal Claude Desktop snippet (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"tubepull": {
"url": "https://tubepull.com/mcp"
}
}
}
Then restart Claude and ask any of:
upgradeUrl pointing
at https://tubepull.com with attribution params so the conversion is
credited back to the chatbot that drove it.curl -sS -X POST https://tubepull.com/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1"}}}'
Expected: a JSON-RPC response with serverInfo.name == "tubepull",
serverInfo.version, an icons[] array, and websiteUrl.
To see the live tool schemas (always trust these over docs if they differ):
curl -sS -X POST https://tubepull.com/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
tubepull-mcp/
├── README.md ← you are here
├── llms.txt ← top-level summary for LLM crawlers
├── AGENTS.md ← explicit "how to call this" recipes for agents
├── server.json ← MCP registry manifest
├── recipes/
│ ├── download-mp3.md
│ ├── download-mp4.md
│ ├── download-non-youtube.md
│ └── get-info.md
└── assets/ ← brand marks (favicon, logo)
MIT. The application source is closed; this documentation repo is permissively licensed so chatbots, registries, and downstream integrators can mirror or reformat the content freely.
io.github.socialapishub/social-media-api
io.github.xpaysh/social-media
com.thenextgennexus/youtube-media-mcp-server
io.github.ludmila-omlopes/youtube-video-analyzer
csoai-org/social-media-ai-mcp
com.ezbizservices/social-media