项目简介

TweetScheduler 是一个基于 MCP (Model Context Protocol) 的服务器,用于自动化推文发布。它从 Google Sheets 读取推文内容,并通过 Selenium 驱动浏览器自动发布到 Twitter。该服务器通过 MCP 协议与客户端通信,允许外部系统程序化地调度和管理推文发布任务。

主要功能点

  • 推文内容管理: 从 Google Sheets 获取待发布的推文内容。
  • 自动化推文发布: 使用 Selenium 自动登录 Twitter 并发布推文。
  • 状态更新: 在 Google Sheets 中更新已发布推文的状态。
  • MCP 协议支持: 通过 MCP 协议与客户端交互,提供标准化的工具调用接口。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/TannisaS/MCP-Server.git
    cd MCP-Server/X_twee
  2. 安装 Python 依赖: 确保已安装 Python 环境,然后运行以下命令安装所需的库:

    pip install gspread oauth2client selenium mcp pydantic
  3. 配置 ChromeDriver:

    • 下载与您的 Chrome 浏览器版本兼容的 ChromeDriver,并将其添加到系统 PATH 环境变量中。
    • ChromeDriver 下载地址
  4. 配置 Google Cloud API:

    • 在 Google Cloud 中创建一个服务账号。
    • 下载服务账号的 JSON 密钥文件,并将其放置在项目目录中(例如 'X_twee/src/X_twee/service_account.json')。
    • 启用 Google Sheets API 和 Google Drive API。
  5. 配置 Twitter 账号:

    • 编辑 'X_twee/src/X_twee/server.py' 文件,将代码中的 '"username"' 和 '"password"' 替换为您的 Twitter 账号用户名和密码。 请注意安全风险,避免在生产环境中使用明文密码。
  6. 配置 Google Sheet:

    • 创建一个 Google Sheet,用于存储推文内容和状态。
    • 确保 Sheet 包含 "Tweet Content" 和 "Status" 两列。
    • 将 Sheet 的 URL 和 Sheet 名称记录下来,后续配置 MCP 客户端时需要使用。

服务器配置

MCP 客户端需要以下配置信息来连接 TweetScheduler MCP 服务器。请将以下 JSON 配置添加到您的 MCP 客户端配置文件中(例如 'config.json' 或 'settings.json'):

{
  "cpServers": {
    "tweetScheduler": { // MCP 服务器名称,客户端可以自定义
      "command": [
        "python", // 启动命令,这里使用 python 解释器
        "C:/Users/KIIT/MCP-Server/X_twee/src/X_twee/server.py" // MCP 服务器脚本的绝对路径,需要根据实际情况修改
      ],
      "args": [], // 启动参数,本例中没有参数
      "GAL_ACCESS": "" //  GAL_ACCESS 字段,如果需要身份验证,可以在这里配置,本例中为空
    }
  }
}

注意:

  • 请根据实际情况修改 'command' 中的服务器脚本路径。
  • 上述配置假设 'server.py' 脚本位于 'C:/Users/KIIT/MCP-Server/X_twee/src/X_twee/' 目录下。您需要将其替换为脚本在您本地文件系统中的实际路径。

基本使用方法

  1. 启动 MCP 服务器: 在命令行中,导航到 'X_twee/src/X_twee/' 目录,并运行以下命令启动 TweetScheduler MCP 服务器:

    python server.py

    服务器将通过标准输入/输出 (stdio) 与 MCP 客户端通信。

  2. 配置 MCP 客户端: 根据 MCP 客户端的文档,配置连接到名为 'tweetScheduler' (或您在配置文件中自定义的名称) 的 MCP 服务器。在工具调用时,指定工具名为 'schedule-tweets',并提供 'sheet_url' 和 'sheet_name' 作为参数。

  3. 调用 'schedule-tweets' 工具: 使用 MCP 客户端,调用 'schedule-tweets' 工具,并提供 Google Sheet 的 URL 和 Sheet 名称作为参数。例如,使用 JSON-RPC 请求调用工具:

    {
      "jsonrpc": "2.0",
      "method": "MCP.callTool",
      "params": {
        "serverName": "tweetScheduler", //  与客户端配置中的服务器名称一致
        "toolName": "schedule-tweets",
        "arguments": {
          "sheet_url": "YOUR_GOOGLE_SHEET_URL", // 替换为您的 Google Sheet URL
          "sheet_name": "Sheet1" // 替换为您的 Sheet 名称
        }
      },
      "id": 1
    }

    服务器将读取 Google Sheet 中的推文,自动发布到 Twitter,并更新 Sheet 中的状态。

重要提示:

  • 请务必谨慎使用自动化推文发布工具,遵守 Twitter 的使用条款和服务协议,避免违反相关规定。
  • 示例代码中 Twitter 账号密码为硬编码,存在安全风险。在实际应用中,请使用更安全的凭据管理方法。
  • 首次运行可能需要进行 Google 账号授权。

信息

分类

通信与社交