Twitter/X MCP服务器

一个无需API密钥的Twitter/X MCP服务器,通过持久化浏览器会话实现AI代理的读取、搜索和发布功能。

  • by Miles0sage
  • Python
  • 本地部署
  • 4 星标
  • 更新于
在 GitHub 查看 Miles0sage/twitter-mcp

使用说明

Twitter/X MCP服务器

从任何人工智能代理那里阅读、搜索和发布推特/X。 不需要API密钥--使用持久的浏览器会话。


为什么存在

Twitter的API每月收费100美元以上,而且价格限制一切。此MCP服务器使用 Playwright浏览器自动化 取而代之的是持久的Chrome配置文件——零API费用,无费率限制。您的AI代理通过模型上下文协议获得完整的Twitter访问权限。

适用于Claude Code、Cursor、Windsurf或任何兼容MCP的客户端。


工具

类别 工具 描述 需要授权
阅读 twitter_search 按关键字或标签搜索推文 否
twitter_feed 阅读您的家庭时间表 是
twitter_bookmarks 阅读您保存的书签 是
twitter_user 获取用户的个人资料信息 否
twitter_user_tweets 获取特定用户的推文 否
twitter_trending 获取热门话题 否
twitter_notifications 阅读您的通知 是
写 twitter_post 发布新推文 是
twitter_reply 回复推特 是
twitter_like 喜欢推特 是
twitter_retweet 转发推特 是

不需要API密钥。 只读工具无需身份验证即可工作。编写工具需要一次性登录浏览器(Cookie会自动保存)。


快速开始

git clone https://github.com/Miles0sage/twitter-mcp.git
cd twitter-mcp
pip install -r requirements.txt
playwright install chromium

添加到MCP配置(~/.mcp.json 或客户端设置):

{
  "mcpServers": {
    "twitter": {
      "command": "python3",
      "args": ["server.py"],
      "cwd": "/path/to/twitter-mcp"
    }
  }
}

认证

此服务器使用 持久Chrome配置文件 存储于 ~/.twitter-mcp/chrome-profile/登录一次,您的会话将在重新启动后继续。

首次设置

# Opens a real browser -- log in to Twitter/X manually
python3 -c "from browser_session import login; login()"

登录后,Cookie会保存到Chrome个人资料中。所有未来的MCP调用都会自动重用会话。

无头vs无头

推特屏蔽了无头浏览器。服务器运行Chromium DISPLAY=:99 (Xvfb)默认用于服务器环境。在桌面上,它使用您的正常显示。

# Server/VPS setup
export DISPLAY=:99
Xvfb :99 -screen 0 1920x1080x24 &

保持连接

keepalive脚本通过定期加载Twitter来防止会话过期:

# Add to crontab (every 30 min)
*/30 * * * * DISPLAY=:99 python3 /path/to/twitter-mcp/twitter_keepalive.py

用法示例

"Search Twitter for AI agent news"
  -> Latest tweets matching query, with engagement stats

"Read my feed"
  -> Your home timeline, newest first

"Show my bookmarks"
  -> Your saved/bookmarked tweets

"Post: Just shipped a new MCP server!"
  -> Tweet posted, returns URL

"What's trending?"
  -> Top trending topics with tweet counts

"Get @elonmusk's recent tweets"
  -> Latest tweets from the user

建筑

LLM / MCP Client
       |
  MCP Protocol (stdio)
       |
  server.py ── registers 11 tools
       |
  +----+----+--------+
  |         |        |
tools_   tools_   tools_
read.py  feed.py  write.py
  |         |        |
  +----+----+--------+
       |
  browser_session.py
  (persistent Chromium via Playwright)
       |
  ~/.twitter-mcp/chrome-profile/
  (cookies + session state)

项目结构

server.py               # MCP server, tool registration
tools_read.py           # Search, user profile, user tweets, trending
tools_feed.py           # Feed, bookmarks, notifications
tools_write.py          # Post, reply, like, retweet
browser_session.py      # Playwright session management, persistent Chrome profile
twitter_keepalive.py    # Session keepalive cron script
api_server.py           # Optional REST API wrapper

比较

功能 Twitter MCP Twitter API(基本) Twitter API(专业) Apify Scrapers
成本 自由 100美元/月 5000美元/月 每次运行费用
Auth 浏览器登录 OAuth+API密钥 OAuth+API密钥 API密钥
发布推文 是 是 否
阅读订阅源 是 有限 是 是
书签 是 否 是 不
搜索 是 有限 是 是
速率限制 浏览器级别 严格 严格 按计划
MCP本机 是 否 否 不
设置时间 2分钟 30+分钟 应用程序 10分钟

许可证

麻省理工学院