X

X推文互动服务器

用于X(Twitter)集成的服务器,提供阅读时间线和与推文互动的工具。专为与克劳德桌面端配合使用而设计。

social-media

424 查看 · 2026-07-07 更新

简介

用于X(Twitter)集成的服务器,提供阅读时间线和与推文互动的工具。专为与克劳德桌面端配合使用而设计。

简介

用于X(Twitter)集成的服务器,提供阅读时间线和与推文互动的工具。专为与克劳德桌面端配合使用而设计。

X MCP 服务器

一个用于 X(Twitter)集成的模型上下文协议(MCP)服务器,提供工具来阅读您的时间线并与推文互动。专为与 Claude 桌面应用配合使用而设计。

X 服务器 MCP 服务器

功能

  • 获取您主页时间线上的推文
  • 创建新的推文
  • 回复推文
  • 针对免费 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

安装

  1. 克隆仓库:
git clone [your-repo-url] cd x-mcp-server
  1. 安装依赖项:
npm install
  1. 构建服务器:
npm run build

配置

您需要设置您的 X(Twitter)API 凭证。请遵循以下详细步骤:

  1. 前往 Twitter 开发者门户

    • 使用您的 X (Twitter) 账户登录
    • 如果您没有开发者账户,系统会提示您创建一个
  2. 访问免费层级:

  3. 创建新项目:

    • 点击“创建项目”按钮
    • 输入项目名称(例如,“MCP 集成”)
    • 选择“免费”作为您的设置
    • 选择您的使用案例
    • 点击“下一步”
  4. 在您的项目中创建一个新的应用程序:

    • 点击“创建应用”
    • 输入应用名称
    • 点击“完成设置”
  5. 配置应用设置:

    • 在您的应用仪表板中,点击“应用设置”
    • 在“用户身份验证设置”下:
  6. 设置应用权限:

    • 在应用设置中,找到“应用权限”
    • 更改为“读取和写入”
    • 点击“保存”
  7. 生成 API 密钥和令牌:

    • 转到“密钥和令牌”选项卡
    • 在“消费者密钥”下:
      • 点击“查看密钥”或“重新生成”
      • 保存您的 API 密钥和 API 密钥秘密
    • 在“访问令牌和秘密”下:
      • 点击“生成”
      • 确保选择具有“读取和写入”权限的令牌
      • 保存您的访问令牌和访问令牌秘密

重要提示:

  • 请确保您的密钥和令牌安全,切勿公开分享
  • 您需要以下四个值:
    • API 密钥(也称为消费者密钥)
    • API 密钥秘密(也称为消费者秘密)
    • 访问令牌
    • 访问令牌秘密
  • 请记住免费层级的限制:
    • 每月每个用户最多发布 500 条帖子
    • 每月每个应用最多发布 500 条帖子
    • 每月最多读取 100 次

Claude 桌面配置

要将 X MCP 服务器与 Claude 桌面连接,您需要在 Claude 设置中进行配置。请按照以下步骤操作:

  1. 打开文件资源管理器

  2. 导航到 Claude 配置目录:

    • 按 Win + R
    • 输入 %APPDATA%/Claude 并按 Enter 键
    • 如果 Claude 文件夹不存在,请创建它
  3. 创建或编辑 claude_desktop_config.json

    • 如果文件不存在,请创建一个名为 claude_desktop_config.json 的新文件
    • 如果文件已存在,请使用文本编辑器(如记事本)打开它
  4. 添加以下配置,将占位符值替换为上一节中的实际 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" } } } }
  1. 保存文件并重启 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 (必需): 要回复的推文ID
  • text (必需): 回复的文本内容(最多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: 以监视模式运行 TypeScript
  • npm start: 启动 MCP 服务器

速率限制

服务器包括X免费层级的内置速率限制处理:

  • 每月限制:
    • 用户级别每月500篇帖子
    • 应用级别每月500篇帖子
    • 每月100次读取
  • 功能:
    • 跟踪每月使用情况
    • 提供针对速率限制错误的指数退避
    • 达到限制时提供清晰的错误信息
    • 速率限制窗口到期后自动重试

许可证

MIT

贡献

  1. 叉分仓库
  2. 创建你的功能分支 (git checkout -b feature/amazing-feature)
  3. 提交你的更改 (git commit -m 'Add some amazing feature')
  4. 将更改推送到分支 (git push origin feature/amazing-feature)
  5. 打开一个拉取请求

工具列表

  • 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'}}}}]

来源