该项目是一个 Model Context Protocol (MCP) 服务器,旨在通过模拟浏览器操作(使用 Playwright)为大型语言模型 (LLM) 或 AI 客户端提供与 X/Twitter 平台交互的能力。它将复杂的社交媒体操作封装成标准化的工具供 AI 调用。

主要功能点

  • 内容发布与互动: 发布推文、长线推文(Thread),支持图片、视频等媒体;点赞、取消点赞、转推、取消转推、收藏、引用推文、回复推文或评论。
  • 数据抓取与分析: 抓取时间线(“为你推荐”和“正在关注”)、用户主页及最新推文、推文评论、搜索结果、热门话题。
  • AI Agent集成: 提供超过20个工具供 AI 调用,通过 MCP 标准协议进行通信。

安装步骤

该服务器需要 Node.js 18+ 环境。

  1. 获取项目:
    • 如果你只是想作为 MCP 服务器使用,最简单的方式是通过 'npx' 直接运行(不需要克隆代码库):'npx @barresider/x-mcp'
    • 如果需要本地开发或修改,请克隆代码库,安装依赖并构建:
      git clone https://github.com/Barresider/x-mcp.git
      cd x-mcp
      npm install
      npm run build
  2. 配置认证:
    • 设置环境变量 'TWITTER_USERNAME' 和 'TWITTER_PASSWORD'。推荐使用 '.env' 文件(在项目根目录创建,如果使用 'npx' 则在运行命令的目录或全局配置)。
    • 运行登录命令进行一次性认证,服务器会保存会话状态供后续使用:
      • 如果通过 'npx' 运行:'npx @barresider/x-mcp cli login'
      • 如果本地安装:'npm run cli login' 或 'node dist/cli.js login'
  3. 配置代理(可选): 设置环境变量 'PROXY_URL'。

服务器配置

MCP 服务器通常由 MCP 客户端(如 Claude Desktop)通过配置启动和管理。你需要将以下配置添加到你的 MCP 客户端配置文件中(例如 Claude Desktop 的 'claude_desktop_config.json')。

{
  "mcpServers": {
    "x-mcp": {
      // MCP服务器的启动命令,这里使用npx直接运行npm包
      "command": "npx",
      // 启动命令的参数
      "args": ["-y", "@barresider/x-mcp"],
      // MCP服务器运行所需的环境变量,这里是X/Twitter的账号信息
      "env": {
        "TWITTER_USERNAME": "你的X/Twitter用户名",
        "TWITTER_PASSWORD": "你的X/Twitter密码"
      },
      // 可选:指定MCP传输协议,默认是stdio
      // "transport": "stdio" // 或者 "sse", "http"
      // 可选:如果使用 http/sse 传输,可以指定端口
      // "port": 3000
      // 可选:设置代理
      // "env": {
      //   "TWITTER_USERNAME": "你的X/Twitter用户名",
      //   "TWITTER_PASSWORD": "你的X/Twitter密码",
      //   "PROXY_URL": "http://你的代理服务器:端口"
      // }
    }
  }
}

配置完成后,重启 MCP 客户端即可连接并使用该服务器提供的 X/Twitter 工具。

基本使用方法

在支持 MCP 工具调用的 LLM 客户端中,你可以直接通过自然语言请求服务器执行操作,例如:

  • “帮我发一条推文,内容是:你好世界!”
  • “搜索关于人工智能的最新推文。”
  • “抓取用户 @elonmusk 的主页信息和最新的5条推文。”
  • “给这条推文点赞:[推文链接]”

AI Agent 会根据你的请求,自动调用对应的 MCP 工具(如 'tweet', 'search_twitter', 'scrape_profile', 'like_post')。

信息

分类

网页与API