Twitter MCP Server

# 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: ```bash npm install ``` 2. Build the server: ```bash npm run build ``` 3. Configure environment variables: ```bash # 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 ``` 4. Add the server config to your MCP client: On MacOS: ```bash ~/Library/Application Support/Claude/claude_desktop_config.json ``` On Windows: ```bash %APPDATA%/Claude/claude_desktop_config.json ``` Configuration: ```json { "mcpServers": { "twitter-mcp-server": { "command": "/path/to/twitter-mcp-server/build/index.js" } } } ``` ## Development For development with auto-rebuild: ```bash npm run watch ``` ### Debugging Since MCP servers communicate over stdio, you can use the MCP Inspector for debugging: ```bash 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: ```typescript { 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