Twitter/X analysis without token waste. Fetch tweets, download media. No API key.
One address for any MCP client. No sign-in needed on this server.
2 read3 other
Grouped by tool name. At most: only reads or looks up information.
Odel charges nothing per call. The publisher may charge for its own service.
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
No installation required - connect directly to hosted server:
npx -y mcp-remote https://mcp.tweetsave.org/sse
npx -y tweetsave-mcp
Connect to hosted server - no local installation needed.
# Global (all projects)
claude mcp add -s user tweetsave -- npx -y mcp-remote https://mcp.tweetsave.org/sse
# Project only
claude mcp add tweetsave -- npx -y mcp-remote https://mcp.tweetsave.org/sse
Add to your MCP configuration:
{
"mcpServers": {
"tweetsave": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.tweetsave.org/sse"]
}
}
}
Config file locations:
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json~/.cursor/mcp.json~/.codeium/windsurf/mcp_config.jsonCreate .vscode/mcp.json in your workspace:
{
"servers": {
"tweetsave": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.tweetsave.org/sse"]
}
}
}
gemini mcp add tweetsave "npx -y mcp-remote https://mcp.tweetsave.org/sse"
Settings → Tools → MCP Server → Add:
opencode mcp add
Then follow prompts:
Click ... menu → MCP → Manage MCP Server → View raw config:
{
"mcpServers": {
"tweetsave": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.tweetsave.org/sse"]
}
}
}
For offline use or development.
# Global (all projects)
claude mcp add -s user tweetsave -- npx -y tweetsave-mcp
# Project only
claude mcp add tweetsave -- npx -y tweetsave-mcp
{
"mcpServers": {
"tweetsave": {
"command": "npx",
"args": ["-y", "tweetsave-mcp"]
}
}
}
tweetsave_get_tweetFetch a single tweet with all content.
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | required | Tweet URL or ID |
response_format | 'markdown' | 'json' | 'markdown' | Output format |
tweetsave_get_threadFetch a tweet thread (connected tweets).
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | required | Any tweet URL in thread |
response_format | 'markdown' | 'json' | 'markdown' | Output format |
tweetsave_to_blogConvert tweet to blog post format.
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | required | Tweet URL or ID |
include_engagement | boolean | true | Include likes/retweets |
response_format | 'markdown' | 'json' | 'markdown' | Output format |
tweetsave_batchFetch multiple tweets at once.
| Parameter | Type | Default | Description |
|---|---|---|---|
urls | string[] | required | Array of URLs (max 10) |
response_format | 'markdown' | 'json' | 'markdown' | Output format |
tweetsave_extract_mediaExtract direct media URLs from a tweet.
| Parameter | Type | Default | Description |
|---|---|---|---|
url | string | required | Tweet URL or ID |
media_type | 'all' | 'photos' | 'videos' | 'all' | Filter type |
## @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
# 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
MIT
Contributions welcome! Please open an issue or PR.