x-mcp
一种MCP(模型上下文协议)服务器,为AI代理提供对X(Twitter)API的完全访问。发布推文、搜索、阅读时间线、点赞、转发、上传媒体——所有这些都是通过自然语言完成的。
适用于 克劳德代码, 克劳德桌面版, OpenAI Codex, 光标, 帆板运动, 克莱恩,以及任何其他MCP兼容客户端。
如果您是帮助用户设置此项目的LLM/AI代理,请阅读 LLMs.md 有关分步说明,您可以引导用户完成。
______________________________________________________________________
它能做什么?
| 类别 | 工具 | 你能说什么 | 状态 |
|---|---|---|---|
| 发布 | post_tweet, quote_tweet, delete_tweet | “在X上发布‘hello world’” | 好的 |
| 阅读 | get_tweet, search_tweets, get_timeline, get_mentions | “显示@elonmusk的最新帖子” | 好 |
| 用户 | get_user, get_followers, get_following | “查找@openai”/“此用户关注谁?” | 确定 |
| 参与 | retweet | “转发这个” | 好的 |
| 媒体 | upload_media | “上传此图像并附上标题…” | 确定 |
| 分析 | get_metrics | “我上一篇文章有多少印象?” | 好的 |
| 书签 | get_bookmarks, bookmark_tweet, unbookmark_tweet | “显示我的书签” | 需要基本+层 |
| 回复 | reply_to_tweet | “回复此推文表示感谢” | 受限(见下文) |
| 喜欢 | like_tweet | “喜欢那条推文” | 在免费版上删除(见下文) |
可互换地接受推特URL或ID——粘贴 https://x.com/user/status/123 或者只是 123.
______________________________________________________________________
设置
1.克隆和构建
git clone https://github.com/INFATOSHI/x-mcp.git
cd x-mcp
npm install
npm run build2.获取您的X API证书
你需要5个证书 X开发者门户。获取它们的具体方法如下:
a) 创建应用程序
- 去 X开发者门户
- 使用您的X帐户登录
- 首选 应用 在左侧边栏中
- 点击 创建应用程序 (您可能需要先注册一个开发人员帐户)
- 给它起个名字(例如。,
my-x-mcp) - 您将立即看到您的 消费者密钥 (API密钥), 密钥 (API机密),以及 承载令牌
- 立即保存所有三个 --这个秘密不会再公开了
b) 启用写入权限
默认情况下,新应用程序只有读取权限。你需要阅读和写作来发布推文、点赞、转发等。
- 在应用程序的页面中,向下滚动到 用户身份验证设置
- 点击 设置
- 集 应用程序权限 到 读写
- 集 应用程序类型 到 Web应用程序、自动应用程序或机器人
- 集 回调URI/重定向URL 到
https://localhost(必填,但不会使用) - 集 网站地址 指向任何有效的URL(例如。,
https://x.com) - 点击 保存
c) 生成访问令牌(具有写入权限)
启用写入权限后,您需要生成(或重新生成)您的访问令牌和密钥,以便它们携带新的权限:
- 返回您的应用程序 密钥和令牌 页
- 在...之下 访问令牌和密码,单击 再生
- 保存这两个 访问令牌 和 访问令牌密钥
如果在生成令牌之前跳过步骤(b),您的令牌将是只读的,发布将失败,并出现403错误。
3.配置凭据
复制示例env文件并填写您的5个凭据:
cp .env.example .env编辑 .env:
X_API_KEY=your_consumer_key
X_API_SECRET=your_secret_key
X_BEARER_TOKEN=your_bearer_token
X_ACCESS_TOKEN=your_access_token
X_ACCESS_TOKEN_SECRET=your_access_token_secret______________________________________________________________________
连接到您的客户
在下面选择您的客户。你只需要遵循一个部分。
克劳德代码
claude mcp add --scope user x-twitter -- node /ABSOLUTE/PATH/TO/x-mcp/dist/index.js替换 /ABSOLUTE/PATH/TO/x-mcp 使用克隆仓库的实际路径。然后重新启动Claude Code。
克劳德桌面版
添加到您的 claude_desktop_config.json:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"x-twitter": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/x-mcp/dist/index.js"],
"env": {
"X_API_KEY": "your_consumer_key",
"X_API_SECRET": "your_secret_key",
"X_ACCESS_TOKEN": "your_access_token",
"X_ACCESS_TOKEN_SECRET": "your_access_token_secret",
"X_BEARER_TOKEN": "your_bearer_token"
}
}
}
}光标
添加到光标MCP配置中:
- 全球 (所有项目):
~/.cursor/mcp.json - 项目范围:
.cursor/mcp.json在项目根目录中
{
"mcpServers": {
"x-twitter": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/x-mcp/dist/index.js"],
"env": {
"X_API_KEY": "your_consumer_key",
"X_API_SECRET": "your_secret_key",
"X_ACCESS_TOKEN": "your_access_token",
"X_ACCESS_TOKEN_SECRET": "your_access_token_secret",
"X_BEARER_TOKEN": "your_bearer_token"
}
}
}
}您还可以在光标设置>MCP服务器中验证连接。
OpenAI Codex
选项A:CLI
codex mcp add x-twitter --env X_API_KEY=your_consumer_key --env X_API_SECRET=your_secret_key --env X_ACCESS_TOKEN=your_access_token --env X_ACCESS_TOKEN_SECRET=your_access_token_secret --env X_BEARER_TOKEN=your_bearer_token -- node /ABSOLUTE/PATH/TO/x-mcp/dist/index.js选项B:config.toml
添加 ~/.codex/config.toml (全球)或 .codex/config.toml (项目范围):
[mcp_servers.x-twitter]
command = "node"
args = ["/ABSOLUTE/PATH/TO/x-mcp/dist/index.js"]
[mcp_servers.x-twitter.env]
X_API_KEY = "your_consumer_key"
X_API_SECRET = "your_secret_key"
X_ACCESS_TOKEN = "your_access_token"
X_ACCESS_TOKEN_SECRET = "your_access_token_secret"
X_BEARER_TOKEN = "your_bearer_token"帆板运动
添加 ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"x-twitter": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/x-mcp/dist/index.js"],
"env": {
"X_API_KEY": "your_consumer_key",
"X_API_SECRET": "your_secret_key",
"X_ACCESS_TOKEN": "your_access_token",
"X_ACCESS_TOKEN_SECRET": "your_access_token_secret",
"X_BEARER_TOKEN": "your_bearer_token"
}
}
}
}您还可以从Windsurf设置>级联>MCP服务器添加它。
Cline(VS代码)
打开Cline的MCP设置(单击Cline顶部导航>配置中的MCP服务器图标),然后添加到 cline_mcp_settings.json:
{
"mcpServers": {
"x-twitter": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/x-mcp/dist/index.js"],
"env": {
"X_API_KEY": "your_consumer_key",
"X_API_SECRET": "your_secret_key",
"X_ACCESS_TOKEN": "your_access_token",
"X_ACCESS_TOKEN_SECRET": "your_access_token_secret",
"X_BEARER_TOKEN": "your_bearer_token"
},
"alwaysAllow": [],
"disabled": false
}
}
}其他MCP客户端
这是一个标准的stdio MCP服务器。对于任何兼容MCP的客户端,请将其指向:
node /ABSOLUTE/PATH/TO/x-mcp/dist/index.js使用这些环境变量: X_API_KEY, X_API_SECRET, X_ACCESS_TOKEN, X_ACCESS_TOKEN_SECRET, X_BEARER_TOKEN.
______________________________________________________________________
API限制(截至2025-2026年)
X逐渐限制了自动化/API客户端的功能。以下是影响X-mcp的因素:
从免费等级中删除的赞数(2025年8月)
这 like_tweet 端点(POST /2/users/:id/likes)于2025年8月从API免费等级中删除。如果你在免费层, like_tweet 将返回权限错误。付费级别(基本、专业、企业)不受影响。
程序化回复受限(2026年2月)
通过API的回复现在只有在原始帖子的作者@提到你或引用你的帖子时才成功。这适用于 所有自助服务层 (免费、基本、专业、按次付费)。只有企业可以豁免。使用 quote_tweet 作为一种变通方法。
书签需要基本+级别
书签端点从未在免费层上可用。您至少需要基本(200美元/月)才能使用 get_bookmarks, bookmark_tweet,以及 unbookmark_tweet.
发布音量上限
免费等级:500帖子/月。基本:10000元/月。优点:1000000/月。
______________________________________________________________________
故障排除
403发布时出现“oauth1权限”错误
您的访问令牌是在启用写入权限之前生成的。转到X开发人员门户,确保应用程序权限设置为“读写”,然后 再生 您的访问令牌和密码。
401未经授权
仔细检查您的所有5个凭据 .env 正确,没有多余的空格或换行符。
429价格有限
错误消息包括速率限制重置的确切时间。等到那时,或者降低请求频率。
回复失败,出现权限/限制错误
截至2026年2月,X在所有自助服务层上限制通过API的程序回复。只有当原作者@提到你或引用你的帖子时,你才能回复。这适用于免费、基本、专业和按使用付费级别(企业除外)。使用 quote_tweet 作为一种变通方法。
服务器显示“已连接”,但未使用工具
确保您添加了具有正确作用域的服务器(用户/全局,如果您希望它无处不在,则不是项目作用域),然后重新启动客户端。
______________________________________________________________________
速率限制
每个响应都包含速率限制信息:剩余请求、总限制和重置时间。当达到限制时,您会得到一个带有精确重置时间戳的明显错误。
分页
列表端点返回 next_token 在回应中。将其传回以获取下一页结果。工作内容: search_tweets, get_timeline, get_mentions, get_followers, get_following.
搜索查询语法
这 search_tweets 该工具支持X的完整查询语言:
from:username--特定用户发布的帖子to:username--回复特定用户#hashtag--包含标签的帖子"exact phrase"--精确文本匹配has:media/has:links/has:images--按内容类型筛选is:reply/-is:retweet--按帖子类型筛选lang:en--按语言筛选- 与空格(AND)或
OR
______________________________________________________________________
许可证
麻省理工学院
