关于 X Mcp
X Mcp 是面向 Claude code 和 Gemini CLI 的 X/Twitter MCP 服务,用于管理和发布帖子。它涵盖草稿、回复、媒体、检索及定时发布,并支持 OAuth 1.0a 与 OAuth 2.0。
主要功能
- 01创建和管理帖子草稿
- 02发布、回复、转发与引用
- 03定时及周期性发布
- 04上传媒体并设置替代文本
- 05检索和批量获取推文
- 06支持 OAuth 1.0a 与 OAuth 2.0
适用场景
- 01准备并发布推文或帖子串
- 02安排定时和周期性内容
- 03回复、转发或引用现有推文
- 04搜索推文并获取内容信息
MCP 相关
作为 MCP 服务接入 Claude code 和 Gemini CLI,向其提供 X/Twitter 帖子管理、发布、媒体处理及检索能力。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
X(Twitter) MCP Server
English | 中文
一个 MCP 服务,可直接通过 Claude code 和 Gemini CLI 聊天来创建、管理和发布 X/Twitter 帖子。
注意: 本项目基于 vidhupv/x-mcp 修改,新增了推文回复功能。
功能
🔐 双重身份验证支持
- ✅ OAuth 1.0a:用于写入操作(发布推文、转推等)
- ✅ OAuth 2.0:用于读取操作(获取推文、搜索等)
- ✅ 自动选择客户端:系统会自动选择最佳身份验证方式
- ✅ 智能回退:OAuth 2.0 不可用时自动回退到 OAuth 1.0a
📝 推文管理
- ✅ 创建推文草稿
- ✅ 创建推文串草稿
- ✅ 创建对现有推文的回复草稿
- ✅ 列出所有草稿
- ✅ 发布草稿(推文、推文串和回复)
- ✅ 直接回复推文(无需创建草稿)
- ✅ 转推现有推文
- ✅ 添加评论引用推文
- ✅ 创建引用推文草稿
- ✅ 删除草稿
- ✅ 自动删除失败的草稿(可配置)
- ✅ 发布失败时保留草稿(可配置)
⏰ 定时推文(新功能!)
- ✅ 定时发布单条推文 - 在指定时间发布推文
- ✅ 定时发布推文串 - 在指定时间发布完整推文串
- ✅ 循环推文 - 按固定间隔发布推文
- ✅ 灵活的时间格式 - 支持绝对时间(2024-01-15T14:30:00)和相对时间(+10m、+2h、+1d)
- ✅ 后台调度器 - 无需手动干预即可自动执行
- ✅ 定时任务管理 - 查看、取消和管理所有定时推文
- ✅ 智能间隔 - 非常适合定期发布内容和开展活动
📷 媒体支持
- ✅ 上传媒体文件(图片、视频、GIF)
- ✅ 创建包含媒体附件的推文
- ✅ 添加替代文本以提升无障碍体验
- ✅ 获取媒体文件信息
📖 推文获取(增强版)
- ✅ 获取推文内容和信息(支持双重身份验证)
- ✅ 搜索近期推文(改进错误处理)
- ✅ 批量获取多条推文(连接更稳定)
- ✅ 详细的错误诊断和建议
- ✅ API 连接测试工具
系统要求
开始安装前,请确保系统满足以下要求:
必需软件
- Python 3.8+ - 项目运行环境
- Node.js 16+ - 用于安装 Gemini CLI(如果使用 Gemini)
- UV - Python 包管理器(推荐)或 pip
- Git - 用于克隆项目
安装前置条件
macOS 用户:
# Install Homebrew (if you don't have it)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install required software
brew install python node git uv
Windows 用户:
# Using Chocolatey (recommended)
choco install python nodejs git
# Then install UV
pip install uv
Linux 用户:
# Ubuntu/Debian
sudo apt update
sudo apt install python3 python3-pip nodejs npm git
pip3 install uv
# CentOS/RHEL
sudo yum install python3 python3-pip nodejs npm git
pip3 install uv
快速设置
通过 Smithery 安装
通过 Smithery 自动为 Claude code 安装 X(Twitter) MCP Server:
npx -y @smithery/cli install x-mcp --client claude
为 Claude code 手动安装
1. 项目设置
克隆项目并设置环境:
# Clone the repository
git clone https://github.com/yourusername/x-mcp.git
cd x-mcp
# Install UV (Python package manager)
# macOS users (recommended):
brew install uv
# Or use pip:
pip install uv
安装依赖(选择一种方法):
方法 1:自动创建环境并安装(推荐)
# One step: create virtual environment and install dependencies
uv sync
# Activate virtual environment (if manual operation needed)
# macOS/Linux:
source .venv/bin/activate
# Windows:
# .venv\Scripts\activate
方法 2:手动创建环境并安装
# Manually create virtual environment
uv venv
# Activate virtual environment
# macOS/Linux:
source .venv/bin/activate
# Windows:
# .venv\Scripts\activate
# Install dependencies from pyproject.toml
uv pip sync pyproject.toml
2. 配置 Claude Desktop
创建 claude_desktop_config.json:
- MacOS 用户: 打开目录
~/Library/Application Support/Claude/并在其中创建文件 - Windows 用户: 打开目录
%APPDATA%/Claude/并在其中创建文件
将此配置添加到 claude_desktop_config.json:
基本配置(仅 OAuth 1.0a)
{
"mcpServers": {
"x_mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/x-mcp",
"run",
"x-mcp"
],
"env": {
"TWITTER_API_KEY": "your_api_key",
"TWITTER_API_SECRET": "your_api_secret",
"TWITTER_ACCESS_TOKEN": "your_access_token",
"TWITTER_ACCESS_TOKEN_SECRET": "your_access_token_secret"
}
}
}
}
推荐配置(OAuth 1.0a + OAuth 2.0 双重身份验证)
{
"mcpServers": {
"x_mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/x-mcp",
"run",
"x-mcp"
],
"env": {
"TWITTER_API_KEY": "your_api_key",
"TWITTER_API_SECRET": "your_api_secret",
"TWITTER_ACCESS_TOKEN": "your_access_token",
"TWITTER_ACCESS_TOKEN_SECRET": "your_access_token_secret",
"TWITTER_BEARER_TOKEN": "your_bearer_token"
}
}
}
}
💡 建议使用双重身份验证配置:添加
TWITTER_BEARER_TOKEN可以显著提高推文获取功能的稳定性和成功率。
3. 获取 X/Twitter API 凭据
-
访问 X API 开发者门户:
- 前往 X API 开发者门户
- 创建开发者账户(如果你还没有)
-
创建项目和应用:
- 创建一个新项目
- 在项目中创建一个应用
-
配置应用权限:
- 在用户身份验证设置中:设置为读取和写入权限
- 应用类型:选择 Web App
- 回调 URL:设置为
http://localhost/ - 网站 URL:设置为
http://example.com/
-
生成 API 密钥和令牌:
- 在“Keys and Tokens”部分,生成:
- API Key(Consumer Key)
- API Secret(Consumer Secret)
- Access Token
- Access Token Secret
- Bearer Token(建议用于双重身份验证)
- 在“Keys and Tokens”部分,生成:
4. 更新配置并启动
更新配置文件:
- 将
/path/to/x-mcp替换为你的实际项目路径(例如,/Users/yourname/x-mcp) - 将所有
your_*占位符替换为你的实际 API 凭据
完全退出 Claude,然后重新打开
5. 验证安装
在 Claude 中测试连接:
test api connection
如果配置正确,你应该会看到连接测试成功的结果。
Gemini CLI 配置
如果你想将此 MCP 服务与 Gemini CLI 一起使用,而不是与 Claude code 一起使用:
1. 项目设置
克隆项目并设置环境:
# Clone the repository
git clone https://github.com/yourusername/x-mcp.git
cd x-mcp
# Install UV (Python package manager)
# macOS users:
brew install uv
# Or use pip:
pip install uv
安装依赖项(选择一种方法):
方法 1:自动创建环境并安装(推荐)
# One step: create virtual environment and install dependencies
uv sync
# Activate virtual environment (if manual operation needed)
# macOS/Linux:
source .venv/bin/activate
# Windows:
# .venv\Scripts\activate
方法 2:手动创建环境并安装
# Manually create virtual environment
uv venv
# Activate virtual environment
# macOS/Linux:
source .venv/bin/activate
# Windows:
# .venv\Scripts\activate
# Install dependencies from pyproject.toml
uv pip sync pyproject.toml
2. 安装并配置 Gemini CLI
安装 Gemini CLI:
npm install -g @google/gemini-cli
创建或更新 MCP 配置文件:
# Create configuration directory (if it doesn't exist)
mkdir -p ~/.gemini
# Create configuration file
touch ~/.gemini/settings.json
编辑配置文件 ~/.gemini/settings.json:
基础配置(仅 OAuth 1.0a)
{
"mcpServers": {
"x_mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/x-mcp",
"run",
"x-mcp"
],
"env": {
"TWITTER_API_KEY": "your_api_key",
"TWITTER_API_SECRET": "your_api_secret",
"TWITTER_ACCESS_TOKEN": "your_access_token",
"TWITTER_ACCESS_TOKEN_SECRET": "your_access_token_secret"
}
}
}
}
推荐配置(OAuth 1.0a + OAuth 2.0 双重身份验证)
{
"mcpServers": {
"x_mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/x-mcp",
"run",
"x-mcp"
],
"env": {
"TWITTER_API_KEY": "your_api_key",
"TWITTER_API_SECRET": "your_api_secret",
"TWITTER_ACCESS_TOKEN": "your_access_token",
"TWITTER_ACCESS_TOKEN_SECRET": "your_access_token_secret",
"TWITTER_BEARER_TOKEN": "your_bearer_token"
}
}
}
}
3. 获取 X/Twitter API 凭据
-
访问 X API 开发者门户:
- 前往 X API 开发者门户
- 创建开发者账户(如果你还没有)
-
创建项目和应用:
- 创建一个新项目
- 在项目中创建一个应用
-
配置应用权限:
- 在用户身份验证设置中:设置为读取和写入权限
- 应用类型:选择 Web App
- 回调 URL:设置为
http://localhost/ - 网站 URL:设置为
http://example.com/
-
生成 API 密钥和令牌:
- 在“Keys and Tokens”部分,生成:
- API Key(Consumer Key)
- API Secret(Consumer Secret)
- Access Token
- Access Token Secret
- Bearer Token(建议用于双重身份验证)
- 在“Keys and Tokens”部分,生成:
4. 更新配置并启动
更新配置文件:
- 将
/path/to/x-mcp替换为你的实际项目路径(例如,/Users/yourname/x-mcp) - 将所有
your_*占位符替换为你的实际 API 凭据
启动 Gemini CLI:
# Start Gemini CLI with MCP support
gemini-cli
# Or if you need to specify config file path:
gemini-cli --config ~/.gemini/settings.json
5. 验证安装
在 Gemini CLI 中测试连接:
test api connection
如果配置正确,你应该会看到连接测试成功的结果。
高级配置
自动删除失败的草稿
推文发布失败时,你可以选择是否自动删除草稿:
- 启用自动删除(默认):发布失败时自动删除草稿,避免无效草稿堆积
- 禁用自动删除:发布失败时保留草稿,以便手动重试或修改
配置方法
- 通过环境变量:在配置文件中添加
"AUTO_DELETE_FAILED_DRAFTS": "true"或"false" - 通过命令:使用“启用自动删除失败的草稿”或“禁用自动删除失败的草稿”
- 检查状态:使用“检查当前自动删除配置”
使用示例
适用于 Claude code 和 Gemini CLI:
基本推文操作
- “发推:‘刚学会了如何通过 AI 发推——太震撼了!🤖✨’”
- “创建一个关于披萨历史的帖子串”
- “显示我的推文草稿”
- “发布这条草稿!”
- “删除那条草稿”
- “回复推文 1234567890:‘说得真好!感谢分享。’”
- “为推文 1234567890 创建一条回复草稿,内容是‘我完全认同这个观点。’”
- “转发推文 1234567890”
- “引用推文 1234567890,并评论‘这正是我想说的!’”
- “为 1234567890 创建一条引用推文草稿,并评论‘这个见解太棒了’”
媒体操作
- “上传图片 /path/to/image.jpg,替代文本为‘山间美丽的日落’”
- “使用媒体 ID 123456789 创建推文,内容为‘快来看看这张超棒的照片!’”
- “创建一条推文草稿,内容为‘我的最新项目’,并附加 /path/to/video.mp4”
定时推文(新增!)
- “将推文‘大家早上好!☀️’安排在明天上午 9 点发布”
- “安排在下周一下午 2 点发布一个关于提高效率技巧的帖子串”
- “设置定时重复推文,从 5 分钟后开始,每隔 10 分钟发送一次:['技巧 1:保持水分充足', '技巧 2:适当休息', '技巧 3:经常锻炼']”
- “将推文‘周末氛围!🎉’安排在 +2h 后发布”
- “在接下来的 3 小时内,每隔 30 分钟发布一条励志语录”
- “列出我所有安排好的推文”
- “取消定时推文 scheduled_tweet_1234567890.json”
- “启动推文调度器”
- “停止推文调度器”
配置与管理
- “启用自动删除失败的草稿”
- “禁用自动删除失败的草稿”
- “检查当前自动删除配置”
获取推文
- “获取推文 1234567890 的内容和信息”
- “搜索过去 7 天内包含‘AI OR artificial intelligence’的推文”
- “获取推文 123456789、987654321、555666777 的信息”
故障排除
环境设置问题
未找到 UV 或安装失败:
# Check if UV is properly installed
which uv
uv --version
# If not found, reinstall
pip uninstall uv
brew install uv # macOS
# or
pip install uv # other systems
虚拟环境问题:
# Delete existing virtual environment
rm -rf .venv
# Recreate (choose one method):
# Method 1: Automatic creation and installation (recommended)
uv sync
# Method 2: Manual creation and installation
uv venv
source .venv/bin/activate # macOS/Linux or .venv\Scripts\activate (Windows)
uv pip sync pyproject.toml
Python 版本不兼容:
# Check Python version (requires 3.8+)
python --version
python3 --version
# If version is too old, upgrade Python
brew install [email protected] # macOS
# or use your system package manager to upgrade
基本问题
如果无法正常工作:
- 确保已全局安装 UV(如果没有,请使用
pip uninstall uv卸载,然后使用brew install uv重新安装) - 或使用
which uv查找 UV 路径,并将"command": "uv"替换为完整路径 - 确认所有 X/Twitter 凭据均正确
- 检查配置中的 x-mcp 路径是否与你的实际仓库位置一致
🔧 API 连接测试
快速诊断:
test api connection
在 Claude 中运行此命令将会:
- 测试 OAuth 1.0a 和 OAuth 2.0 连接
- 检查 API 权限和限制
- 提供详细的诊断信息和建议
运行测试脚本:
cd /path/to/x-mcp
python test_tweet_functions.py
🚨 修复 401 未授权错误
问题表现:
- 发布推文时出现“401 Unauthorized”错误
- 可以发布推文,但无法获取推文
解决方案:
-
添加 Bearer Token(推荐):
"env": { "TWITTER_API_KEY": "your_api_key", "TWITTER_API_SECRET": "your_api_secret", "TWITTER_ACCESS_TOKEN": "your_access_token", "TWITTER_ACCESS_TOKEN_SECRET": "your_access_token_secret", "TWITTER_BEARER_TOKEN": "your_bearer_token" } -
重新生成 API 凭据:
- 访问 Twitter 开发者门户
- 重新生成所有 API 密钥和令牌
- 确保权限设置为“读取和写入”
-
检查项目设置:
- 用户身份验证设置:读取和写入权限
- 应用类型:Web 应用
- 回调 URL:
http://localhost/ - 网站 URL:
http://example.com/
📖 推文获取问题
双重身份验证的优势:
- 使用 OAuth 2.0 执行读取操作(更稳定)
- 使用 OAuth 1.0a 执行写入操作(必需)
- 自动处理回退
常见错误及解决方案:
| 错误代码 | 原因 | 解决方案 |
|---|---|---|
| 401 | 身份验证失败 | 检查 API 凭据,重新生成令牌 |
| 403 | 权限不足 | 升级 API 套餐或检查权限设置 |
| 404 | 未找到推文 | 确认推文 ID,检查推文是否公开 |
| 429 | 超出速率限制 | 等待 15 分钟或升级 API 套餐 |
API 套餐限制:
- 免费用户:功能有限的基础功能
- Basic($100/月):完整的读取功能
- Pro($5000/月):高级功能和更高的限制
🔍 详细诊断步骤
-
检查身份验证状态:
test api connection -
验证配置:
- 确认已设置所有环境变量
- 检查路径是否正确
- 验证 API 密钥格式
-
测试特定功能:
search for tweets containing "hello" get tweet 1234567890 content -
查看详细日志:
- 检查 Claude Desktop 控制台
- 查看 MCP 服务日志
- 记录具体的错误消息
致谢
本项目基于 Vidhu Panhavoor Vasudevan 在原始 x-mcp 仓库中的出色工作。
此分支的新增内容
- 🆕 定时推文系统 - 灵活安排单条推文、推文串和重复推文的发送时间
- 🆕 OAuth 双重身份验证系统 - 支持 OAuth 1.0a + OAuth 2.0,自动选择最佳身份验证方式
- 🆕 401 错误修复 - 解决获取推文时的身份验证问题
- 🆕 智能客户端选择 - 读取操作优先使用 OAuth 2.0,写入操作使用 OAuth 1.0a
- 🆕 增强的错误处理 - 提供详细的错误诊断和英文错误消息
- 🆕 API 连接测试工具 - 内置连接测试和诊断功能
- ✅ 回复推文功能 - 创建回复草稿并直接回复现有推文
- ✅ 转推功能 - 支持简单转推和附带评论的引用推文
- ✅ 媒体功能 - 上传图片、视频和 GIF,并支持替代文本
- ✅ 推文获取功能 - 获取推文内容、搜索推文、批量获取多条推文
- ✅ 增强的草稿管理 - 改进发布失败时的草稿保留机制,支持所有草稿类型
特别感谢原作者为此 MCP 服务奠定基础!
详细文档
如需了解更详细的功能说明和使用指南,请参阅:
- 定时发推文功能 - 🆕 定时推文功能完整指南
- 定时发推文功能说明 - 🆕 定时推文指南中文版
- OAuth 双重身份验证设置指南 - 🆕 双重身份验证详细设置指南
- OAuth双重认证配置指南 - 设置指南中文版
- 推文获取功能故障排除指南 - 中文故障排除指南
- REPLY_FUNCTIONALITY.md - 回复功能详细文档
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。