Twitter MCP Server
通过模型上下文协议启用与 Twitter 的交互,允许大型语言模型发布推文、搜索推文和回复推文。
Tools
createList
Create a new Twitter list
postTweet
Post a tweet to Twitter
addUserToList
Add a user to a Twitter list
postTweetWithMedia
Post a tweet with media attachment to Twitter
likeTweet
Like a tweet by its ID
unlikeTweet
Unlike a previously liked tweet
getLikedTweets
Get a list of tweets liked by a user
searchTweets
Search for tweets using a query string
replyToTweet
Reply to a tweet
getUserTimeline
Get recent tweets from a user timeline
getTweetById
Get a tweet by its ID
getUserInfo
Get information about a Twitter user
getTweetsByIds
Get multiple tweets by their IDs
retweet
Retweet a tweet by its ID
undoRetweet
Undo a retweet by its ID
getRetweets
Get a list of retweets of a tweet
followUser
Follow a user by their username
unfollowUser
Unfollow a user by their username
getFollowers
Get followers of a user
getFollowing
Get a list of users that a user is following
removeUserFromList
Remove a user from a Twitter list
getListMembers
Get members of a Twitter list
getUserLists
Get lists owned by a user
getHashtagAnalytics
Get analytics for a specific hashtag
deleteTweet
Delete a tweet by its ID
README
Twitter MCP 服务器
一个用于 Twitter API 集成的模型上下文协议服务器实现。
设置
- 克隆仓库
- 安装依赖:
npm install
- 复制
.env.example
到.env
并填写你的 Twitter API 凭据 - 构建项目:
npm run build
- 启动服务器:
npm start
环境变量
.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": "你的推文内容" }
-
postTweetWithMedia
: 发布一条带有媒体附件的推文{ "text": "你的推文内容", "mediaPath": "媒体文件路径", "mediaType": "image/jpeg|image/png|image/gif|video/mp4", "altText": "可选的辅助功能替代文本" }
-
getTweetById
: 通过 ID 获取特定推文{ "tweetId": "推文ID", "tweetFields": ["created_at", "public_metrics"] }
-
replyToTweet
: 回复现有推文{ "tweetId": "推文ID", "text": "你的回复内容" }
-
deleteTweet
: 删除一条推文{ "tweetId": "推文ID" }
搜索 & 分析
-
searchTweets
: 搜索推文{ "query": "搜索查询", "maxResults": 10, "tweetFields": ["created_at", "public_metrics"] }
-
getHashtagAnalytics
: 获取话题标签的分析数据{ "hashtag": "话题标签", "startTime": "ISO-8601 日期", "endTime": "ISO-8601 日期" }
用户操作
-
getUserInfo
: 获取用户信息{ "username": "Twitter用户名", "fields": ["description", "public_metrics"] }
-
getUserTimeline
: 获取用户的时间线推文{ "username": "Twitter用户名", "maxResults": 10, "tweetFields": ["created_at", "public_metrics"] }
-
getFollowers
: 获取用户的关注者{ "username": "Twitter用户名", "maxResults": 100, "userFields": ["description", "public_metrics"] }
-
getFollowing
: 获取用户关注的帐户{ "username": "Twitter用户名", "maxResults": 100, "userFields": ["description", "public_metrics"] }
互动
-
likeTweet
: 喜欢一条推文{ "tweetId": "推文ID" }
-
unlikeTweet
: 取消喜欢一条推文{ "tweetId": "推文ID" }
-
retweet
: 转发一条推文{ "tweetId": "推文ID" }
-
undoRetweet
: 取消转发一条推文{ "tweetId": "推文ID" }
-
getRetweets
: 获取转发一条推文的用户{ "tweetId": "推文ID", "maxResults": 100, "userFields": ["description", "public_metrics"] }
-
getLikedTweets
: 获取用户喜欢的推文{ "userId": "用户ID", "maxResults": 100, "tweetFields": ["created_at", "public_metrics"] }
列表管理
-
createList
: 创建一个新列表{ "name": "列表名称", "description": "列表描述", "isPrivate": false }
-
addUserToList
: 将用户添加到列表{ "listId": "列表ID", "username": "Twitter用户名" }
-
removeUserFromList
: 从列表中删除用户{ "listId": "列表ID", "username": "Twitter用户名" }
-
getListMembers
: 获取列表的成员{ "listId": "列表ID", "maxResults": 100, "userFields": ["description", "public_metrics"] }
错误处理
所有工具都返回标准化的错误响应:
- 缺少参数:
Missing required parameter: parameter_name
(缺少必需的参数:参数名称) - API 错误:来自 Twitter API 的错误消息
- 未找到错误:针对资源的适当“未找到”消息
响应格式
所有成功的响应都遵循以下格式:
{
"content": [
{
"type": "text",
"text": "操作结果消息"
}
]
}
开发
- 构建:
npm run build
- 启动:
npm start
- 监听模式:
npm run dev
Twitter 工具状态报告
以下是所有 Twitter 工具的综合状态报告:
正常工作的工具 (✓)
- postTweet
状态:完美运行
响应:返回推文 ID
最新测试:成功
- getTweetById
状态:完美运行
响应:返回完整的推文数据
最新测试:成功
- likeTweet & unlikeTweet
状态:完美运行
响应:确认操作
最新测试:成功
- retweet & undoRetweet
状态:完美运行
响应:确认操作
最新测试:成功
- replyToTweet
状态:完美运行
响应:返回回复推文 ID
最新测试:成功
- getUserInfo
状态:完美运行
响应:完整的用户个人资料数据
最新测试:成功
- followUser & unfollowUser
状态:完美运行
响应:确认操作
最新测试:成功
- createList
状态:完美运行
响应:确认列表创建
最新测试:成功
- getUserLists
状态:完美运行
响应:返回拥有的和成员列表
最新测试:成功
存在问题的工具 (⚠️)
- getUserTimeline
状态:错误 400
错误:无效的请求参数
需要修复:参数验证
- searchTweets
状态:错误 400
错误:无效的请求参数
需要修复:查询参数格式
- getLikedTweets
状态:错误 400
错误:无效的请求参数
需要修复:参数验证
缺失的工具 (❌)
- getHomeTimeline (在可用工具中未找到)
- getFollowers (不可用)
- getFollowing (不可用)
- getHashtagAnalytics (不可用)
需要优先修复
- 参数验证:
// 为 getUserTimeline, searchTweets, getLikedTweets 实现
interface TwitterParamValidator {
validateTimelineParams(params: any): boolean;
validateSearchParams(params: any): boolean;
validateLikedTweetsParams(params: any): boolean;
}
- 错误处理:
// 增强 400 错误的错误处理
interface TwitterErrorHandler {
handle400Error(endpoint: string, params: any): void;
logErrorDetails(error: any): void;
suggestParameterFixes(params: any): string[];
}
推荐服务器

