Twitter API 自动化服务器

一个用于与X (Twitter) API v2交互的模型上下文协议(MCP)服务器,使AI助手如ChatGPT、Claude等能够自动化执行Twitter/X操作。

  • by Lnxtanx
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Lnxtanx/x-mcp-server

使用说明

X MCP服务器🐦

一个强大的 模型上下文协议(MCP)服务器 用于与 X(Twitter)API v2该服务器支持以下AI助手 ChatGPT, 克劳德,以及其他兼容MCP的客户端,以自动化Twitter/X操作。

注: 此服务器仅限于中可用的终结点 免费版 API的X。

📋 目录


✨ 特性

  • 54+自动化工具 X/推特
  • 发布、删除、搜索推文和与推文交互
  • 用户管理(跟随、静音、阻止)
  • 列表、书签和空格支持
  • 媒体上传(图片/视频)
  • 详细的费率限制处理
  • 轻松与AI助手集成

🔑 正在获取X API凭据

若要使用此MCP服务器,您需要X API凭据。请按照以下步骤操作:

步骤1:创建开发人员帐户

  1. 首选 developer.x.com
  2. 使用您的X(推特)帐户登录
  3. 点击 “注册免费帐户” (如有需要,可申请高架通道)
  4. 完成开发者协议和验证

步骤2:创建项目和应用程序

  1. 导航至 开发者门户 → 项目和应用程序
  2. 点击 “+添加项目”
  3. 命名您的项目(例如,“MCP自动化”)
  4. 选择用例:“探索API”或“制作机器人程序”
  5. 点击 “+添加应用程序” 在您的项目中
  6. 命名您的应用程序(例如,“X-MCP-Server”)

步骤3:生成API密钥

  1. 在您的应用程序设置中,转到 “密钥和令牌”
  2. 在...之下 消费者密钥,单击 “重新生成” 得到:
    • API_KEY (API密钥/消费者密钥)
    • API_SECRET (API机密/消费者机密)
  3. 在...之下 认证令牌,生成:
    • ACCESS_TOKEN (访问令牌)
    • ACCESS_TOKEN_SECRET (访问令牌密钥)
  4. 在...之下 持有者令牌,生成:
    • BEARER_TOKEN

步骤4:启用应用程序权限

  1. 首选 用户身份验证设置
  2. 启用 OAuth 1.0a
  3. 将应用程序权限设置为 “读与写”
  4. 添加回调URL(例如。, http://localhost:3000/callback)
  5. 保存更改

⚠️ 重要提示: 确保您的凭据安全!永远不要将它们提交给版本控制。


💻 安装

先决条件

使用紫外线进行安装(推荐)

# Clone the repository
git clone https://github.com/Lnxtanx/x-mcp-server.git
cd x-mcp-server

# Install dependencies
uv sync

使用pip安装

# Clone the repository
git clone https://github.com/Lnxtanx/x-mcp-server.git
cd x-mcp-server

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install fastmcp tweepy python-dotenv

⚙️ 配置

步骤1:创建环境文件

复制模板并添加您的凭据:

cp .env.template .env

步骤2:添加您的凭据

编辑 .env 使用您的X API证书:

API_KEY=your_api_key_here
API_SECRET=your_api_secret_here
ACCESS_TOKEN=your_access_token_here
ACCESS_TOKEN_SECRET=your_access_token_secret_here
BEARER_TOKEN=your_bearer_token_here

🤖 连接到AI客户端

克劳德桌面版

将此配置添加到您的 claude_desktop_config.json:

窗户: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "x-api": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "C:/path/to/x-mcp-server",
        "fastmcp",
        "run",
        "main.py"
      ]
    }
  }
}

替换 C:/path/to/x-mcp-server 使用您的实际安装路径。

添加后,重新启动Claude Desktop。您将在Claude中看到X API工具。


ChatGPT/OpenAI

ChatGPT本身不支持MCP,但您可以通过以下方式连接:

选项1:MCP网桥/代理

使用MCP-to-REST桥将工具公开为API端点:

# Run MCP server with HTTP transport
uv run fastmcp dev main.py --transport http --port 8000

然后配置ChatGPT,通过自定义GPT操作或函数调用调用您的端点。

选项2:LangChain集成

from langchain_openai import ChatOpenAI
from langchain_mcp import MCPClient

# Connect to local MCP server
mcp_client = MCPClient("http://localhost:8000")
tools = mcp_client.get_tools()

# Use with ChatGPT
llm = ChatOpenAI(model="gpt-4")
llm_with_tools = llm.bind_tools(tools)

其他MCP客户端

在本地运行服务器

# Development mode (with inspector)
uv run fastmcp dev main.py

# Production mode
uv run fastmcp run main.py

SSE传输(适用于web客户端)

uv run fastmcp run main.py --transport sse --port 8080

Stdio传输(适用于CLI客户端)

uv run fastmcp run main.py --transport stdio

🛠️ 可用工具(共54个)

推特

工具 描述 速率限制
create_tweet 发布新推文 17/24小时
delete_tweet 删除推文 17/24小时
get_tweet 按ID获取推文 1/15分钟
get_tweets 获取多条推文 1/15分钟
search_recent_tweets 搜索推文(7天) 1/15分钟
get_user_tweets 获取用户的时间线 1/15分钟
get_user_mentions 获得提及 1/15分钟
get_home_timeline 获取家庭反馈 1/15分钟

参与

工具 描述 速率限制
like_tweet / unlike_tweet 喜欢/不喜欢 1/15分钟
retweet / unretweet 转发/撤消 1/15分钟
bookmark_tweet / remove_bookmark 书签 1/15分钟

用户

工具 描述 速率限制
get_me 获取经过身份验证的用户 25/24h
get_user_by_username 按句柄查找 3/15分钟
follow_user / unfollow_user 跟随/取消跟随 1/15分钟
mute_user / unmute_user 静音/取消静音 1/15分钟

列表和媒体

工具 说明
create_list / delete_list / update_list 管理列表
add_list_member / remove_list_member 列出成员
upload_media 上传图片/视频

⏱️ 费率限制(免费等级)

操作 限制
创建/删除推文 17个请求/24小时
获取经过身份验证的用户 25个请求/24小时
按用户名查找 3个请求/15分钟
大多数其他终点 1个请求/15分钟

❌ 免费套餐不可用

  • 直接消息
  • WOEID的趋势
  • 用户搜索
  • 完整存档搜索
  • 过滤流

📝 免费等级的提示

  1. 缓存响应 –有1个请求/15分钟的限制,缓存所有内容
  2. 批量请求 –尽可能使用多ID端点
  3. 使用用户名查找 –有3个要求/15分钟(比大多数都好)
  4. 谨慎发布 -每天只允许17条推文

📄 许可证

该项目根据 VivekMind许可证.

由...创建 Lnxtanx


🤝 贡献

欢迎投稿!请随时提交拉取请求。


📞 支持