X

X推文互动服务器

@DataWhisker/x-mcp-server
1 Stars 433 次浏览 DataWhisker 更新于 2026-08-23

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

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "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"
      }
    }
  }
}

该服务需要配置环境变量:TWITTER_ACCESS_SECRET、TWITTER_ACCESS_TOKEN、TWITTER_API_KEY、TWITTER_API_SECRET

可用工具 (3 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

get_home_timeline 1 个参数

Get the most recent tweets from your home timeline

该工具无需必填参数,直接调用即可

create_tweet 1 个参数 需填 1 项

Create a new tweet

必填参数:text

reply_to_tweet 2 个参数 需填 2 项

Reply to a tweet

必填参数:tweet_id、text

服务介绍

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

安装

  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. 配置应用设置:

    • 在您的应用仪表板中,点击“应用设置”
    • 在“用户身份验证设置”下:
      • 点击“设置”
      • 启用 OAuth 1.0a
      • 选择“Web 应用程序”或“本地应用程序”
      • 输入回调 URL(例如,https://example.com/callback)
      • 输入网站 URL(例如,https://example.com)
      • 点击“保存”
  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. 打开一个拉取请求

相关 MCP 服务