用于X(Twitter)集成的服务器,提供阅读时间线和与推文互动的工具。专为与克劳德桌面端配合使用而设计。
424 查看 · 2026-07-07 更新
简介
用于X(Twitter)集成的服务器,提供阅读时间线和与推文互动的工具。专为与克劳德桌面端配合使用而设计。
简介
用于X(Twitter)集成的服务器,提供阅读时间线和与推文互动的工具。专为与克劳德桌面端配合使用而设计。
X MCP 服务器
一个用于 X(Twitter)集成的模型上下文协议(MCP)服务器,提供工具来阅读您的时间线并与推文互动。专为与 Claude 桌面应用配合使用而设计。
功能
- 获取您主页时间线上的推文
- 创建新的推文
- 回复推文
- 针对免费 API 层内置的速率限制处理
- 使用 TypeScript 实现,具有完整的类型安全
前提条件
- Node.js (v16 或更高版本)
- X(Twitter)开发者账户(免费)
- Claude 桌面应用程序
X API 访问
X(Twitter)为基本 API 访问提供了免费层:
免费层功能
- 发布限制:
- 用户级别每月 500 条发布
- 应用级别每月 500 条发布
- 读取限制:
- 每月 100 次读取
- 功能:
- 访问 v2 发布端点
- 媒体上传端点
- 访问广告 API
- 限于 1 个应用 ID
- 使用 X 登录功能
- 速率限制:
- 对所有端点进行速率限制访问
- 限制定期重置
注意:对于更高容量的需求,可以使用付费层级:
- 基础层级(每月 100 美元):每月 50,000 条推文,额外端点
- 专业层级(每月 5000 美元):更高的限制和企业级功能
您可以在此处访问免费层级:https://developer.x.com/en/portal/products/free
安装
- 克隆仓库:
git clone [your-repo-url] cd x-mcp-server
- 安装依赖项:
npm install
- 构建服务器:
npm run build
配置
您需要设置您的 X(Twitter)API 凭证。请遵循以下详细步骤:
-
- 使用您的 X (Twitter) 账户登录
- 如果您没有开发者账户,系统会提示您创建一个
-
访问免费层级:
- 访问 https://developer.x.com/en/portal/products/free
- 点击“订阅”以选择免费访问层级
- 完成注册流程
-
创建新项目:
- 点击“创建项目”按钮
- 输入项目名称(例如,“MCP 集成”)
- 选择“免费”作为您的设置
- 选择您的使用案例
- 点击“下一步”
-
在您的项目中创建一个新的应用程序:
- 点击“创建应用”
- 输入应用名称
- 点击“完成设置”
-
配置应用设置:
- 在您的应用仪表板中,点击“应用设置”
- 在“用户身份验证设置”下:
- 点击“设置”
- 启用 OAuth 1.0a
- 选择“Web 应用程序”或“本地应用程序”
- 输入回调 URL(例如,https://example.com/callback)
- 输入网站 URL(例如,https://example.com)
- 点击“保存”
-
设置应用权限:
- 在应用设置中,找到“应用权限”
- 更改为“读取和写入”
- 点击“保存”
-
生成 API 密钥和令牌:
- 转到“密钥和令牌”选项卡
- 在“消费者密钥”下:
- 点击“查看密钥”或“重新生成”
- 保存您的 API 密钥和 API 密钥秘密
- 在“访问令牌和秘密”下:
- 点击“生成”
- 确保选择具有“读取和写入”权限的令牌
- 保存您的访问令牌和访问令牌秘密
重要提示:
- 请确保您的密钥和令牌安全,切勿公开分享
- 您需要以下四个值:
- API 密钥(也称为消费者密钥)
- API 密钥秘密(也称为消费者秘密)
- 访问令牌
- 访问令牌秘密
- 请记住免费层级的限制:
- 每月每个用户最多发布 500 条帖子
- 每月每个应用最多发布 500 条帖子
- 每月最多读取 100 次
Claude 桌面配置
要将 X MCP 服务器与 Claude 桌面连接,您需要在 Claude 设置中进行配置。请按照以下步骤操作:
-
打开文件资源管理器
-
导航到 Claude 配置目录:
- 按 Win + R
- 输入
%APPDATA%/Claude并按 Enter 键 - 如果 Claude 文件夹不存在,请创建它
-
创建或编辑
claude_desktop_config.json:- 如果文件不存在,请创建一个名为
claude_desktop_config.json的新文件 - 如果文件已存在,请使用文本编辑器(如记事本)打开它
- 如果文件不存在,请创建一个名为
-
添加以下配置,将占位符值替换为上一节中的实际 API 凭证:
{ "mcpServers": { "x": { "command": "node", "args": ["%USERPROFILE%/Projects/MCP Basket/x-server/build/index.js"], "env": { "TWITTER_API_KEY": "paste-your-api-key-here", "TWITTER_API_SECRET": "paste-your-api-key-secret-here", "TWITTER_ACCESS_TOKEN": "paste-your-access-token-here", "TWITTER_ACCESS_SECRET": "paste-your-access-token-secret-here" } } } }
- 保存文件并重启 Claude 桌面
注意:
- 将所有四个凭证值替换为您实际的 API 密钥和令牌
- 保持每个值周围的引号 ("")
- 保持上述所示的确切间距和格式
- 保存文件时使用
.json扩展名
可用工具
get_home_timeline
获取您的主页时间线上的最新推文。
参数:
limit(可选): 要检索的推文数量(默认:20,最大:100)
示例:
await use_mcp_tool({ server_name: "x", tool_name: "get_home_timeline", arguments: { limit: 5 } });
create_tweet
创建一条新的推文。
参数:
text(必需): 推文的文本内容(最多280个字符)
示例:
await use_mcp_tool({ server_name: "x", tool_name: "create_tweet", arguments: { text: "Hello from MCP! 🤖" } });
reply_to_tweet
回复一条推文。
参数:
tweet_id(必需): 要回复的推文IDtext(必需): 回复的文本内容(最多280个字符)
示例:
await use_mcp_tool({ server_name: "x", tool_name: "reply_to_tweet", arguments: { tweet_id: "1234567890", text: "Great tweet! 👍" } });
开发
npm run build: 构建 TypeScript 代码npm run dev: 以监视模式运行 TypeScriptnpm start: 启动 MCP 服务器
速率限制
服务器包括X免费层级的内置速率限制处理:
- 每月限制:
- 用户级别每月500篇帖子
- 应用级别每月500篇帖子
- 每月100次读取
- 功能:
- 跟踪每月使用情况
- 提供针对速率限制错误的指数退避
- 达到限制时提供清晰的错误信息
- 速率限制窗口到期后自动重试
许可证
MIT
贡献
- 叉分仓库
- 创建你的功能分支 (
git checkout -b feature/amazing-feature) - 提交你的更改 (
git commit -m 'Add some amazing feature') - 将更改推送到分支 (
git push origin feature/amazing-feature) - 打开一个拉取请求
工具列表
-
get_home_timeline: Get the most recent tweets from your home timeline
-
create_tweet: Create a new tweet
-
reply_to_tweet: Reply to a tweet
服务配置
[{'mcpServers': {'x': {'args': ['%USERPROFILE%/Projects/MCP Basket/x-server/build/index.js'], 'command': 'node', 'env': {'TWITTER_ACCESS_SECRET': 'paste-your-access-token-secret-here', 'TWITTER_ACCESS_TOKEN': 'paste-your-access-token-here', 'TWITTER_API_KEY': 'paste-your-api-key-here', 'TWITTER_API_SECRET': 'paste-your-api-key-secret-here'}}}}]
来源
- 来源:github
- 链接:https://github.com/DataWhisker/x-mcp-server