@wopal/mcp-server-hotnews
一个模型上下文协议服务器,提供来自中国主要社交平台和新闻网站的实时热点话题。
actors-mcp-server
使用 Apify 提供的 3000 多个预构建的云工具(称为 Actors),从网站、电子商务平台、社交媒体、搜索引擎、地图等提取数据。
mcp-maigret
Maigret 的 MCP 服务器,Maigret 是一款强大的开源情报 (OSINT) 工具,可从各种公共来源收集用户帐户信息。此服务器提供用于在社交网络上搜索用户名和分析 URL 的工具。

X(Twitter) MCP Server
一个 MCP 服务器,允许 Claude 直接通过聊天界面创建、管理和发布 X/Twitter 帖子。
NeoDB MCP Server
提供与社交图书编目服务 NeoDB 交互的功能,通过其 API 获取用户信息、搜索图书和检索详细图书信息。

social-media-mcp
一个用于管理社交媒体帖子的模型上下文协议 (MCP) 服务器,目前支持 X(前身为 Twitter)。

X MCP Server
用于 X (Twitter) 集成的服务器,提供阅读时间线和参与推文的工具。专为与 Claude 桌面应用程序配合使用而设计。
Nostr MCP Server
一个模型上下文协议(MCP)服务器,使人工智能模型能够与 Nostr 网络互动,从而促进笔记发布和与言论自由协议的交互。
Beyond MCP Server
一个可扩展的模型上下文协议服务器,为大型语言模型提供对社交平台数据(目前为 Farcaster)和链上数据的标准化访问。

BlueSky MCP Server
通过其官方 API 促进与 BlueSky 社交网络的互动,允许用户检索详细的用户资料和关注列表,并具有身份验证和错误处理功能。