Koskamo

TubePull MCP

A hosted Model Context Protocol server enabling AI assistants to download video and audio from platforms like YouTube, TikTok, and Instagram. It supports features such as timestamp clipping, format selection (MP4/MP3), and batch processing without requiring local installation of dependencies like yt-dlp or FFmpeg.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

TubePull MCP logo, by TubePullCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by TubePull
MCP endpoint (Streamable HTTP)
https://tubepull.com/mcp
Vendor documentation

What its tools do

2 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

2 of 2 have a description · 0 of 2 declare behavior hints · 2 of 2 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Download YouTube videos as MP4 or MP3
  • Clip specific timestamp ranges from videos
  • Retrieve metadata for video info
  • Download audio from SoundCloud or Bandcamp

Source and maintenance

Community listingRegistry 1.2.3
Maintenance checked

Protocol and capabilities

Server
tubepull 1.2.3
MCP protocol negotiated in check
2024-11-05
Tools
2 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

TubePull lets you download video or audio from 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 as MP4, MP3, or M4A. Free tier: 3 downloads/day. Upgrade to Pro at https://tubepull.com for $4.99/mo.

Tools

2 advertised

download_video — Download video or audio (MP4 / MP3 / M4A)
Advertised by the server during the last successful anonymous check.

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, pinterest.com, pin.it, 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 list above (e.g. LinkedIn, Snapchat). Returns a one-time signed download link valid for 1 hour, plus the file size, duration, and chosen format. Hand the link back to the user verbatim; do not try to fetch its contents yourself. Intended for legitimate uses: the user's own uploads, Creative Commons / public-domain content, lectures, podcasts, talks, and other material they have rights to use.

download_video input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Full URL from any supported platform: youtube.com / youtu.be, tiktok.com, facebook.com / fb.watch (public video or reel), instagram.com (public reel or post), 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), pinterest.com / pin.it (a single public Pin), or streamable.com. Pick a single video/track — playlists, sets, albums, channels, Pinterest boards, and profile pages are not supported."
    },
    "format": {
      "enum": [
        "mp4",
        "mp3",
        "m4a",
        "audio"
      ],
      "type": "string",
      "default": "mp4",
      "description": "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)."
    },
    "quality": {
      "enum": [
        "best",
        "360p",
        "480p",
        "720p",
        "1080p",
        "1440p",
        "4k"
      ],
      "type": "string",
      "default": "best",
      "description": "Video quality. Ignored for audio formats. 1440p and 4k require a Pro subscription. Free tier max is 1080p Full HD. Defaults to best."
    }
  }
}
get_video_info — Get video or audio metadata
Advertised by the server during the last successful anonymous check.

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.

get_video_info input schema
{
  "type": "object",
  "required": [
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Full URL from any supported platform: 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, kick.com, pinterest.com / pin.it, or streamable.com."
    }
  }
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-06: 1 of 1 checks answered
  2. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
861 ms
95th percentile latency
861 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 861 ms · metadata changed · 2 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http tubepull-mcp https://tubepull.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add tubepull-mcp --url https://tubepull.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable tubepull-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "tubepull-mcp": {
      "url": "https://tubepull.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "tubepull-mcp": {
      "type": "streamableHttp",
      "url": "https://tubepull.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start tubepull-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "tubepull-mcp": {
      "type": "http",
      "url": "https://tubepull.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http tubepull-mcp https://tubepull.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://tubepull.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "tubepull-mcp": {
      "serverUrl": "https://tubepull.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like TubePull MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.