mcpField
X
X Mcp

X Mcp

本地服务
github.com/cjkcr社交媒体141 周前更新

关于 X Mcp

X Mcp 是面向 Claude code 和 Gemini CLI 的 X/Twitter MCP 服务,用于管理和发布帖子。它涵盖草稿、回复、媒体、检索及定时发布,并支持 OAuth 1.0a 与 OAuth 2.0。

主要功能

  1. 01创建和管理帖子草稿
  2. 02发布、回复、转发与引用
  3. 03定时及周期性发布
  4. 04上传媒体并设置替代文本
  5. 05检索和批量获取推文
  6. 06支持 OAuth 1.0a 与 OAuth 2.0

适用场景

  1. 01准备并发布推文或帖子串
  2. 02安排定时和周期性内容
  3. 03回复、转发或引用现有推文
  4. 04搜索推文并获取内容信息

MCP 相关

作为 MCP 服务接入 Claude code 和 Gemini CLI,向其提供 X/Twitter 帖子管理、发布、媒体处理及检索能力。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

X(Twitter) MCP Server

smithery badge

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 连接测试工具
X(Twitter) Server MCP server

系统要求

开始安装前,请确保系统满足以下要求:

必需软件
  • 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 凭据
  1. 访问 X API 开发者门户:

  2. 创建项目和应用:

    • 创建一个新项目
    • 在项目中创建一个应用
  3. 配置应用权限:

    • 在用户身份验证设置中:设置为读取和写入权限
    • 应用类型:选择 Web App
    • 回调 URL:设置为 http://localhost/
    • 网站 URL:设置为 http://example.com/
  4. 生成 API 密钥和令牌:

    • 在“Keys and Tokens”部分,生成:
      • API Key(Consumer Key)
      • API Secret(Consumer Secret)
      • Access Token
      • Access Token Secret
      • Bearer Token(建议用于双重身份验证)
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 凭据
  1. 访问 X API 开发者门户:

  2. 创建项目和应用:

    • 创建一个新项目
    • 在项目中创建一个应用
  3. 配置应用权限:

    • 在用户身份验证设置中:设置为读取和写入权限
    • 应用类型:选择 Web App
    • 回调 URL:设置为 http://localhost/
    • 网站 URL:设置为 http://example.com/
  4. 生成 API 密钥和令牌:

    • 在“Keys and Tokens”部分,生成:
      • API Key(Consumer Key)
      • API Secret(Consumer Secret)
      • Access Token
      • Access Token Secret
      • Bearer Token(建议用于双重身份验证)
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

如果配置正确,你应该会看到连接测试成功的结果。

高级配置

自动删除失败的草稿

推文发布失败时,你可以选择是否自动删除草稿:

  • 启用自动删除(默认):发布失败时自动删除草稿,避免无效草稿堆积
  • 禁用自动删除:发布失败时保留草稿,以便手动重试或修改
配置方法
  1. 通过环境变量:在配置文件中添加 "AUTO_DELETE_FAILED_DRAFTS": "true" 或 "false"
  2. 通过命令:使用“启用自动删除失败的草稿”或“禁用自动删除失败的草稿”
  3. 检查状态:使用“检查当前自动删除配置”

使用示例

适用于 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”错误
  • 可以发布推文,但无法获取推文

解决方案:

  1. 添加 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"
    }
    
  2. 重新生成 API 凭据:

  3. 检查项目设置:

    • 用户身份验证设置:读取和写入权限
    • 应用类型: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/月):高级功能和更高的限制
🔍 详细诊断步骤
  1. 检查身份验证状态:

    test api connection
    
  2. 验证配置:

    • 确认已设置所有环境变量
    • 检查路径是否正确
    • 验证 API 密钥格式
  3. 测试特定功能:

    search for tweets containing "hello"
    get tweet 1234567890 content
    
  4. 查看详细日志:

    • 检查 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 服务奠定基础!

详细文档

如需了解更详细的功能说明和使用指南,请参阅:

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。