Tubepull Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Tubepull Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
🌐 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.
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 |
POST https://tubepull.com/mcp (Streamable HTTP / JSON-RPC 2.0, MCPprotocol version 2024-11-05).
download_video and get_video_info.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 passformat: "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 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-onlyplatforms. Common values: 360p, 480p, 720p, 1080p, 1440p, 2160p. Defaults to best. 1440p and 4K (2160p) require TubePull Pro.
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:
the web frontend's anonymous tier), up to 1080p Full HD and up to 1 hour of output length.
video plus 320 kbps MP3, and lifts the 1-hour output-length cap.
/.well-known/oauth-authorization-server) for Pro accounts, and legacy X-MCP-Client-Id headers. See https://tubepull.com/setup-mcp.upgradeUrl pointingat 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.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.