社交媒体自动化工具

Social MCP是一个多代理系统,用于自动化内容提取、推文生成、发布和参与Twitter和Bluesky等平台的活动,适用于社交媒体管理和内容营销。

  • by kitadmin01
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 kitadmin01/social_mcp

使用说明

社交MCP:多代理社交媒体自动化

概述

Social MCP是一个多代理系统,用于在Twitter和Bluesky等平台上自动化内容提取、推特生成、发布和参与。它使用LLM进行内容生成,使用Playwright进行浏览器自动化,使用API进行平台集成。

建筑

  • MCP服务器:为以下对象托管工具终结点:
    • 内容提取
    • 使用LLM生成推文
    • Twitter浏览器自动化(使用Playwright)
    • 社交媒体参与度
    • 内容调度
  • MCP客户端:编排工作流、运行代理、管理LLM和协调工具调用
  • 共同:用于Google表格集成、重试逻辑和机密管理的共享实用程序

核心功能

  1. 推特自动化

    • 持续会话管理
    • 强大的登录检测
    • 带有重试逻辑的推文发布
    • 搜索和参与自动化
    • 基于标签的内容发现
  2. 内容生成

    • LLM驱动的推特生成
    • 内容调度
    • 多平台支持
  3. 浏览器自动化

    • 持续会话处理
    • 强大的页面状态验证
    • 导航问题的自动恢复
    • URL编码和正确的页面加载

目录结构

social_mcp/
├── mcp_server/
│   ├── tools/
│   │   ├── post_tweets.py      # Twitter automation
│   │   ├── generate_tweets.py  # LLM tweet generation
│   │   └── engage_posts.py     # Social engagement
│   ├── server.py
│   └── config.py
├── mcp_client/
│   ├── agents/
│   ├── llm_orchestrator.py
│   ├── workflow_graph.py
│   └── client.py
├── common/
│   ├── google_sheets.py
│   ├── retry_utils.py
│   └── secrets.py
├── .env
├── requirements.txt
├── README.md
└── setup.sh

实现细节

推特自动化(post_tweets.py)

  • 会话管理

    • 持续浏览器会话
    • 自动登录检测
    • 会话恢复
  • 强大的页面处理

    • 搜索词的URL编码
    • 连续页面状态验证
    • 自动导航恢复
    • 失败操作的重试逻辑
  • 参与功能

    • 基于标签的搜索
    • 推特喜欢自动化
    • 内容发现

浏览器自动化最佳实践

  1. 页面加载

    • 使用 domcontentloaded 初始载荷
    • 等待特定元素
    • 验证页面状态
  2. 错误处理

    • 失败操作的重试逻辑
    • 从错误中优雅地恢复
    • 详细日志记录
  3. 会话管理

    • 持久上下文
    • 登录状态验证
    • 自动会话恢复

设置

  1. 克隆仓库并进入目录:

    git clone <repository-url>
    cd social_mcp
    
  2. 创建虚拟环境并安装依赖项:

    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    playwright install
    
  3. 配置您的 .env 文件包含:

    TWITTER_USERNAME=your_username
    TWITTER_PASSWORD=your_password
    PLAYWRIGHT_SESSION_DIR=./playwright_session
    HEADLESS=false  # Set to true for headless operation
    
  4. 设置Google Sheets API和OAuth凭据

用法

  1. 从/social_MCP启动MCP服务器:

    python mcp_server/server.py
    
  2. 从/social_MCP运行MCP客户端:

    python mcp_client/client.py
    

添加新功能

  • 新工具:添加到 mcp_server/tools/ 并注册 server.py
  • 新代理商:添加到 mcp_client/agents/ 并更新 workflow_graph.py
  • 浏览器自动化:遵循中的模式 post_tweets.py 用于稳健实施

安全

  • 将所有秘密存储在 .env
  • 将OAuth作用域用于Google表格和Bluesky
  • 剧作家脚本优雅地处理MFA/CAPTCHA
  • 会话数据安全存储在 playwright_session 目录

最佳实践

  1. 浏览器自动化

    • 始终验证页面状态
    • 使用正确的URL编码
    • 实现重试逻辑
    • 处理导航问题
  2. 错误处理

    • 记录所有操作
    • 实现优雅恢复
    • 使用适当的超时
  3. 会话管理

    • 验证登录状态
    • 处理会话恢复
    • 妥善清理资源

**去做

  1. 从推特和bsky获取内容,使用LLM获取回复并发布
  2. 添加第二个推特账户进行发帖和点赞
  3. 搜索和参与包括搜索“web3”、“nft”、“crypto”
  4. 对工作流的启动和运行进行计时,使其从.env随机开始
  5. 实施Reddit发布