ChatGPT's language model has no built-in ability to download a YouTube video. Ask it cold — "download this YouTube video for me" — and it will explain why it cannot: no tool, no direct internet reach, and a cautious posture on platform terms. That changes the moment you attach a remote MCP server. This guide walks through every step to connect TubePull's hosted MCP server to ChatGPT using Developer Mode, so you can ask ChatGPT to hand you a real downloadable file.
This post is the ChatGPT-specific deep-dive from our six-assistant head-to-head test. If you want the quick comparison across Claude, Perplexity, Grok, Cursor, and Gemini, start there. This page is for people who use ChatGPT and want the full setup walkthrough.
Why ChatGPT can't download YouTube natively — and what MCP changes
A language model does not have a download tool in its default configuration. It can describe videos, fetch titles via browsing, write yt-dlp commands for you to run yourself — but none of that puts a file in your hands. The gap is not a policy decision; it is the absence of a capability.
Model Context Protocol (MCP) closes that gap by letting the model call an external tool mid-conversation. When you attach TubePull's hosted MCP server, ChatGPT gains two tools it can invoke: download_video and get_video_info. The download tool reaches out to TubePull's infrastructure, does the actual fetching and transcoding, and returns a one-time signed link. ChatGPT never has to touch the media stream itself — it just hands the link back to you.
What is MCP (Model Context Protocol)?
MCP is an open standard that Anthropic published in late 2024 to give AI assistants a consistent way to call external tools. The Anthropic MCP announcement framed it as a "USB-C port for AI" — a single protocol that any client (Claude, ChatGPT, Perplexity, Cursor) and any server (TubePull, databases, calendars) can speak without custom integration work on both ends.
OpenAI added MCP support to ChatGPT in September 2025 through Developer Mode, a beta feature that gives ChatGPT full remote MCP client support — read and write tools, auth flows, and live tool refresh. As of June 2026, Developer Mode is available on ChatGPT Plus, Pro, Business, Enterprise, and Education accounts. ChatGPT supports remote MCP servers (HTTPS endpoints) only; local stdio servers used by some IDE configs will not work here.
Prerequisites
Before you start, confirm you have:
- A ChatGPT subscription that includes Developer Mode. As of June 2026, Developer Mode is available on Plus, Pro, Business, Enterprise, and Education accounts. It is not available on the free tier or on the Team plan. The OpenAI Developer Mode documentation lists current eligible plans — check there if you are unsure, since eligibility is a beta and may expand.
- Access to ChatGPT on the web. Developer Mode is a web-based feature; the mobile apps do not expose it at the time of writing.
- A TubePull account (optional for free tier). TubePull's free tier allows 3 downloads per 24 hours with no account. If you want unlimited downloads, you need a TubePull Unlimited subscription ($4.99/month). The MCP server at
https://tubepull.com/mcphandles authentication inline via OAuth when you connect.
Step-by-step: enabling Developer Mode and connecting TubePull
Step 1 — Enable Developer Mode in ChatGPT settings
- Open ChatGPT in a desktop browser.
- Click your profile icon in the top-right corner, then click Settings.
- In the left sidebar, click Apps (sometimes labeled Apps & Connectors depending on your account type).
- Scroll to the bottom and click Advanced settings.
- Toggle Developer mode on. The toggle is labeled Developer Mode (beta).
- You may see a warning that custom connectors are not verified by OpenAI and that write actions require your confirmation. Acknowledge it and leave the settings panel.
Once Developer Mode is active, a Create button appears under Settings → Apps (or Settings → Connectors, depending on your ChatGPT version).
Step 2 — Create a connector for TubePull's MCP server
- In ChatGPT Settings, navigate to Apps (or Connectors) and click Create.
- A "New Connector" modal opens. Fill in the fields:
- Name: TubePull - Description: Download YouTube videos as MP4 or MP3 (this text helps ChatGPT decide when to invoke the tools, so something descriptive helps) - MCP Server URL: https://tubepull.com/mcp - Authentication: Select OAuth (TubePull uses OAuth to track your download quota)
- Click Create (or Scan tools if that button appears first).
- ChatGPT will contact
https://tubepull.com/mcp, run the MCPinitializeandtools/listhandshake, and display the tools it discovered. You should see two tools: Download video or audio (MP4 / MP3 / M4A) and Get video or audio metadata. - If ChatGPT surfaces an OAuth authorization prompt, click through it. You will be redirected to TubePull's authorization page, where you can sign in or create a free account. After authorizing, you are redirected back to ChatGPT and the connector is saved.
Step 3 — Select the connector in a conversation
Developer Mode connectors do not auto-attach to every chat. You activate them per conversation:
- Open a new chat in ChatGPT.
- Click the + button near the message composer, then click More (the exact label varies by ChatGPT version).
- Find TubePull in the list of available tools and select it.
- The TubePull tools are now active for this conversation. You will see a small indicator showing which tools are connected.
Step 4 — Your first test prompt
Try this prompt verbatim to confirm everything is wired up correctly:
Download this YouTube video as MP4 at 720p: https://www.youtube.com/watch?v=jNQXAC9IVRw
That URL is "Me at the zoo," the first video ever uploaded to YouTube, made available under a standard YouTube license and widely used for testing. ChatGPT should invoke TubePull's download_video tool, return a signed download link, and tell you the file size and duration. The link is valid for one hour.
If ChatGPT instead writes a yt-dlp command or says it cannot download, check that you selected the TubePull connector in this chat session (Step 3). The connector has to be explicitly chosen per conversation.
Example prompts that work
Once the connector is attached, ChatGPT understands natural-language requests. Here are prompts that have been tested and reliably trigger the download_video tool:
- "Download this YouTube video as MP4 720p:
https://www.youtube.com/watch?v=..." - "Save this as an MP3:
https://www.youtube.com/watch?v=..." - "Pull the audio from this YouTube link and give me the MP3."
- "What qualities are available for this video?
https://www.youtube.com/watch?v=..." (triggersget_video_info) - "Download the 1080p version of this lecture:
https://www.youtube.com/watch?v=..." (requires TubePull Unlimited) - "Get me the best-quality MP4 of this public-domain NASA video."
Tip: ChatGPT defaults to MP4. If you want audio, say "as MP3" or "as M4A" explicitly — the tool's default format is video, not audio.
What TubePull's MCP server exposes
TubePull's hosted server at https://tubepull.com/mcp advertises two tools, which you can verify by inspecting the tool list in the connector settings after creation:
download_video — the main download tool. Accepts:
url(required): any YouTube URL —youtube.com/watch?v=...oryoutu.be/...format(optional, defaultmp4):mp4,mp3,m4a, oraudioquality(optional, defaultbest):360p,480p,720p,1080p,1440p, or4k(1440p and above require an Unlimited subscription)
Returns a one-time signed download link valid for one hour, plus file size and duration. The free tier permits 3 downloads per 24-hour period; Unlimited removes the cap.
get_video_info — a free metadata-only tool. Pass any YouTube URL, get back the video title, channel name, duration, view count, upload date, thumbnail URL, available quality options, and the YouTube license type (Standard YouTube License vs. Creative Commons). This tool does not consume your download quota — it is free regardless of subscription tier. ChatGPT will invoke it automatically when you ask questions like "how long is this video?" or "is this Creative Commons?"
Troubleshooting common issues
"I don't see a Create button in Settings → Apps." Developer Mode may not be toggled on, or your account may not be on an eligible plan. Recheck Settings → Apps → Advanced Settings and confirm the Developer Mode toggle is enabled. If the toggle is not visible at all, your plan (Free or Team) does not currently support Developer Mode.
The OAuth authorization fails or loops. Clear your browser cookies for chatgpt.com and tubepull.com, then try the connector creation flow again from scratch. If TubePull's authorization page shows an error, contact TubePull support — the OAuth callback URL is registered for chatgpt.com specifically.
ChatGPT says it cannot find the tools after I created the connector. In Settings → Connectors (or Apps), click into your TubePull connector and choose Refresh. This re-runs the tools/list handshake against https://tubepull.com/mcp. If the refresh fails, confirm the endpoint is reachable by opening https://tubepull.com/mcp in a browser — you should get a JSON-RPC response or an authentication prompt, not a 404.
ChatGPT generates a yt-dlp command instead of invoking TubePull. The TubePull connector was not selected for this conversation. Click the + button in the composer, find TubePull in the tool list, and enable it. The model only invokes tools that are explicitly active in the current chat.
"Rate limit reached" or "Free tier quota exceeded." TubePull's free tier allows 3 downloads per 24 hours. The error will resolve the next day, or you can upgrade to Unlimited at $4.99/month on TubePull's pricing page for no daily cap.
The download link expired. Signed links are valid for one hour from generation. If you copy the link but wait before downloading, request the download again — ChatGPT will call TubePull and generate a fresh link.
ChatGPT refuses the request before invoking the tool. ChatGPT sometimes adds a note about YouTube's terms before completing the download. This is a model-level behavior, not a tool failure — ChatGPT will typically still invoke the tool and return the link after the caveat. If it refuses outright, rephrase to make the use case clear: "Download this Creative Commons lecture for offline study."
How this compares to Claude Desktop
The setup on Claude Desktop is structurally identical: you add https://tubepull.com/mcp as a remote MCP server, and the assistant gains the same two tools. Claude's configuration lives in a JSON file (claude_desktop_config.json) rather than a web UI, which some users find slightly less convenient, though developers often prefer it because the JSON is explicit and version-controllable.
The behavior once connected is the same on both. Both assistants will invoke download_video on natural-language requests and return the signed link. The primary practical difference is that ChatGPT requires Developer Mode to be enabled per session, while Claude Desktop loads the MCP server at startup. For a side-by-side comparison of all six major AI assistants on this task, see the which AI assistant can actually download YouTube videos test — that post is the source for the ChatGPT row in the comparison table.
Download only content you have the right to use
TubePull's tools work on any public YouTube URL, and ChatGPT will complete the request. That does not mean every download is equally appropriate. The clear-cut permitted cases are: videos you uploaded yourself, videos released under a Creative Commons license (the license type is visible in get_video_info output), and public-domain content such as NASA uploads. Standard-licensed commercial content is a different question — see our legality guide for the full analysis.
Ready to connect?
If you already have a ChatGPT Plus, Pro, Business, Enterprise, or Education account, you can complete Steps 1–3 in under five minutes. The full setup — enable Developer Mode, create the connector, select it in a chat, and run the test prompt — takes about as long as it took to read this page.
Connect TubePull's MCP server now