A side-by-side look at the Tweetsmash MCP and X MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Tweetsmash MCP for social media work as a local process; choose X MCP for social media as a local process. You can also run both side by side in one mcpServers block.
TWEETSMASH_TOKEN.list_bookmarks, search_bookmarks, get_bookmark_count.TWITTER_MODE, RETTIWT_API_KEY, TWITTER_BEARER_TOKEN, TWITTER_API_KEY, TWITTER_API_SECRET, TWITTER_ACCESS_TOKEN, TWITTER_ACCESS_SECRET, TWITTER_REQUEST_TIMEOUT_MS.get_tweet, get_tweet_replies, get_user_profile.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Social Media | Social Media |
| Quality signal | 55/100 · Good | 56/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | TWEETSMASH_TOKEN | TWITTER_MODERETTIWT_API_KEYTWITTER_BEARER_TOKENTWITTER_API_KEYTWITTER_API_SECRETTWITTER_ACCESS_TOKENTWITTER_ACCESS_SECRETTWITTER_REQUEST_TIMEOUT_MS |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 1 |
| Directory activity | 2 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 5 | 5 |
| Full listing | View Tweetsmash MCP | View X MCP |
list_bookmarksList user's Twitter bookmarks with optional filtering and pagination. Supports filtering by read status, media type, author, tags, date ranges, and sorting options.search_bookmarksSearch through a user's Twitter bookmarks using either keyword (text) search or semantic (meaning-based) search. Supports all list_bookmarks filters, full-text search via the q field, and semantic search via the vector_search_term field for natural language or topic-based queries.get_bookmark_countGet the total count of user's bookmarks with optional filtering. Useful for understanding the size of bookmark collections before listing them.list_labelsList all user's labels with their usage counts. Useful for discovering existing labels before adding new ones or to understand the current labeling system.add_labels_to_tweetsAdd a label to a list of tweets. Can use an existing label by ID or create a new label by name. This is useful for organizing and categorizing tweets after searching or filteringget_tweetOne post. Accepts a numeric ID or an `x.com` or `twitter.com` status URL.get_tweet_repliesReplies and available page metadata.get_user_profileOne public profile. A leading `@` is accepted.search_tweetsMatching posts and available page metadata. Search operators depend on the provider.get_server_infoVersion, active provider, tools, limits, and capabilities.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"mcp-151": {
"command": "npx",
"args": [
"@tweetsmash/mcp"
],
"env": {
"TWEETSMASH_TOKEN": "YOUR_TWEETSMASH_TOKEN_HERE"
}
}
}
}
{
"mcpServers": {
"twitter-x-mcp": {
"command": "npx",
"args": [
"-y",
"@granitebps/twitter-mcp"
],
"env": {
"TWITTER_MODE": "YOUR_TWITTER_MODE_HERE",
"RETTIWT_API_KEY": "YOUR_RETTIWT_API_KEY_HERE",
"TWITTER_BEARER_TOKEN": "YOUR_TWITTER_BEARER_TOKEN_HERE",
"TWITTER_API_KEY": "YOUR_TWITTER_API_KEY_HERE",
"TWITTER_API_SECRET": "YOUR_TWITTER_API_SECRET_HERE",
"TWITTER_ACCESS_TOKEN": "YOUR_TWITTER_ACCESS_TOKEN_HERE",
"TWITTER_ACCESS_SECRET": "YOUR_TWITTER_ACCESS_SECRET_HERE",
"TWITTER_REQUEST_TIMEOUT_MS": "YOUR_TWITTER_REQUEST_TIMEOUT_MS_HERE"
}
}
}
}