Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

x-mcp-server

MCP.Pizza Chef: DataWhisker

The X MCP Server is a Model Context Protocol server designed for integrating Twitter (now X) functionalities into AI workflows, specifically optimized for use with the Claude desktop app. It provides tools to read your home timeline, create new tweets, and reply to tweets, all while managing API rate limits for the free tier. Implemented in TypeScript, it ensures full type safety and robust development experience. This server requires Node.js v16+ and a free Twitter Developer account, making it accessible for developers looking to embed real-time Twitter interactions into their AI-powered applications.

Use This MCP server To

Read tweets from your home timeline Post new tweets programmatically Reply to tweets via AI workflows Handle Twitter API rate limits automatically Integrate Twitter data into Claude desktop app

README

X MCP Server

A Model Context Protocol (MCP) server for X (Twitter) integration that provides tools for reading your timeline and engaging with tweets. Designed for use with Claude desktop.

X Server MCP server

Features

  • Get tweets from your home timeline
  • Create new tweets
  • Reply to tweets
  • Built-in rate limit handling for the free API tier
  • TypeScript implementation with full type safety

Prerequisites

  • Node.js (v16 or higher)
  • X (Twitter) Developer Account (Free)
  • Claude desktop app

X API Access

X (Twitter) provides a free tier for basic API access:

Free Tier Features

  • Post Limits:
    • 500 posts per month at user level
    • 500 posts per month at app level
  • Read Limits:
    • 100 reads per month
  • Features:
    • Access to v2 post posting endpoints
    • Media upload endpoints
    • Access to Ads API
    • Limited to 1 app ID
    • Login with X functionality
  • Rate Limits:
    • Rate-limited access to all endpoints
    • Limits reset periodically

Note: For higher volume needs, paid tiers are available:

  • Basic tier ($100/month): 50,000 tweets/month, additional endpoints
  • Pro tier ($5000/month): Higher limits and enterprise features

You can access the free tier at: https://developer.x.com/en/portal/products/free

Installation

  1. Clone the repository:
git clone [your-repo-url]
cd x-mcp-server
  1. Install dependencies:
npm install
  1. Build the server:
npm run build

Configuration

You need to set up your X (Twitter) API credentials. Follow these detailed steps:

  1. Go to the Twitter Developer Portal

    • Sign in with your X (Twitter) account
    • If you don't have a developer account, you'll be prompted to create one
  2. Access the Free Tier:

  3. Create a new project:

    • Click "Create Project" button
    • Enter a project name (e.g., "MCP Integration")
    • Select "Free" as your setup
    • Choose your use case
    • Click "Next"
  4. Create a new app within your project:

    • Click "Create App"
    • Enter an app name
    • Click "Complete Setup"
  5. Configure app settings:

    • In your app dashboard, click "App Settings"
    • Under "User authentication settings":
  6. Set app permissions:

    • In app settings, find "App permissions"
    • Change to "Read and Write"
    • Click "Save"
  7. Generate API Keys and Tokens:

    • Go to "Keys and Tokens" tab
    • Under "Consumer Keys":
      • Click "View Keys" or "Regenerate"
      • Save your API Key and API Key Secret
    • Under "Access Token and Secret":
      • Click "Generate"
      • Make sure to select tokens with "Read and Write" permissions
      • Save your Access Token and Access Token Secret

Important:

  • Keep your keys and tokens secure and never share them publicly
  • You'll need all four values:
    • API Key (also called Consumer Key)
    • API Key Secret (also called Consumer Secret)
    • Access Token
    • Access Token Secret
  • Remember the free tier limits:
    • 500 posts per month at user level
    • 500 posts per month at app level
    • 100 reads per month

Claude Desktop Configuration

To connect the X MCP server with Claude desktop, you need to configure it in the Claude settings. Follow these steps:

  1. Open File Explorer

  2. Navigate to the Claude config directory:

    • Press Win + R
    • Type %APPDATA%/Claude and press Enter
    • If the Claude folder doesn't exist, create it
  3. Create or edit claude_desktop_config.json:

    • If the file doesn't exist, create a new file named claude_desktop_config.json
    • If it exists, open it in a text editor (like Notepad)
  4. Add the following configuration, replacing the placeholder values with your actual API credentials from the previous section:

{
  "mcpServers": {
    "x": {
      "command": "node",
      "args": ["%USERPROFILE%/Projects/MCP Basket/x-server/build/index.js"],
      "env": {
        "TWITTER_API_KEY": "paste-your-api-key-here",
        "TWITTER_API_SECRET": "paste-your-api-key-secret-here",
        "TWITTER_ACCESS_TOKEN": "paste-your-access-token-here",
        "TWITTER_ACCESS_SECRET": "paste-your-access-token-secret-here"
      }
    }
  }
}
  1. Save the file and restart Claude desktop

Note: Make sure to:

  • Replace all four credential values with your actual API keys and tokens
  • Keep the quotes ("") around each value
  • Maintain the exact spacing and formatting shown above
  • Save the file with the .json extension

Available Tools

get_home_timeline

Get the most recent tweets from your home timeline.

Parameters:

  • limit (optional): Number of tweets to retrieve (default: 20, max: 100)

Example:

await use_mcp_tool({
  server_name: "x",
  tool_name: "get_home_timeline",
  arguments: { limit: 5 }
});

create_tweet

Create a new tweet.

Parameters:

  • text (required): The text content of the tweet (max 280 characters)

Example:

await use_mcp_tool({
  server_name: "x",
  tool_name: "create_tweet",
  arguments: { text: "Hello from MCP! šŸ¤–" }
});

reply_to_tweet

Reply to a tweet.

Parameters:

  • tweet_id (required): The ID of the tweet to reply to
  • text (required): The text content of the reply (max 280 characters)

Example:

await use_mcp_tool({
  server_name: "x",
  tool_name: "reply_to_tweet",
  arguments: {
    tweet_id: "1234567890",
    text: "Great tweet! šŸ‘"
  }
});

Development

  • npm run build: Build the TypeScript code
  • npm run dev: Run TypeScript in watch mode
  • npm start: Start the MCP server

Rate Limiting

The server includes built-in rate limit handling for X's free tier:

  • Monthly limits:
    • 500 posts per month at user level
    • 500 posts per month at app level
    • 100 reads per month
  • Features:
    • Tracks monthly usage
    • Provides exponential backoff for rate limit errors
    • Clear error messages when limits are reached
    • Automatic retry after rate limit window expires

License

MIT

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

x-mcp-server FAQ

What prerequisites are needed to use the X MCP Server?
You need Node.js version 16 or higher, a free Twitter Developer account, and the Claude desktop app.
How does the X MCP Server handle Twitter API rate limits?
It includes built-in rate limit handling specifically designed for the free API tier to prevent exceeding usage caps.
Is the X MCP Server compatible with other LLM platforms besides Claude?
While optimized for Claude desktop, the server's TypeScript implementation can be adapted for use with other LLM providers like OpenAI and Gemini.
What Twitter API features does the X MCP Server support?
It supports reading the home timeline, posting new tweets, replying to tweets, and media uploads within the free tier limits.
Does the X MCP Server support media uploads in tweets?
Yes, it supports media upload endpoints as part of the Twitter API free tier features.
What programming language is the X MCP Server implemented in?
The server is implemented in TypeScript, providing full type safety for developers.
Can the X MCP Server be used with paid Twitter API tiers?
The server is designed for the free tier but can be extended or configured to work with paid tiers if needed.
How many tweets can I post using the free tier with the X MCP Server?
The free tier allows up to 500 posts per month at both user and app levels.