项目简介
“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错误。
安装步骤
- Python环境: 确保您的系统安装了Python 3.8或更高版本。
- 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' 来获取安装指导。
- Python依赖: 在项目根目录下,运行以下命令安装Python库:
如果您需要视频转录功能,请额外安装:pip install praw requests yt-dlp websockets aiohttp aiofiles asyncprawpip install faster-whisper - 项目安装:
pip install -e . - 环境变量配置:
复制'.env.example'文件为'.env',并编辑'.env'文件,填入您的Reddit API凭据。
在'.env'中配置以下变量:cp .env.example .env
缺少Reddit登录凭据将导致服务器以只读模式运行,无法发布内容。REDDIT_CLIENT_ID=您的Reddit应用客户端ID REDDIT_CLIENT_SECRET=您的Reddit应用客户端密钥 REDDIT_USERNAME=您的Reddit用户名 REDDIT_PASSWORD=您的Reddit密码 # 可选:如果启用视频转录 USE_WHISPER_TRANSCRIPTION=true
服务器配置
此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客户端的工具列表,客户端可以通过这些工具调用服务器的功能。
基本使用方法
- 启动服务器:
在项目根目录下运行:
python server.py # 默认监听端口 8050 # 或指定其他端口 python server.py --port 9001 - 访问API文档: 服务器启动后,您可以在浏览器中访问 'http://localhost:<port>/docs' (将 '<port>' 替换为实际端口,例如 '8050') 查看由FastMCP自动生成的API文档,了解所有可用工具的详细输入和输出参数。
- 与LLM客户端集成: 根据上述“服务器配置”信息,在您的MCP兼容LLM客户端中配置此服务器。一旦连接成功,LLM即可通过调用'create_post', 'download_tiktok_video', 'post_downloaded_video'等工具来自动化TikTok视频的Reddit发布工作流。
信息
分类
通信与社交