Tweetsave Mcp

io.github.zezeronPublished by GitHub account zezeronv1.0.3Updated Oct 24, 2026

Twitter/X analysis without token waste. Fetch tweets, download media. No API key.

VerifiedSSEWeb executableWeb Search & ScrapingMedia & Design

Overview

AI-generated overview

Fetches Twitter/X tweets, threads and media through the free FxTwitter API and turns tweets into blog posts, with no Twitter API key needed.

What you can do
  • Fetch a single tweet with text, media, polls and engagement metrics
  • Fetch a thread from any tweet in it (currently only the main tweet)
  • Convert a tweet into a formatted blog post with title, content and metadata
  • Batch fetch up to 10 tweets at once
  • Extract direct photo, video and GIF URLs, filtered by media type
  • Return results as markdown or JSON
When to use it
Useful when you want an assistant to read, archive or repurpose public Twitter/X content — pulling tweet text and engagement stats, collecting media links, or drafting blog posts from viral tweets — without registering for a Twitter developer account.
Requirements
Either the hosted remote endpoint at mcp.tweetsave.org over SSE (typically reached through the mcp-remote bridge) or the local npm package tweetsave-mcp run with npx, which needs Node.js. No API key or account is required; network access to the FxTwitter API is needed.
Before you install
Tweet content and URLs are sent to the third-party FxTwitter API and, in remote mode, to the hosted server. FxTwitter enforces rate limits for heavy use, replies and protected or private accounts are not accessible, and thread fetching currently returns only the main tweet. Output is read-only; nothing is posted or changed on X.

Installation

In SourceWeft

  1. Open Tweetsave Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via SSE. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.zezeron%2Ftweetsave-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "tweetsave": {
      "type": "sse",
      "url": "https://mcp.tweetsave.org/sse"
    }
  }
}

README

[TweetSave]

[npm version] [npm downloads] [License: MIT]

[MCP Server] [Claude] [Server Status]

MCP server for fetching Twitter/X content and converting to blog posts.
No Twitter API key required - Uses FxTwitter API (free, open source).

Website • Quick Start • Features • Installation • Tools


Features

  • Fetch tweets with full content, media, and engagement metrics
  • Convert tweets to formatted blog posts
  • Extract media URLs (photos, videos, GIFs)
  • Batch fetch multiple tweets (up to 10)
  • Support for quote tweets and polls
  • Markdown and JSON output formats

Quick Start

Remote MCP (Recommended)

No installation required - connect directly to hosted server:

bash
npx -y mcp-remote https://mcp.tweetsave.org/sse

Local (npx)

bash
npx -y tweetsave-mcp

Installation

Remote MCP (Recommended)

Connect to hosted server - no local installation needed.

Claude Code
bash
# Global (all projects)claude mcp add -s user tweetsave -- npx -y mcp-remote https://mcp.tweetsave.org/sse
# Project onlyclaude mcp add tweetsave -- npx -y mcp-remote https://mcp.tweetsave.org/sse
Claude Desktop / Cursor / Windsurf

Add to your MCP configuration:

json
{  "mcpServers": {    "tweetsave": {      "command": "npx",      "args": ["-y", "mcp-remote", "https://mcp.tweetsave.org/sse"]    }  }}

Config file locations:

  • Claude Desktop (macOS): ~/Library/Application Support/Claude/claude_desktop_config.json
  • Claude Desktop (Windows): %APPDATA%\Claude\claude_desktop_config.json
  • Cursor: ~/.cursor/mcp.json
  • Windsurf: ~/.codeium/windsurf/mcp_config.json
VS Code

Create .vscode/mcp.json in your workspace:

json
{  "servers": {    "tweetsave": {      "command": "npx",      "args": ["-y", "mcp-remote", "https://mcp.tweetsave.org/sse"]    }  }}
Gemini CLI
bash
gemini mcp add tweetsave "npx -y mcp-remote https://mcp.tweetsave.org/sse"
JetBrains IDEs

Settings → Tools → MCP Server → Add:

OpenCode
bash
opencode mcp add

Then follow prompts:

Antigravity

Click ... menu → MCP → Manage MCP Server → View raw config:

json
{  "mcpServers": {    "tweetsave": {      "command": "npx",      "args": ["-y", "mcp-remote", "https://mcp.tweetsave.org/sse"]    }  }}

Local Installation

For offline use or development.

Claude Code
bash
# Global (all projects)claude mcp add -s user tweetsave -- npx -y tweetsave-mcp
# Project onlyclaude mcp add tweetsave -- npx -y tweetsave-mcp
Claude Desktop / Cursor / Windsurf
json
{  "mcpServers": {    "tweetsave": {      "command": "npx",      "args": ["-y", "tweetsave-mcp"]    }  }}

Available Tools

tweetsave_get_tweet

Fetch a single tweet with all content.

ParameterTypeDefaultDescription
urlstringrequiredTweet URL or ID
response_format'markdown' | 'json''markdown'Output format

tweetsave_get_thread

Fetch a tweet thread (connected tweets).

ParameterTypeDefaultDescription
urlstringrequiredAny tweet URL in thread
response_format'markdown' | 'json''markdown'Output format

