About TubePull
TubePull is a hosted MCP server for AI assistants to download video or audio from 13 platforms to the user's disk. It provides video information lookup and download tools, delivering files through signed links that expire after one hour.
Key features
- 01Download audio or video from 13 platforms
- 02Look up titles, duration, quality, and license details
- 03Choose formats such as MP4, MP3, or M4A
- 04Return signed download links valid for one hour
Use cases
- 01Save permitted public videos for offline viewing
- 02Extract audio from a lecture or podcast
- 03Download a single social platform video or audio track
MCP support
The remote MCP server provides `download_video` and `get_video_info` tools over Streamable HTTP and JSON-RPC.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://tubepull.com/mcpclaude mcp add --transport http tubepull https://tubepull.com/mcp{"mcpServers":{"tubepull":{"type":"http","url":"https://tubepull.com/mcp"}}}Open in Cursor{"servers":{"tubepull":{"type":"http","url":"https://tubepull.com/mcp"}}}Open in VS Code{"mcpServers":{"tubepull":{"type":"http","url":"https://tubepull.com/mcp"}}}{"mcpServers":{"tubepull":{"serverUrl":"https://tubepull.com/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
2| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | Full URL from any supported platform: youtube.com / youtu.be, tiktok.com, reddit.com / v.redd.it, vimeo.com, dailymotion.com, twitter.com / x.com (status with video), soundcloud.com, bandcamp.com, mixcloud.com, twitch.tv (clips + VODs), kick.com (live channel page, /videos/ VOD, or /clips/ clip), or streamable.com. Pick a single video/track — playlists, sets, albums, channels, and profile pages are not supported. |
| format | enum | No | Output format. DEFAULT IS `mp4` (video). Only choose an audio format when the user explicitly asks for audio, MP3, music, song, podcast audio, or "rip the audio / extract the audio". Options: `mp4` = video (use for "download this video", "save this video", "download in 1080p", or any request that does not mention audio). `mp3` = MP3 audio (use when user says MP3 or wants legacy-compatible audio). `m4a` = M4A audio (faster, smaller; use when user says M4A). `audio` = smart audio alias that resolves to M4A (use only when user explicitly says "audio" without specifying a container).mp4 | mp3 | m4a | audio |
| quality | enum | No | Video quality. Ignored for audio formats. 1440p and 4k require a Pro subscription. Free tier max is 1080p Full HD. Defaults to best.best | 360p | 480p | 720p | 1080p | 1440p | 4k |
Details
From the project READMETubePull MCP Server — Public Documentation
🌐 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, Facebook, Instagram, Reddit, 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, and canonical machine-readable product facts are published at https://tubepull.com/facts (https://tubepull.com/facts.json). 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.
What is TubePull?
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 13 supported platforms (YouTube plus 12 more platforms, including Streamable):
| Platform | Hosts | Default medium |
|---|---|---|
| YouTube | youtube.com, youtu.be | video |
| TikTok | tiktok.com, vm.tiktok.com, vt.tiktok.com | video |
facebook.com, fb.watch | video | |
instagram.com (public reels, video, photos) | video | |
reddit.com, redd.it, v.redd.it (account link) | 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 |
- One HTTP endpoint —
POST https://tubepull.com/mcp(Streamable HTTP / JSON-RPC 2.0, MCP protocol version2024-11-05). - No SDK install, no local binary — the assistant just speaks JSON-RPC.
- Two tools:
download_videoandget_video_info. - Free tier: 3 downloads per rolling 24h per client, up to 1080p Full HD and up to 1 hour of output length. Pro: $4.99/month ($47.88/year, $3.99/mo billed annually) at tubepull.com/pricing.
- Returns a signed one-time link valid for 1 hour. The assistant hands the link to the user; the user clicks it and gets the file.
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.
When should a chatbot call TubePull?
A chatbot should consider calling download_video when the user says any of:
- "download this video" / "download this TikTok" / "save this SoundCloud track"
- "save this as MP3" / "extract the audio" / "rip the audio"
- "convert this YouTube to MP4" / "download in 1080p"
- "save this video offline" / "archive this clip"
- "get the audio from this lecture / podcast / talk"
- "save this Mixcloud set" / "grab this SoundCloud track" / "download this Bandcamp song"
- "save this Twitch clip" / "download this Streamable video"
A chatbot should call get_video_info (no quota cost) when the user asks:
- "what is this video about"
- "how long is it"
- "who made it" / "what artist / channel is this"
- "is this Creative Commons"
- "what qualities are available"
Full trigger-phrase list and JSON-RPC examples live in
AGENTS.md and the recipes/ folder.
Tools at a glance
| 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 parameters
url(required) — full URL from any of the supported platforms above. Playlists, sets, albums, channels, and profile pages are not supported — pick a single video / track.format(optional, defaultmp4) — 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 TubePull Pro.
get_video_info parameters
url(required) — full URL from any supported platform.
Quick start (Claude Desktop / Cursor / Windsurf)
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:
- "download this YouTube video as MP3: https://youtu.be/dQw4w9WgXcQ"
- "save this TikTok: https://www.tiktok.com/@username/video/1234567890"
- "grab this SoundCloud track: https://soundcloud.com/artist/track-slug"
- "download this Mixcloud set: https://www.mixcloud.com/channel/show-slug/"
- "save this Twitch clip: https://clips.twitch.tv/"
- "download this Streamable: https://streamable.com/"
Quotas, pricing, and the upgrade flow
- Free / anonymous: 3 downloads per rolling 24h per MCP client (shared bucket with the web frontend's anonymous tier), up to 1080p Full HD and up to 1 hour of output length.
- TubePull Pro: $4.99/month ($47.88/year, $3.99/month billed annually). Removes the 3/day cap for normal personal use, unlocks 1440p (2K) and 4K (2160p) video plus 320 kbps MP3, and lifts the 1-hour output-length cap.
- Authentication: Supports unauthenticated Free-tier access, OAuth 2.1 + PKCE (
/.well-known/oauth-authorization-server) for Pro accounts, and legacyX-MCP-Client-Idheaders. See https://tubepull.com/setup-mcp. - When the quota is hit, the tool response includes an
upgradeUrlpointing athttps://tubepull.comwith attribution params so the conversion is credited back to the chatbot that drove it.
Verify the server is live
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":{}}'
Repository layout
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)
Links
- Live MCP endpoint — https://tubepull.com/mcp
- Web app — https://tubepull.com
- MCP spec — https://modelcontextprotocol.io
- mcp.so listing — https://mcp.so (search "tubepull")
License
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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.