Twitter API 服务端

为Claude或其他MCP客户端提供搜索、发布、点赞、转推、关注、书签、管理列表、探索社区等Twitter API功能的服务器。

  • by realaman90
  • JavaScript
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 realaman90/x-mcp

使用说明

x-mcp

用于X/Twitter API的MCP服务器-使Claude(或任何MCP客户端)能够搜索、阅读、发布、点赞、转发、关注、书签、管理列表、探索社区等。

总共44个工具:17个只读(承载令牌)+27个写/高级读(OAuth 1.0a)。

为什么

  • 在不离开人工智能工作流程的情况下搜索和分析推文
  • 直接从克劳德那里发布、回复、引用推文和进行民意调查
  • 点赞、转发、关注、书签、屏蔽、静音——所有这些都可以通过您的终端完成
  • 管理X列表--创建、更新、添加/删除成员、固定/取消固定
  • 探索社区、热门话题和新闻
  • 上传图片并将其附加到推文中
  • 监控您的API使用情况
  • 适用于Claude Code、Claude Desktop、Codex或任何MCP客户端
  • OAuth凭据可选——仅使用Bearer令牌以只读方式运行

工具

始终可用(仅限承载令牌)--17个工具

工具 说明
推文
search_tweets 使用完整的查询运算符搜索最近的推文(过去7天)
get_user_profile 按用户名(个人简介、关注者等)获取用户资料
get_user_tweets 按用户ID获取用户最近的推文
get_tweet_replies 获取特定推文的回复
get_tweet 获取一条包含完整细节和指标的推文
用户
get_user_followers 获取用户的关注者
get_user_following 获取用户关注的对象
get_liking_users 获取喜欢推特的用户
趋势
get_trending_topics 按位置获取热门话题(WOEID)
社区
get_community 获取特定社区的详细信息
search_communities 按关键字搜索社区
新闻
get_news 按ID获取新闻文章/集群
用法
get_api_usage 获取API推特消费统计数据
列表
get_list 按ID获取列表详细信息
get_user_lists 获取用户拥有的列表
get_list_members 获取列表成员
get_user_list_memberships 获取用户所属的列表

需要OAuth 1.0a--27个工具(存在凭据时自动注册)

工具 说明
阅读
get_my_profile 获取您自己的个人资料
get_user_mentions 获取提及用户的推文
get_quote_tweets 获取推文的引用推文
get_bookmarks 获取您的书签推文
发布
upload_media 上传图片(来自URL)以在推文中使用
create_post 发布推文(文本、回复、引用、投票、媒体)
delete_post 删除您自己的推文
参与
like_post / unlike_post 喜欢或不喜欢推特
repost / unrepost 转发或撤消转发
follow_user / unfollow_user 关注或取消关注用户
bookmark_post / unbookmark_post 添加书签或删除书签
block_user / unblock_user 阻止或取消阻止用户
mute_user / unmute_user 将用户静音或取消静音
列表
create_list 创建新列表
update_list 更新列表名称/描述/隐私
delete_list 删除您拥有的列表
add_list_member 将用户添加到您的列表中
remove_list_member 从列表中删除用户
pin_list / unpin_list 固定或取消固定列表

快速开始

1.获取X个API证书

  1. 首选 developer.x.com → 开发者门户 → 项目和应用程序
  2. 创建一个 项目 和a 应用 在里面
  3. 首选 密钥和令牌:
    • 复制 承载令牌 (必填)
    • 复制 API密钥 和 API秘密 (用于写访问)
    • 生成并复制 访问令牌 和 访问令牌密钥 (用于写访问)

只读模式:只需要不记名代币。17个读取工具在没有OAuth的情况下工作。

2.添加到克劳德代码

增添 ~/.claude/settings.json:

{
  "mcpServers": {
    "x": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@realaman90/x-mcp"],
      "env": {
        "X_BEARER_TOKEN": "your-bearer-token",
        "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"
      }
    }
  }
}

或添加到 克劳德桌面: 设置 → 开发者 → 编辑配置 → 同一块。

省略 X_API_KEY/X_API_SECRET/X_ACCESS_TOKEN/X_ACCESS_TOKEN_SECRET 只读模式的行。

3.重启克劳德并测试

Search X for "AI agents" in English, no retweets
Post a tweet: "Hello from Claude!"

团队设置(与他人共享您的应用程序)

如果你想让团队成员使用你的X应用程序,但发布自 他们自己的账户:

应用程序所有者(一次性)

  1. 在 X开发者门户 → 你的应用→ 认证设置:
    • 应用程序权限: 读写
    • 应用程序类型: Web应用程序、自动应用程序或机器人
    • 回调URL: http://localhost:3456/callback
  2. 分享你的 API密钥, API秘密,以及 承载令牌 和他们一起

团队成员(一次性)

npx @realaman90/x-mcp --setup

或者,如果从源代码运行:

X_API_KEY=<app_api_key> X_API_SECRET=<app_api_secret> node setup.js

这将:

  1. 打开浏览器到X的授权页面
  2. 您使用登录 你的 X帐户并单击“授权”
  3. 打印您的个人信息 访问令牌 和 访问令牌密钥
  4. 将这些添加到您的Claude配置中——完成。代币永不过期。

使用示例

搜索推文

"AI video" lang:en -is:retweet           # English tweets about AI video
from:elonmusk has:media                   # Elon's tweets with media
#buildinpublic -is:reply                  # Hashtag, original tweets only

发布和参与

Post a tweet: "Shipping a new feature today 🚀"
Reply to tweet 1234567890 saying "Great thread!"
Like tweet 1234567890
Retweet the latest tweet from @username

列表

Create a private list called "AI Builders"
Add @username to my "AI Builders" list
Show me the members of list 123456

链条工具

  1. get_user_profile → 从用户名获取用户ID
  2. get_user_tweets → 获取他们最近的推文
  3. like_post → 就像一条特定的推文
  4. create_post → 回复它

环境变量

变量 必填 描述
X_BEARER_TOKEN 是 用于只读API访问的承载令牌
X_API_KEY 对于写入 OAuth 1.0a使用者密钥(API密钥)
X_API_SECRET 对于写入 OAuth 1.0a消费者机密(API机密)
X_ACCESS_TOKEN 用于写入 OAuth 1.0a访问令牌(每个用户)
X_ACCESS_TOKEN_SECRET 对于写入 OAuth 1.0a访问令牌密钥(每个用户)

需求

  • Node.js 18+ (对于本地人 fetch)
  • X API访问 — 拿过来

运作原理

单文件MCP服务器(约720行)。没有构建步骤,没有配置文件,没有额外的依赖关系。使用内置的Node.js crypto 用于OAuth签名。

Claude ↔ stdio ↔ x-mcp ↔ X API v2
                    ↑
          Bearer (read) + OAuth 1.0a (write)

贡献

欢迎投稿!请随时打开问题或提交PR。

  1. 分叉回购
  2. 创建您的分支(git checkout -b feature/my-feature)
  3. 提交您的更改
  4. 推送并打开拉取请求

作者

由...建造 @amanrawatamg

许可证

麻省理工学院