项目简介
TweetScheduler 是一个基于 MCP (Model Context Protocol) 的服务器,用于自动化推文发布。它从 Google Sheets 读取推文内容,并通过 Selenium 驱动浏览器自动发布到 Twitter。该服务器通过 MCP 协议与客户端通信,允许外部系统程序化地调度和管理推文发布任务。
主要功能点
- 推文内容管理: 从 Google Sheets 获取待发布的推文内容。
- 自动化推文发布: 使用 Selenium 自动登录 Twitter 并发布推文。
- 状态更新: 在 Google Sheets 中更新已发布推文的状态。
- MCP 协议支持: 通过 MCP 协议与客户端交互,提供标准化的工具调用接口。
安装步骤
-
克隆仓库:
git clone https://github.com/TannisaS/MCP-Server.git cd MCP-Server/X_twee -
安装 Python 依赖: 确保已安装 Python 环境,然后运行以下命令安装所需的库:
pip install gspread oauth2client selenium mcp pydantic -
配置 ChromeDriver:
- 下载与您的 Chrome 浏览器版本兼容的 ChromeDriver,并将其添加到系统 PATH 环境变量中。
- ChromeDriver 下载地址
-
配置 Google Cloud API:
- 在 Google Cloud 中创建一个服务账号。
- 下载服务账号的 JSON 密钥文件,并将其放置在项目目录中(例如 'X_twee/src/X_twee/service_account.json')。
- 启用 Google Sheets API 和 Google Drive API。
-
配置 Twitter 账号:
- 编辑 'X_twee/src/X_twee/server.py' 文件,将代码中的 '"username"' 和 '"password"' 替换为您的 Twitter 账号用户名和密码。 请注意安全风险,避免在生产环境中使用明文密码。
-
配置 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/' 目录下。您需要将其替换为脚本在您本地文件系统中的实际路径。
基本使用方法
-
启动 MCP 服务器: 在命令行中,导航到 'X_twee/src/X_twee/' 目录,并运行以下命令启动 TweetScheduler MCP 服务器:
python server.py服务器将通过标准输入/输出 (stdio) 与 MCP 客户端通信。
-
配置 MCP 客户端: 根据 MCP 客户端的文档,配置连接到名为 'tweetScheduler' (或您在配置文件中自定义的名称) 的 MCP 服务器。在工具调用时,指定工具名为 'schedule-tweets',并提供 'sheet_url' 和 'sheet_name' 作为参数。
-
调用 '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 账号授权。
信息
分类
通信与社交