The Twitter MCP Server is a comprehensive API integration platform that allows interaction with Twitter's API for various operations:
Tweet Operations: Post tweets (with or without media), reply to tweets, delete tweets, retrieve tweets by ID or in batches
User Operations: Get user information, follow/unfollow users, retrieve user timelines, followers, and following lists (some features currently have availability issues)
Engagement: Like/unlike tweets, retweet/undo retweets, and get lists of retweets and liked tweets
Search & Analytics: Search for tweets and get hashtag analytics (some features currently have availability issues)
List Management: Create lists, add/remove users from lists, and retrieve list members and user-owned lists
Uses environment variables from .env files to store Twitter API credentials securely
Uses npm for dependency management and running build/development scripts
Uses TypeScript for implementation of parameter validation and error handling
Twitter MCP Server
A Model Context Protocol server implementation for Twitter API integration.
Setup
Clone the repository
Install dependencies:
npm install
Copy
.env.example
to.env
and fill in your Twitter API credentialsBuild the project:
npm run build
Start the server:
npm start
Environment Variables
Required Twitter API credentials in .env
:
Available Tools
Tweet Operations
postTweet
: Post a new tweet{ "text": "Your tweet text here" }postTweetWithMedia
: Post a tweet with media attachment{ "text": "Your tweet text", "mediaPath": "path/to/media/file", "mediaType": "image/jpeg|image/png|image/gif|video/mp4", "altText": "Optional alt text for accessibility" }getTweetById
: Get a specific tweet by ID{ "tweetId": "tweet_id", "tweetFields": ["created_at", "public_metrics"] }replyToTweet
: Reply to an existing tweet{ "tweetId": "tweet_id", "text": "Your reply text" }deleteTweet
: Delete a tweet{ "tweetId": "tweet_id" }
Search & Analytics
searchTweets
: Search for tweets{ "query": "search query", "maxResults": 10, "tweetFields": ["created_at", "public_metrics"] }getHashtagAnalytics
: Get analytics for a hashtag{ "hashtag": "hashtag", "startTime": "ISO-8601 date", "endTime": "ISO-8601 date" }
User Operations
getUserInfo
: Get user information{ "username": "twitter_username", "fields": ["description", "public_metrics"] }getUserTimeline
: Get user's tweets{ "username": "twitter_username", "maxResults": 10, "tweetFields": ["created_at", "public_metrics"] }getFollowers
: Get user's followers{ "username": "twitter_username", "maxResults": 100, "userFields": ["description", "public_metrics"] }getFollowing
: Get accounts a user follows{ "username": "twitter_username", "maxResults": 100, "userFields": ["description", "public_metrics"] }
Engagement
likeTweet
: Like a tweet{ "tweetId": "tweet_id" }unlikeTweet
: Unlike a tweet{ "tweetId": "tweet_id" }retweet
: Retweet a tweet{ "tweetId": "tweet_id" }undoRetweet
: Undo a retweet{ "tweetId": "tweet_id" }getRetweets
: Get users who retweeted a tweet{ "tweetId": "tweet_id", "maxResults": 100, "userFields": ["description", "public_metrics"] }getLikedTweets
: Get tweets liked by a user{ "userId": "user_id", "maxResults": 100, "tweetFields": ["created_at", "public_metrics"] }
List Management
createList
: Create a new list{ "name": "List name", "description": "List description", "isPrivate": false }addUserToList
: Add a user to a list{ "listId": "list_id", "username": "twitter_username" }removeUserFromList
: Remove a user from a list{ "listId": "list_id", "username": "twitter_username" }getListMembers
: Get members of a list{ "listId": "list_id", "maxResults": 100, "userFields": ["description", "public_metrics"] }
Error Handling
All tools return standardized error responses:
Missing parameters:
Missing required parameter: parameter_name
API errors: Error message from Twitter API
Not found errors: Appropriate "not found" message for the resource
Response Format
All successful responses follow this format:
Development
Build:
npm run build
Start:
npm start
Watch mode:
npm run dev
Status: Working perfectly Response: Returns tweet ID Latest test: Success
Status: Working perfectly Response: Returns complete tweet data Latest test: Success
Status: Working perfectly Response: Confirmation of action Latest test: Success
Status: Working perfectly Response: Confirmation of action Latest test: Success
Status: Working perfectly Response: Returns reply tweet ID Latest test: Success
Status: Working perfectly Response: Complete user profile data Latest test: Success
Status: Working perfectly Response: Confirmation of action Latest test: Success
Status: Working perfectly Response: Confirmation of list creation Latest test: Success
Status: Working perfectly Response: Returns both owned and member lists Latest test: Success
Status: Error 400 Error: Invalid Request parameters Fix needed: Parameter validation
Status: Error 400 Error: Invalid Request parameters Fix needed: Query parameter formatting
Status: Error 400 Error: Invalid Request parameters Fix needed: Parameter validation
Error Handling:
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Enables interaction with Twitter through a Model Context Protocol, allowing large language models to post tweets, search for tweets, and reply to tweets.
Related Resources
Related MCP Servers
- -securityFlicense-qualityProvides AI agents with comprehensive Twitter functionality through the Model Context Protocol standard, enabling reading tweets, posting content, managing interactions, and accessing timeline data with robust error handling.Last updated -117
- -securityAlicense-qualityA Model Context Protocol server that enables AI to interact with Twitter, allowing functions like searching tweets, comparing sentiments across accounts, and retrieving timeline content.Last updated -MIT License
- -securityAlicense-qualityA Model Context Protocol server that enables AI models and applications to interact directly with Twitter/X, providing capabilities to create posts, reply to tweets, retrieve user data, and manage account actions.Last updated -210MIT License
- -securityAlicense-qualityA Model Context Protocol server that enables AI agents to interact with Twitter without direct API access, supporting tweet operations, user interactions, and Grok AI integration.Last updated -1117MIT License