X-MCP 2.0

X-MCP 2.0

Enables users to interact with X/Twitter via Claude, allowing posting tweets, searching, liking, retweeting, and more using OAuth 2.0 PKCE authentication.

Category
Visit Server

README

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

Tools (10)

Tool Description
post_tweet Post a tweet (supports replies & quote tweets)
search_tweets Search tweets by query
get_tweet Get a specific tweet by ID
get_my_profile Get your profile info
get_user Get any user's profile by username
get_timeline Get your home timeline
like_tweet Like a tweet
retweet Retweet a tweet
reply_to_tweet Reply to a tweet
get_user_tweets Get recent tweets from a user

Setup

1. Get Twitter API Credentials

  1. Go to developer.x.com and create an app
  2. Under Keys and Tokens, find OAuth 2.0 Client ID and Client Secret
  3. 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/callback
    • Website 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 auth

This 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 build

Token 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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured