I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

MCP-Twitter-Server
Modellkontext -Protokollserver für den Zugriff auf Twitter
3 years
Works with Finder
1
Github Watches
6
Github Forks
12
Github Stars
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 credentials - Build the project:
npm run build
- Start the server:
npm start
Environment Variables
Required Twitter API credentials in .env
:
X_API_KEY=your_api_key
X_API_SECRET=your_api_secret
X_ACCESS_TOKEN=your_access_token
X_ACCESS_TOKEN_SECRET=your_access_token_secret
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:
{
"content": [
{
"type": "text",
"text": "Operation result message"
}
]
}
Development
- Build:
npm run build
- Start:
npm start
- Watch mode:
npm run dev
Here's a comprehensive status report of all Twitter tools:
## Working Tools (✓)
1. postTweet
Status: Working perfectly Response: Returns tweet ID Latest test: Success
2. getTweetById
Status: Working perfectly Response: Returns complete tweet data Latest test: Success
3. likeTweet & unlikeTweet
Status: Working perfectly Response: Confirmation of action Latest test: Success
4. retweet & undoRetweet
Status: Working perfectly Response: Confirmation of action Latest test: Success
5. replyToTweet
Status: Working perfectly Response: Returns reply tweet ID Latest test: Success
6. getUserInfo
Status: Working perfectly Response: Complete user profile data Latest test: Success
7. followUser & unfollowUser
Status: Working perfectly Response: Confirmation of action Latest test: Success
8. createList
Status: Working perfectly Response: Confirmation of list creation Latest test: Success
9. getUserLists
Status: Working perfectly Response: Returns both owned and member lists Latest test: Success
## Tools with Issues (⚠️)
1. getUserTimeline
Status: Error 400 Error: Invalid Request parameters Fix needed: Parameter validation
2. searchTweets
Status: Error 400 Error: Invalid Request parameters Fix needed: Query parameter formatting
3. getLikedTweets
Status: Error 400 Error: Invalid Request parameters Fix needed: Parameter validation
## Missing Tools (❌)
- getHomeTimeline (not found in available tools)
- getFollowers (not available)
- getFollowing (not available)
- getHashtagAnalytics (not available)
## Priority Fixes Needed
1. Parameter Validation:
```typescript
// Implement for getUserTimeline, searchTweets, getLikedTweets
interface TwitterParamValidator {
validateTimelineParams(params: any): boolean;
validateSearchParams(params: any): boolean;
validateLikedTweetsParams(params: any): boolean;
}
- Error Handling:
// Enhance error handling for 400 errors
interface TwitterErrorHandler {
handle400Error(endpoint: string, params: any): void;
logErrorDetails(error: any): void;
suggestParameterFixes(params: any): string[];
}
相关推荐
Confidential guide on numerology and astrology, based of GG33 Public information
Converts Figma frames into front-end code for various mobile frameworks.
Oede knorrepot die vasthoudt an de goeie ouwe tied van 't boerenleven
Advanced software engineer GPT that excels through nailing the basics.
A medical specialist offering assistance grounded in clinical guidelines. Disclaimer: This is intended for research and is NOT safe for clinical use!
A world class elite tech co-founder entrepreneur, expert in software development, entrepreneurship, marketing, coaching style leadership and aligned with ambition for excellence, global market penetration and worldy perspectives.
Entdecken Sie die umfassendste und aktuellste Sammlung von MCP-Servern auf dem Markt. Dieses Repository dient als zentraler Hub und bietet einen umfangreichen Katalog von Open-Source- und Proprietary MCP-Servern mit Funktionen, Dokumentationslinks und Mitwirkenden.
Ein einheitliches API-Gateway zur Integration mehrerer Ethercan-ähnlicher Blockchain-Explorer-APIs mit Modellkontextprotokoll (MCP) für AI-Assistenten.
Mirror ofhttps: //github.com/suhail-ak-s/mcp-typense-server
本项目是一个钉钉 MCP (Message Connector Protocol )服务 , 提供了与钉钉企业应用交互的 api 接口。项目基于 Go 语言开发 , 支持员工信息查询和消息发送等功能。
Reviews

user_kvwHkMpC
I've been using mcp-twitter-server by crazyrabbitLTC, and I must say it has exceeded my expectations. This server is robust, well-documented, and integrates seamlessly with Twitter. If you're looking for a reliable solution for managing Twitter content, I highly recommend checking it out: https://github.com/crazyrabbitLTC/mcp-twitter-server.