X-MCP 2.0
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@X-MCP 2.0Search for tweets about MCP servers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
X-MCP 2.0
MCP server for the X/Twitter API v2 with OAuth 2.0 PKCE authentication.
Use Claude to post tweets, search X, like, retweet, and more — with modern OAuth 2.0.
Why 2.0?
The original twitter-mcp uses OAuth 1.0a, which requires 4 separate keys and doesn't support newer API features. X-MCP 2.0 uses OAuth 2.0 with PKCE, the recommended auth method for Twitter API v2.
Feature | twitter-mcp | X-MCP 2.0 |
Auth | OAuth 1.0a (4 keys) | OAuth 2.0 PKCE (modern) |
Token refresh | No | Auto-refresh |
Post tweet | Yes | Yes |
Search | Yes | Yes |
Get tweet | No | Yes |
User profile | No | Yes |
Home timeline | No | Yes |
Like | No | Yes |
Retweet | No | Yes |
Reply | No | Yes |
User tweets | No | Yes |
MCP SDK | 0.6.0 | 1.x |
Related MCP server: X MCP Server
Tools (10)
Tool | Description |
| Post a tweet (supports replies & quote tweets) |
| Search tweets by query |
| Get a specific tweet by ID |
| Get your profile info |
| Get any user's profile by username |
| Get your home timeline |
| Like a tweet |
| Retweet a tweet |
| Reply to a tweet |
| Get recent tweets from a user |
Setup
1. Get Twitter API Credentials
Go to developer.x.com and create an app
Under Keys and Tokens, find OAuth 2.0 Client ID and Client Secret
Under User authentication settings, click Set up:
App permissions: Read and write
Type of App: Web App, Automated App or Bot
Callback URI:
http://127.0.0.1:8739/callbackWebsite URL: your website or GitHub profile
2. Authorize (One-Time)
git clone https://github.com/JFan5/X-MCP-2.0.git
cd X-MCP-2.0
npm install
# Run the auth flow — opens browser for Twitter login
CLIENT_ID=your_client_id CLIENT_SECRET=your_client_secret npm run authThis saves tokens to ~/.x-mcp-tokens.json and prints the ACCESS_TOKEN and REFRESH_TOKEN.
3. Configure Claude
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"x-mcp": {
"command": "node",
"args": ["/path/to/X-MCP-2.0/dist/index.js"],
"env": {
"CLIENT_ID": "your_client_id",
"CLIENT_SECRET": "your_client_secret",
"ACCESS_TOKEN": "your_access_token",
"REFRESH_TOKEN": "your_refresh_token"
}
}
}
}Or for Claude Code, add to ~/.claude/settings.json:
{
"mcpServers": {
"x-mcp": {
"command": "node",
"args": ["/path/to/X-MCP-2.0/dist/index.js"],
"env": {
"CLIENT_ID": "your_client_id",
"CLIENT_SECRET": "your_client_secret",
"ACCESS_TOKEN": "your_access_token",
"REFRESH_TOKEN": "your_refresh_token"
}
}
}
}4. Build (if running from source)
npm run buildToken Refresh
If you included the REFRESH_TOKEN, X-MCP 2.0 automatically refreshes your access token when it expires (every 2 hours). No manual intervention needed.
Examples
Ask Claude:
"Post a tweet about my new open-source project"
"Search for tweets about GRPO reinforcement learning"
"What's on my Twitter timeline?"
"Like the top tweet about machine learning"
"Show me @kaboroevich's recent tweets"
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/JialiangFan/X-MCP-2.0'
If you have feedback or need assistance with the MCP directory API, please join our Discord server