Twitter Video Downloader MCP Server for AI Agents
You ask your assistant to grab a video from a tweet and it apologizes. It can read the page, maybe, and describe what's in the post, but it can't reach the actual MP4 because Twitter streams video in chunks with no plain file behind the link. So it hands you back a URL and suggests you find a downloader yourself, which defeats the point of asking an agent in the first place.
The Model Context Protocol fixes that by letting an agent call real tools. MCP is an open standard that connects AI clients to external functions through a consistent interface, and this server plugs one in: given a public tweet link, it returns the media list and direct download URLs so the agent can actually fetch the file. Point a client at it once and "download the video from this tweet" starts working. The same server is documented alongside the REST API on the developers page.
Short answer: connect your MCP client to
https://download-twitter-video.drummerduck.com/api/mcp. It exposes two tools,
extract_twitter_video and get_tweet_info.
Try it now
Paste a Twitter/X link and download in seconds — free, no login.
The endpoint
The server speaks Streamable HTTP at a single URL:
https://download-twitter-video.drummerduck.com/api/mcp
That's the address every client points at, whether it connects over the URL directly or bridges through a helper.
The two tools
The server registers two tools, and the agent decides which one a request needs.
extract_twitter_video({ url }) returns the full media list for a tweet along with
direct download URLs for each quality variant, up to
1080p Full HD when the uploader posted at that size. This is
what the agent reaches for when someone actually wants the file.
get_tweet_info({ url }) returns metadata only: the author, the text, the
timestamp, and which media types the tweet carries. No download URLs. It's the
lighter call for questions like "who posted this" or "does this tweet even have a
video," where fetching the media links would be wasted work.
Both take one argument, a url string pointing at a public tweet.
Client configuration
For clients that connect to a remote MCP server over a URL, such as Claude Desktop and Cursor, add the server to your config:
{
"mcpServers": {
"twitter-video": {
"url": "https://download-twitter-video.drummerduck.com/api/mcp"
}
}
}
Some clients only speak MCP over stdio and can't dial a URL on their own. For
those, bridge to the remote server with mcp-remote, which runs locally and
forwards to the endpoint:
{
"mcpServers": {
"twitter-video": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://download-twitter-video.drummerduck.com/api/mcp"
]
}
}
}
Save the config and restart the client so it loads the new server. Most clients
show connected MCP tools somewhere in their interface; if extract_twitter_video
and get_tweet_info appear there, the connection is live.
Example prompts
Once the server is connected, you can ask an agent in plain language and let it pick the tool:
- "Extract the video from
https://x.com/user/status/1234567890and give me the 1080p download link." - "Who posted
https://x.com/user/status/1234567890, and does it have a video or a GIF?" - "Grab the highest-quality MP4 from
https://x.com/user/status/1234567890and save it to my downloads folder."
For the first and third, the agent calls extract_twitter_video because it needs
the media URLs. For the second, it uses get_tweet_info, since the question is
only about what the tweet contains. Whether the agent can then write the file to
disk depends on the client: an assistant with filesystem or shell access can save
it, while a chat-only client will just return the link for you to open.
How it relates to the REST API
The MCP server and the REST API share one extraction engine, so both see the same media and the same quality variants. Reach for MCP when an AI agent should call the tool as part of a conversation, and reach for the REST API when you're writing a script or wiring the extraction into a backend. People who aren't building anything can use the web downloader or the how-to guide.
Troubleshooting
The tools don't show up after editing the config. Restart the client fully. A lingering process can hold the old config, so quit it rather than reloading a window.
A URL client won't connect. Some clients still can't dial a remote server
directly. Switch to the mcp-remote bridge shown above, which works from any
stdio-capable client.
npx fails or hangs on the bridge. Confirm Node.js is installed and reachable
on your PATH, since mcp-remote runs through npx. Run the command once in a
terminal to see the actual error.
A tweet returns nothing. Protected and deleted posts can't be reached by any tool. Confirm the link opens for a logged-out visitor before assuming the server is at fault.
Frequently asked questions
What is MCP?
The Model Context Protocol is an open standard for connecting AI agents to external tools and data through one consistent interface, so a tool works across any client that speaks it.
Which clients work?
Any MCP-capable client. URL-based clients connect straight to the endpoint;
stdio-only clients use the mcp-remote bridge above.
Does it return direct download links?
Yes. extract_twitter_video returns each variant's direct URL, including
1080p Full HD when the tweet has it.
Can it handle GIFs and images?
Yes. GIFs come back as silent MP4s, explained in the GIF guide, and images are returned as well.
Try it now
Paste a Twitter/X link and download in seconds — free, no login.
Only download public content you have the right to use, and respect copyright.