A side-by-side look at the X MCP and TwittrAPI MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose X MCP for social media work as a local process; choose TwittrAPI for social media as a local process. You can also run both side by side in one mcpServers block.
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.TWITTRAPI_API_KEY, RAPIDAPI_KEY, RAPIDAPI_HOST, TWITTRAPI_BASE_URL, TWITTRAPI_RESPONSE_FORMAT, TWITTRAPI_X_COOKIE, TWITTRAPI_X_PROXY, TWITTRAPI_X_CHAT_PASSCODE.get_user_by_username, get_user_by_id, username_to_id.Rows where the two servers differ are marked.
| Spec | T TwittrAPI | |
|---|---|---|
| Category | Social Media | Social Media |
| Quality signal | 56/100 · Good | 56/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | API key required |
| Pricing | Not declared | BYOK (pay the provider) |
| Required env vars | TWITTER_MODERETTIWT_API_KEYTWITTER_BEARER_TOKENTWITTER_API_KEYTWITTER_API_SECRETTWITTER_ACCESS_TOKENTWITTER_ACCESS_SECRETTWITTER_REQUEST_TIMEOUT_MS | TWITTRAPI_API_KEYRAPIDAPI_KEYRAPIDAPI_HOSTTWITTRAPI_BASE_URLTWITTRAPI_RESPONSE_FORMATTWITTRAPI_X_COOKIETWITTRAPI_X_PROXYTWITTRAPI_X_CHAT_PASSCODE |
| Verified owner | Community listing | Community listing |
| GitHub stars | 1 | 0 |
| Directory activity | 1 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 5 | 28 |
| Full listing | View X MCP | View TwittrAPI |
get_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.get_user_by_usernameProfile by handle, including the numeric user IDget_user_by_idProfile by numeric user IDusername_to_idResolve a handle to its user IDusers_by_idsProfiles for up to 500 user IDs at onceget_user_tweetsA user's tweetsget_user_tweets_and_repliesA user's tweets and repliesget_user_mediaA user's tweets with photos or videosget_followersA user's followersget_followingAccounts a user followsget_verified_followersA user's verified followerssearch_tweetsSearch with X operators; Top, Latest, People, Photos or Videosget_tweetA tweet and its reply threadPaste 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": {
"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"
}
}
}
}
{
"mcpServers": {
"twittrapi": {
"command": "npx",
"args": [
"-y",
"twittrapi-mcp"
],
"env": {
"TWITTRAPI_API_KEY": "YOUR_TWITTRAPI_API_KEY_HERE",
"RAPIDAPI_KEY": "YOUR_RAPIDAPI_KEY_HERE",
"RAPIDAPI_HOST": "YOUR_RAPIDAPI_HOST_HERE",
"TWITTRAPI_BASE_URL": "YOUR_TWITTRAPI_BASE_URL_HERE",
"TWITTRAPI_RESPONSE_FORMAT": "YOUR_TWITTRAPI_RESPONSE_FORMAT_HERE",
"TWITTRAPI_X_COOKIE": "YOUR_TWITTRAPI_X_COOKIE_HERE",
"TWITTRAPI_X_PROXY": "YOUR_TWITTRAPI_X_PROXY_HERE",
"TWITTRAPI_X_CHAT_PASSCODE": "YOUR_TWITTRAPI_X_CHAT_PASSCODE_HERE"
}
}
}
}