TubePull

io.github.miketwalker由 GitHub 账号 miketwalker 发布v1.2.3更新于 Oct 29, 2026

AI YouTube downloader: save YouTube, TikTok, Instagram + 10 more as MP4/MP3 from any AI chat.

已验证Streamable HTTP可网页运行网页搜索与抓取媒体与设计

概览

AI 生成的概览

托管式 MCP 服务器,让助手从 13 个平台下载视频或音频为 MP4、MP3 或 M4A,并返回一次性签名链接。

可以做什么
  • 根据受支持平台的链接下载单个视频或音频文件,可选 MP4、MP3 或 M4A 格式及画质
  • 不下载即可获取元数据:标题、频道或艺人、时长、播放量、上传日期、缩略图、简介、可用画质与许可信息
  • 返回一次性签名下载链接、文件名、格式、画质与标题,供转交给用户
  • 对纯音频平台请求视频格式时自动转为音频输出
适用场景
适合用户要求把视频或片段保存到本地、提取 MP3 音频,或在下载前先了解链接内容的场景。适用于讲座、播客、演讲、DJ 混音等用户有权使用的内容的一次性下载。
运行要求
远程 Streamable HTTP 端点,无需本地安装或软件包。免费匿名层无需凭据;Pro 功能使用 OAuth 2.1 加 PKCE 或旧版客户端 ID 请求头。需要能访问该托管服务的网络。
安装前请注意
免费层每滚动 24 小时限 3 次下载;更高画质、更长时长与不限次数需付费 Pro 订阅,配额用尽时响应会附带升级链接。仅限下载用户有权使用的内容,且不支持播放列表、频道与个人主页。该服务会处理媒体链接,并返回由第三方托管的链接。

安装

在 SourceWeft 中

  1. 打开 控制台中的 TubePull,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.miketwalker%2Ftubepull/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "tubepull": {
      "type": "http",
      "url": "https://tubepull.com/mcp"
    }
  }
}

README

TubePull 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):

PlatformHostsDefault medium
YouTubeyoutube.com, youtu.bevideo
TikToktiktok.com, vm.tiktok.com, vt.tiktok.comvideo
Facebookfacebook.com, fb.watchvideo
Instagraminstagram.com (public reels, video, photos)video
Redditreddit.com, redd.it, v.redd.it (account link)video
Twitter / Xtwitter.com, x.com (status URLs with video)video
Vimeovimeo.comvideo
Twitchtwitch.tv, clips.twitch.tv (VODs and clips)video
Streamablestreamable.comvideo
Dailymotiondailymotion.com, dai.lyvideo
SoundCloudsoundcloud.com, on.soundcloud.comaudio
Bandcampbandcamp.com (artist subdomains included)audio
Mixcloudmixcloud.comaudio
  • One HTTP endpoint — POST https://tubepull.com/mcp (Streamable HTTP / JSON-RPC 2.0, MCP protocol version 2024-11-05).
  • No SDK install, no local binary — the assistant just speaks JSON-RPC.
  • Two tools: download_video and get_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 to m4a and returns audio. Pass format: "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

ToolCostReturns
download_video(url, format?, quality?)counts against quotasigned download link (1 hour TTL), filename, format, quality, title, channel/artist, duration
get_video_info(url)freetitle, 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, 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 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):

json
{  "mcpServers": {    "tubepull": {      "url": "https://tubepull.com/mcp"    }  }}

Then restart Claude and ask any of:


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 legacy X-MCP-Client-Id headers. See https://tubepull.com/setup-mcp.
  • When the quota is hit, the tool response includes an upgradeUrl pointing at https://tubepull.com with attribution params so the conversion is credited back to the chatbot that drove it.

Verify the server is live

bash
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):

bash
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

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.

来源:README.md,提交 43852d3

工具

2

download_video

Download video or audio (MP4 / MP3 / M4A)

Download a video or audio file from any supported platform: YouTube, TikTok, Facebook (public videos and reels), Instagram (public reels, feed video, photo posts, and carousels), SoundCloud, Vimeo, Dailymotion, Bandcamp, Twitter/X, Mixcloud, Twitch (clips and VODs), Pinterest (public video, image, GIF, carousel, and Idea Pins), Streamable, Reddit, Kick (live streams, VODs, and clips). Output is MP4 (video, default) or MP3 / M4A (audio). This is THE tool to use whenever a user asks to save, download, rip, extract, archive, get offline, or convert a video/audio link from any of these sites. IMPORTANT: the `format` argument defaults to `mp4` (video). Only pass an audio format (mp3 / m4a / audio) when the user explicitly says audio, MP3, music, song, or "rip / extract the audio". Audio-only platforms (SoundCloud, Bandcamp, Mixcloud) always produce audio regardless of `format`. Use this tool when the user says things like: - "download this video" / "download this TikTok" / "save this SoundCloud track" - "save that as MP3" / "rip the audio" / "extract the audio" - "get the song from this SoundCloud link" / "save this Mixcloud set" - "convert this YouTube video to MP4" / "download in 1080p" - "save this lecture/podcast/talk for offline" - "archive this clip" / "grab a copy of this video" - any sentence containing a youtube.com, youtu.be, tiktok.com, facebook.com, fb.watch, instagram.com, reddit.com, v.redd.it, vimeo.com, dailymotion.com, twitter.com, x.com, soundcloud.com, bandcamp.com, mixcloud.com, twitch.tv, clips.twitch.tv, kick.com, or streamable.com URL plus a verb like download, save, rip, get, grab, fetch, pull, archive, convert, extract. Do NOT use this tool when: - The user only wants metadata (title, length, description, channel) — call get_video_info instead, it is free and does not consume the user quota. - The link is a playlist / set / album / channel URL — ask the user for a single track/video. - The link is from a platform not in the supported

输入参数url必填formatquality

get_video_info

Get video or audio metadata

Fetch metadata about a video or audio track WITHOUT downloading it. Works on every platform download_video supports: YouTube, TikTok, Facebook (public videos and reels), Instagram (public reels, feed video, photo posts, and carousels), SoundCloud, Vimeo, Dailymotion, Bandcamp, Twitter/X, Mixcloud, Twitch (clips and VODs), Pinterest (public video, image, GIF, carousel, and Idea Pins), Streamable, Reddit, Kick (live streams, VODs, and clips). Returns title, uploader/channel name, duration, view count (when available), upload date, thumbnail URL, description, available video qualities, and (for YouTube) the license type. Use this tool when the user says things like: - "what is this video about" / "summarize this video" - "how long is this track" / "when was this uploaded" - "who made this" / "what channel/artist is this from" - "is this Creative Commons" / "can I reuse this" / "what is the license" - "what qualities are available for this video" Do NOT use this tool when: - The user wants to download, save, rip, extract, or convert the video/audio — use download_video for that. Free to call — does not count against the user's download quota. Call this before download_video when you need to confirm the video exists, pick the right quality, or check licensing before downloading.

输入参数url必填

版本历史

2
  1. v1.2.3最新Oct 29, 2026
  2. v1.2.2Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分