tweetsave_to_blog

Convert tweet to blog post format.

ParameterTypeDefaultDescription
urlstringrequiredTweet URL or ID
include_engagementbooleantrueInclude likes/retweets
response_format'markdown' | 'json''markdown'Output format

tweetsave_batch

Fetch multiple tweets at once.

ParameterTypeDefaultDescription
urlsstring[]requiredArray of URLs (max 10)
response_format'markdown' | 'json''markdown'Output format

tweetsave_extract_media

Extract direct media URLs from a tweet.

ParameterTypeDefaultDescription
urlstringrequiredTweet URL or ID
media_type'all' | 'photos' | 'videos''all'Filter type

Output Examples

Markdown Format

markdown
## @itsPaulAi (Paul Couvert)
This is so good 🔥
You can run this new model on a laptop which is:- 100% open source- Only 3B active parameters (!!)
---**Engagement**: 228 likes | 15 retweets | 29.9K views**Posted**: January 19, 2026 at 08:02 PM

Blog Post Format

markdown
# This is so good 🔥 You can run this new model...
*A post by @itsPaulAi*
**Author**: Paul Couvert ([@itsPaulAi](https://x.com/itsPaulAi))**Published**: January 19, 2026 at 08:02 PM**Read time**: 1 min read
---
[Content here]
---
## Engagement
- **Likes**: 228- **Retweets**: 15- **Views**: 29.9K

Limitations

  • No replies/comments: FxTwitter API doesn't support fetching replies
  • Rate limits: FxTwitter has rate limits for heavy usage
  • Private tweets: Cannot access protected/private accounts

License

MIT

Contributing

Contributions welcome! Please open an issue or PR.

Support

Source: README.md at commit 75192e3

Tools

5

tweetsave_get_tweet

Get Tweet

Fetch a single tweet with all its content including text, media (photos, videos, GIFs), polls, and engagement metrics. This tool retrieves tweet data from Twitter/X using the FxTwitter API. It returns the tweet content, author info, media URLs, and engagement stats. Args: - url (string): Tweet URL or tweet ID - response_format ('markdown' | 'json'): Output format (default: 'markdown') Returns: Tweet data including: - Author info (name, username, avatar) - Tweet text - Media URLs (photos, videos) - Engagement (likes, retweets, replies, views) - Poll data (if applicable) - Quote tweet (if applicable) Examples: - "Get tweet from https://x.com/elonmusk/status/123456" - "Fetch this tweet: 123456789" Note: Does not fetch replies. Use tweetsave_to_blog for a complete blog post with formatting.

Parametersurlrequiredresponse_format

tweetsave_get_thread

Get Tweet Thread

Fetch a tweet thread (multiple connected tweets by the same author). Note: Current implementation fetches the main tweet. Full thread crawling requires additional API access. Args: - url (string): URL or ID of any tweet in the thread - response_format ('markdown' | 'json'): Output format (default: 'markdown') Returns: Array of tweets in the thread with all content and media. Examples: - "Get the full thread from this tweet: https://x.com/user/status/123"

Parametersurlrequiredresponse_format

tweetsave_to_blog

Convert Tweet to Blog Post

Convert a tweet into a formatted blog post with title, content, media, and metadata. This tool transforms a tweet into a readable blog post format, perfect for: - Archiving tweets - Creating content from threads - Generating blog posts from viral tweets Args: - url (string): Tweet URL or tweet ID - include_engagement (boolean): Include likes/retweets/etc. (default: true) - response_format ('markdown' | 'json'): Output format (default: 'markdown') Returns: BlogPost with: - Generated title from tweet content - Author info with avatar - Formatted content with media - Tags from hashtags - Read time estimate - Engagement summary - Source link Examples: - "Convert this tweet to a blog post: https://x.com/user/status/123" - "Make a blog from tweet 123456789"

Parametersurlrequiredresponse_formatinclude_engagement

tweetsave_batch

Batch Fetch Tweets

Fetch multiple tweets at once (max 10). Useful for: - Collecting tweets from a list - Building a feed from multiple sources - Comparing multiple tweets Args: - urls (string[]): Array of tweet URLs or IDs (max 10) - response_format ('markdown' | 'json'): Output format (default: 'markdown') Returns: Array of tweets or a combined feed in markdown format. Examples: - "Fetch these tweets: [url1, url2, url3]"

Parametersurlsrequiredresponse_format

tweetsave_extract_media

Extract Media URLs

Extract direct media URLs (photos, videos, GIFs) from a tweet. Returns direct URLs that can be downloaded or embedded. Video URLs are the highest quality available. Args: - url (string): Tweet URL or tweet ID - media_type ('all' | 'photos' | 'videos'): Filter by media type (default: 'all') Returns: List of media items with: - type (photo/video/gif) - url (direct download URL) - dimensions (width/height) - duration (for videos) Examples: - "Get all media from this tweet: https://x.com/user/status/123" - "Extract video URLs from tweet 123456"

Parametersurlrequiredmedia_type

Version history

1
  1. v1.0.3LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts