Use TubePull from your AI assistant
TubePull exposes a public Model Context Protocol server so any MCP-compatible chatbot — Claude, Perplexity, ChatGPT, Cursor — can download videos for you in the conversation. New here? Start with the TubePull MCP overview for what it does, pricing, and supported platforms. Client behavior last verified 2026-08-17.
https://tubepull.com/mcp with
Transport: Streamable HTTP. Pick the auth that matches your plan:
- Free (3/day): Authentication None. Quota is shared with anonymous web traffic from the same network.
- Pro ($4.99/mo): Authentication OAuth — modern clients (Claude.ai, Perplexity, ChatGPT, Cursor 2026+) auto-discover and walk you through sign-in. No header to copy. Upgrade here.
Client & account compatibility
Which authentication each client supports, and what it unlocks. Verified 2026-08-17. All clients work on the free tier with Authentication: None; a Pro account is unlocked per-client via OAuth (or the legacy static key until it sunsets).
| Client | Free (None) | Pro via OAuth | Legacy static key |
|---|---|---|---|
| Claude (claude.ai) | Yes | Yes — auto-discovered | Yes (until 2026-08-13) |
| Perplexity | Yes | Yes — auto-discovered | Yes (until 2026-08-13) |
| ChatGPT (Developer mode) | Yes | Yes — auto-discovered | Yes (until 2026-08-13) |
| Cursor (2026+) | Yes | Yes — auto-discovered | Yes, via headers |
| Claude Desktop (via mcp-proxy) | Yes | No — use static key | Yes, via headers |
| Any MCP Streamable HTTP client | Yes | If it implements OAuth 2.1 DCR | Yes, via X-MCP-Client-Id |
“Auto-discovered” means the client reads OAuth 2.1 metadata from the endpoint URL and walks you through sign-in — no header to paste. The static key path still works everywhere today but stops working on 2026-08-13; prefer OAuth for new connections.
What you get
Two tools, both callable from any MCP client:
download_video(url, format, quality?)— downloads a YouTube video asmp3ormp4. Returns a signed download link.get_video_info(url)— returns title, duration, channel, available formats. Free; doesn't count against your quota.
Claude (claude.ai)
- In Claude, open Settings → Connectors.
- Click Add custom connector.
- Choose Remote.
- Fill in:
- Name: TubePull
- URL:
https://tubepull.com/mcp - Authentication: None
- Transport: Streamable HTTP
- Click Add, then enable the connector from the toggle in the same screen.
- In any new conversation, ask: "Download
https://youtube.com/watch?v=...as mp3."
Perplexity
- Open Settings → Connectors in the Perplexity web app or Mac app.
- Click + Custom connector and pick Remote.
- Fill in:
- Name: TubePull
- MCP server URL:
https://tubepull.com/mcp - Expand Advanced → Authentication: None, Transport: Streamable HTTP
- Check the risk acknowledgement and click Add.
- Click the new connector card to enable it for your conversations.
Documented end-to-end on Perplexity's custom connectors help page.
ChatGPT
- In ChatGPT, open Settings → Connectors → Advanced → Developer mode (ChatGPT Pro / Business).
- Click Create on the Connectors page.
- Fill in:
- Name: TubePull
- MCP server URL:
https://tubepull.com/mcp - Authentication: None
- Click Create. The two tools (
download_video,get_video_info) will be exposed to the chat.
Cursor
Add this block to ~/.cursor/mcp.json (create the file if it doesn't exist):
{
"mcpServers": {
"tubepull": {
"url": "https://tubepull.com/mcp",
"type": "http"
}
}
}
Restart Cursor. The tools appear under the MCP icon in the composer.
Claude Desktop (local proxy)
Claude Desktop doesn't yet speak remote HTTP MCP directly. Use the
mcp-proxy
shim to bridge stdio → HTTP. In your claude_desktop_config.json:
{
"mcpServers": {
"tubepull": {
"command": "uvx",
"args": [
"mcp-proxy",
"--transport", "streamablehttp",
"https://tubepull.com/mcp"
]
}
}
}
Pro plan from MCP
The free tier (3 downloads/day) is plenty for casual use. To remove the cap from your MCP client, use OAuth sign-in below.
OAuth sign-in (recommended)
Modern MCP clients (Claude.ai, Perplexity, ChatGPT MCP, Cursor 2026+) auto-discover OAuth 2.1 from the connector URL. You don't paste a key anywhere — the client opens a browser window, you sign in to TubePull, and the connection inherits your Pro subscription. Each chatbot gets its own revocable connection, and access tokens rotate automatically.
- Create a TubePull account and subscribe to Pro ($4.99/mo).
- In your MCP client, add the TubePull connector at
https://tubepull.com/mcp. If your client asks for an Authentication type, pick OAuth (or leave it on the default — modern clients try OAuth first). - The first time you call a tool, the client will pop a TubePull sign-in window. Approve the scopes (
mcp:info,mcp:download,mcp:account) and you're done. - Manage connected apps at Account → Connected apps. Revoke a connection any time and the chatbot is cut off immediately.
Under the hood: OAuth 2.1 + PKCE S256 + RFC 7591 Dynamic Client Registration.
Discovery docs live at /.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource.
Limits, quotas, and quirks
- Free quota: 3 downloads per device per 24 hours. Shared with anonymous web downloads from the same network.
get_video_infodoesn't count. - Formats:
mp3(audio only, up to 320 kbps) andmp4(video + audio). For mp4, you can passquality— one of360,480,720,1080(free), or1440,2160(Pro). Default is the best available up to 1080. - Duration cap: 1 hour per video on the free tier; any length on Pro.
- Live streams & members-only videos: not supported;
get_video_infowill tell you up front. - Right-clicked URLs: works equally with
youtu.be/...,youtube.com/watch?v=...,youtube.com/shorts/..., andmusic.youtube.com/....
Troubleshooting
- "Server does not support automatic registration."
Older client versions saw this when OAuth wasn't yet exposed.
TubePull now supports OAuth 2.1 + RFC 7591 dynamic registration at
/oauth/register. If your client still fails on OAuth, set Authentication to None for the free tier. - OAuth sign-in window keeps reopening. Your access token may have expired and the refresh token was revoked. Visit Account → Connected apps, revoke the stale connection, and reconnect from the client.
- "Unexpected content type." Make sure Transport is Streamable HTTP, not SSE-only. The server speaks both application/json and text/event-stream depending on what your client asks for.
- "Quota exceeded." You hit the 3/day free cap. Either wait until midnight UTC or upgrade to Pro.
- "Tool not found / tools list empty." Refresh the connector list in your client; some clients cache the tools array for the conversation.
- Anything else: email [email protected]. Include your client name, the exact error string, and roughly when it happened (UTC time helps).