TweetSave MCP - Twitter/X analysis without token waste. Fetch tweets, download media. No API key.
SaferSkills independently audited Tweetsave Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<p align="center"> <img src="https://tweetsave.org/appIcon.png" alt="TweetSave" width="180"> </p>
<p align="center"> <a href="https://www.npmjs.org/package/tweetsave-mcp"><img src="https://img.shields.io/npm/v/tweetsave-mcp.svg" alt="npm version"></a> <a href="https://www.npmjs.org/package/tweetsave-mcp"><img src="https://img.shields.io/npm/dm/tweetsave-mcp.svg" alt="npm downloads"></a> <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a> </p>
<p align="center"> <a href="https://modelcontextprotocol.io/"><img src="https://img.shields.io/badge/MCP-Compatible-blue" alt="MCP Server"></a> <a href="https://claude.ai"><img src="https://img.shields.io/badge/Claude-Ready-orange" alt="Claude"></a> <a href="https://mcp.tweetsave.org/health"><img src="https://img.shields.io/badge/Server-Online-brightgreen" alt="Server Status"></a> </p>
<p align="center"> MCP server for fetching Twitter/X content and converting to blog posts.<br> <strong>No Twitter API key required</strong> - Uses FxTwitter API (free, open source). </p>
<p align="center"> <a href="https://tweetsave.org">Website</a> • <a href="#quick-start">Quick Start</a> • <a href="#features">Features</a> • <a href="#installation">Installation</a> • <a href="#available-tools">Tools</a> </p>
No installation required - connect directly to hosted server:
npx -y mcp-remote https://mcp.tweetsave.org/ssenpx -y tweetsave-mcpConnect to hosted server - no local installation needed.
#### Claude Code
# 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#### Claude Desktop / Cursor / Windsurf
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.json#### VS Code
Create .vscode/mcp.json in your workspace:
{
"servers": {
"tweetsave": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.tweetsave.org/sse"]
}
}
}#### Gemini CLI
gemini mcp add tweetsave "npx -y mcp-remote https://mcp.tweetsave.org/sse"#### JetBrains IDEs
Settings → Tools → MCP Server → Add:
#### OpenCode
opencode mcp addThen follow prompts:
#### Antigravity
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.
#### Claude Code
# Global (all projects)
claude mcp add -s user tweetsave -- npx -y tweetsave-mcp
# Project only
claude mcp add tweetsave -- npx -y tweetsave-mcp#### Claude Desktop / Cursor / Windsurf
{
"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.9KMIT
Contributions welcome! Please open an issue or PR.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.