twitter-mcp-server

MCP.Pizza Chef: taazkareem

The Twitter MCP Server is a robust integration that exposes Twitter's full functionality through the Model Context Protocol. It enables AI agents and MCP clients to seamlessly access tweets, user profiles, and search capabilities, as well as perform user interactions like posting, liking, retweeting, and replying. Built with error handling and rate limiting, it ensures reliable and consistent Twitter operations within AI workflows.

Use This MCP server To

Fetch tweets with media for content analysis Retrieve detailed Twitter user profiles Search tweets by hashtags or keywords Filter tweet search results by latest or top Like or unlike tweets programmatically Retweet or undo retweets via AI agents Post tweets with text and media attachments Reply to tweets and quote tweet automatically Integrate Twitter data into AI assistant workflows Manage Twitter interactions with rate limiting

README

Twitter MCP Server

A powerful Twitter integration for AI agents that leverages the Model Context Protocol (MCP) standard, providing a comprehensive set of Twitter functionality through a clean and consistent interface.

Overview

This server provides access to Twitter's features through MCP tools, allowing seamless integration with AI assistants and other MCP-compatible clients. It's built on top of the agent-twitter-client library and provides robust error handling, rate limiting, and consistent response formatting.

Features

Basic Reading

  • Get tweets from users with media support
  • Fetch user profiles with detailed information
  • Search tweets by hashtags or keywords
  • Filter search results by latest/top
  • Rate limiting (max 50 tweets per request)

User Interactions

  • Like/Unlike tweets
  • Retweet/Undo retweet
  • Post tweets with:
    • Text content
    • Media attachments (images, videos)
    • Reply functionality
    • Quote tweet capability

Advanced Features

  • Get user relationships (followers/following)
  • Fetch trending topics
  • Access different timeline types:
    • Home timeline
    • Following timeline
    • User timeline
  • List management (fetch list tweets)

Media & Advanced Interactions

  • Media handling:
    • Image upload (JPEG, PNG, GIF)
    • Video upload (MP4)
    • Alt text support
  • Thread creation
  • Follow/Unfollow users

Tools

Reading Tools

  • get_tweets - Fetch recent tweets from a user
  • get_profile - Get a user's profile information
  • search_tweets - Search for tweets by hashtag or keyword

Interaction Tools

  • like_tweet - Like or unlike a tweet
  • retweet - Retweet or undo retweet
  • post_tweet - Post a new tweet with optional media
  • create_thread - Create a Twitter thread

Timeline Tools

  • get_timeline - Get tweets from different timeline types
  • get_list_tweets - Get tweets from a Twitter list
  • get_trends - Get current trending topics

User Management Tools

  • get_user_relationships - Get followers or following list
  • follow_user - Follow or unfollow a user

Installation

  1. Install dependencies:
npm install
  1. Build the server:
npm run build
  1. Configure environment variables:
# Required: Twitter Account Credentials (for user authentication)
TWITTER_USERNAME=your_username
TWITTER_PASSWORD=your_password
TWITTER_EMAIL=your_email

# Twitter API Authentication (Optional)
TWITTER_API_KEY=your_api_key
TWITTER_API_SECRET_KEY=your_api_secret_key
TWITTER_ACCESS_TOKEN=your_access_token
TWITTER_ACCESS_TOKEN_SECRET=your_access_token_secret
  1. Add the server config to your MCP client:

On MacOS:

~/Library/Application Support/Claude/claude_desktop_config.json

On Windows:

%APPDATA%/Claude/claude_desktop_config.json

Configuration:

{
  "mcpServers": {
    "twitter-mcp-server": {
      "command": "/path/to/twitter-mcp-server/build/index.js"
    }
  }
}

Development

For development with auto-rebuild:

npm run watch

Debugging

Since MCP servers communicate over stdio, you can use the MCP Inspector for debugging:

npm run inspector

The Inspector will provide a URL to access debugging tools in your browser.

Error Handling

The server implements comprehensive error handling:

  • Input validation for all parameters
  • Rate limiting protection
  • Detailed error messages
  • Proper error propagation
  • Logging for debugging

Response Format

All tools return responses in a consistent format:

{
  content: [{
    type: "text",
    text: string // JSON stringified response or error message
  }]
}

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see LICENSE file for details

twitter-mcp-server FAQ

How does the Twitter MCP Server handle Twitter API rate limits?
It includes built-in rate limiting to comply with Twitter's API restrictions, ensuring stable operation without exceeding limits.
Can the server post tweets with media attachments?
Yes, it supports posting tweets with images and videos, including replies and quote tweets.
What error handling mechanisms are implemented?
The server provides robust error handling to manage API failures and network issues gracefully.
Is the Twitter MCP Server compatible with all MCP clients?
Yes, it follows the MCP standard, making it compatible with any MCP-compliant client or AI agent.
Does the server support searching tweets by keywords or hashtags?
Yes, it allows searching tweets filtered by hashtags or keywords, with options to sort by latest or top results.
How does the server ensure consistent response formatting?
It standardizes responses to provide uniform data structures for easier consumption by AI models.
Can the server perform user interactions like liking or retweeting tweets?
Yes, it supports liking, unliking, retweeting, and undoing retweets programmatically.
What underlying library does the server use?
It is built on top of the agent-twitter-client library for reliable Twitter API integration.