A side-by-side look at the X MCP and Xdataapi: X (Twitter) data 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 Xdataapi: X (Twitter) data for social media over a hosted endpoint. 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.XDATAAPI_KEY.get_user, get_users, get_user_tweets.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Social Media | Social Media |
| Quality signal | 56/100 · Good | 57/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Remote HTTP/SSE |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | TWITTER_MODERETTIWT_API_KEYTWITTER_BEARER_TOKENTWITTER_API_KEYTWITTER_API_SECRETTWITTER_ACCESS_TOKENTWITTER_ACCESS_SECRETTWITTER_REQUEST_TIMEOUT_MS | XDATAAPI_KEY |
| Verified owner | Community listing | Community listing |
| GitHub stars | 1 | 1 |
| Directory activity | 1 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 5 | 14 |
| Full listing | View X MCP | View Xdataapi: X (Twitter) data |
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_userProfile of one X user by handle. 1 credit.get_usersProfiles of up to 100 X users by handle in one call. 1 credit per profile found.get_user_tweetsLatest tweets of a user, newest first. 1 credit per tweet.get_followersFollowers of a user. 0.1 credit per profile. Not every account tier can read this; a 403 is free.get_follower_idsNumeric ids of the followers of a user, no profiles. 0.02 credit per id. Same page as get_followers, so a page read there is a cache hit here. A 403 is free.get_followingAccounts a user follows. 0.1 credit per profile. Not every account tier can read this; a 403 is free.search_tweetsX advanced search. q takes the x.com operators. 1 credit per tweet or profile. product Latest is always available; Top may answer 403 (free).get_tweetOne tweet by numeric id, with its author. 1 credit.get_tweetsUp to 100 tweets by numeric id in one call. 1 credit per tweet found.get_threadA tweet with its thread and replies; the focal tweet comes first. 1 credit per tweet returned.get_repliesDirect replies to a tweet, one page. 1 credit per reply.get_quotesTweets that quote a tweet, newest first. 1 credit per tweet.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": {
"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": {
"xdataapi-x-twitter-data-3": {
"url": "https://api.xdataapi.io/mcp"
}
}
}