项目简介

“TikTok至Reddit视频发布MCP”是一个基于Model Context Protocol (MCP) 的后端服务器,旨在帮助LLM(大型语言模型)客户端自动化处理和发布TikTok视频到Reddit平台。它支持视频下载、格式转换、可选的视频内容转录、Reddit发帖(包括自动添加评论和主题推荐)等功能。此服务器通过标准化的JSON-RPC协议与LLM客户端通信,为自动化内容发布工作流提供强大的后端支持。

主要功能点

  • TikTok视频下载: 能够从TikTok下载视频,并对其进行校验和处理。
  • 视频转码: 自动将下载的视频转换为Reddit兼容的MP4格式,确保视频能在Reddit上顺利播放。
  • 可选视频转录: 如果启用,可以使用Faster-Whisper模型对视频内容进行转录,生成文本。
  • Reddit发帖: 支持创建新的Reddit帖子,包括视频上传、自定义标题、内容、NSFW/Spoiler标记、帖子标签(Flair)。
  • 自动评论: 如果没有提供评论,系统可以自动在发布的Reddit视频下评论原始TikTok链接。
  • 子版块详情查询: 提供查询Reddit子版块(subreddit)的详细信息,如规则和发帖权限。
  • 鲁棒的错误处理: 内置多层错误恢复机制,处理WebSocket和API错误。

安装步骤

  1. Python环境: 确保您的系统安装了Python 3.8或更高版本。
  2. FFmpeg安装: FFmpeg是视频处理的核心依赖。
    • Windows: 推荐使用Chocolatey ('choco install ffmpeg') 或 Scoop ('scoop install ffmpeg') 安装。您也可以从ffmpeg.org手动下载并添加到系统PATH。
    • Linux (Debian/Ubuntu): 'sudo apt update && sudo apt install ffmpeg python3-dev'
    • macOS: 'brew install ffmpeg'
    • (可选)运行 'python install_ffmpeg.py' 来获取安装指导。
  3. Python依赖: 在项目根目录下,运行以下命令安装Python库:
    pip install praw requests yt-dlp websockets aiohttp aiofiles asyncpraw
    如果您需要视频转录功能,请额外安装:
    pip install faster-whisper
  4. 项目安装:
    pip install -e .
  5. 环境变量配置: 复制'.env.example'文件为'.env',并编辑'.env'文件,填入您的Reddit API凭据。
    cp .env.example .env
    在'.env'中配置以下变量:
    REDDIT_CLIENT_ID=您的Reddit应用客户端ID
    REDDIT_CLIENT_SECRET=您的Reddit应用客户端密钥
    REDDIT_USERNAME=您的Reddit用户名
    REDDIT_PASSWORD=您的Reddit密码
    # 可选:如果启用视频转录
    USE_WHISPER_TRANSCRIPTION=true
    缺少Reddit登录凭据将导致服务器以只读模式运行,无法发布内容。

服务器配置

此MCP服务器需要通过JSON-RPC协议与您的LLM客户端通信。以下是为MCP客户端配置服务器的JSON格式信息:

{
  "name": "TikTok至Reddit发布服务器",
  "command": "python",
  "args": ["server.py", "--port", "8050"],
  "description": "用于自动化下载TikTok视频、转录、并发布到Reddit的MCP服务器。",
  "tools": [
    "create_post",
    "reply_to_post",
    "download_tiktok_video",
    "transcribe_video",
    "get_subreddit_details",
    "post_downloaded_video"
  ]
}

参数说明:

  • 'name': 服务器的显示名称。
  • 'command': 启动服务器的可执行文件或命令(例如:'python')。
  • 'args': 传递给启动命令的参数列表。'server.py'是服务器主脚本,'--port 8050'指定服务器监听的端口(可根据需要修改)。
  • 'description': 服务器的简要说明。
  • 'tools': 服务器暴露给LLM客户端的工具列表,客户端可以通过这些工具调用服务器的功能。

基本使用方法

  1. 启动服务器: 在项目根目录下运行:
    python server.py          # 默认监听端口 8050
    # 或指定其他端口
    python server.py --port 9001
  2. 访问API文档: 服务器启动后,您可以在浏览器中访问 'http://localhost:<port>/docs' (将 '<port>' 替换为实际端口,例如 '8050') 查看由FastMCP自动生成的API文档,了解所有可用工具的详细输入和输出参数。
  3. 与LLM客户端集成: 根据上述“服务器配置”信息,在您的MCP兼容LLM客户端中配置此服务器。一旦连接成功,LLM即可通过调用'create_post', 'download_tiktok_video', 'post_downloaded_video'等工具来自动化TikTok视频的Reddit发布工作流。

信息

分类

通信与社交