Skip to main content
Glama
crazyrabbitLTC

Twitter MCP Server

Twitter MCP 服务器

用于 Twitter API 集成的模型上下文协议服务器实现。

设置

  1. 克隆存储库

  2. 安装依赖项: npm install

  3. .env.example复制到.env并填写您的 Twitter API 凭据

  4. 构建项目: npm run build

  5. 启动服务器: npm start

Related MCP server: MCP-Twikit

环境变量

.env中所需的 Twitter API 凭据:

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

可用工具

推文操作

  • postTweet :发布新推文

    { "text": "Your tweet text here" }
  • postTweetWithMedia :发布带有媒体附件的推文

    { "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 :通过 ID 获取特定推文

    { "tweetId": "tweet_id", "tweetFields": ["created_at", "public_metrics"] }
  • replyToTweet :回复现有推文

    { "tweetId": "tweet_id", "text": "Your reply text" }
  • deleteTweet :删除推文

    { "tweetId": "tweet_id" }

搜索与分析

  • searchTweets :搜索推文

    { "query": "search query", "maxResults": 10, "tweetFields": ["created_at", "public_metrics"] }
  • getHashtagAnalytics :获取主题标签的分析数据

    { "hashtag": "hashtag", "startTime": "ISO-8601 date", "endTime": "ISO-8601 date" }

用户操作

  • getUserInfo :获取用户信息

    { "username": "twitter_username", "fields": ["description", "public_metrics"] }
  • getUserTimeline :获取用户的推文

    { "username": "twitter_username", "maxResults": 10, "tweetFields": ["created_at", "public_metrics"] }
  • getFollowers :获取用户的关注者

    { "username": "twitter_username", "maxResults": 100, "userFields": ["description", "public_metrics"] }
  • getFollowing :获取用户关注的帐户

    { "username": "twitter_username", "maxResults": 100, "userFields": ["description", "public_metrics"] }

订婚

  • likeTweet :喜欢一条推文

    { "tweetId": "tweet_id" }
  • unlikeTweet :与推文不同

    { "tweetId": "tweet_id" }
  • retweet :转发一条推文

    { "tweetId": "tweet_id" }
  • undoRetweet :撤消转发

    { "tweetId": "tweet_id" }
  • getRetweets :获取转发推文的用户

    { "tweetId": "tweet_id", "maxResults": 100, "userFields": ["description", "public_metrics"] }
  • getLikedTweets :获取用户喜欢的推文

    { "userId": "user_id", "maxResults": 100, "tweetFields": ["created_at", "public_metrics"] }

列表管理

  • createList :创建新列表

    { "name": "List name", "description": "List description", "isPrivate": false }
  • addUserToList :将用户添加到列表

    { "listId": "list_id", "username": "twitter_username" }
  • removeUserFromList :从列表中删除用户

    { "listId": "list_id", "username": "twitter_username" }
  • getListMembers :获取列表成员

    { "listId": "list_id", "maxResults": 100, "userFields": ["description", "public_metrics"] }

错误处理

所有工具都返回标准化的错误响应:

  • 缺少参数: Missing required parameter: parameter_name

  • API 错误:来自 Twitter API 的错误消息

  • 未找到错误:针对资源的适当“未找到”消息

响应格式

所有成功的响应都遵循以下格式:

{ "content": [ { "type": "text", "text": "Operation result message" } ] }

发展

  • 构建: npm run build

  • 开始: npm start

  • 观察模式: npm run dev

Here's a comprehensive status report of all Twitter tools: ## Working Tools (✓) 1. postTweet

状态:运行正常 响应:返回推文ID 最新测试:成功

2. getTweetById

状态:运行正常响应:返回完整的推文数据最新测试:成功

3. likeTweet & unlikeTweet

状态:运行正常响应:确认操作最新测试:成功

4. retweet & undoRetweet

状态:运行正常响应:确认操作最新测试:成功

5. replyToTweet

状态:运行正常 响应:返回回复推文ID 最新测试:成功

6. getUserInfo

状态:运行正常 响应:完成用户资料数据 最新测试:成功

7. followUser & unfollowUser

状态:运行正常响应:确认操作最新测试:成功

8. createList

状态:运行正常响应:确认列表创建最新测试:成功

9. getUserLists

状态:运行正常响应:返回拥有者和成员列表最新测试:成功

## Tools with Issues (⚠️) 1. getUserTimeline

状态:错误 400 错误:请求参数无效 需要修复:参数验证

2. searchTweets

状态:错误 400 错误:请求参数无效 需要修复:查询参数格式

3. getLikedTweets

状态:错误 400 错误:请求参数无效 需要修复:参数验证

## 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; }
  1. 错误处理:

// Enhance error handling for 400 errors interface TwitterErrorHandler { handle400Error(endpoint: string, params: any): void; logErrorDetails(error: any): void; suggestParameterFixes(params: any): string[]; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/crazyrabbitLTC/mcp-twitter-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server