article
README
🚀 MCP Reddit 消息 digest 服务器
这是一个基于 FastAPI 的 MCP(模型上下文协议)服务器,能够自动抓取、总结 Reddit 内容,并直接将其传递到 Slack。该系统借助 Azure OpenAI 为选定 subreddit 中的顶级帖子生成简洁摘要,将其格式化为有组织的 PDF 报告,方便与团队共享。
✨ 主要特性
- 🔍 智能 Reddit 监控:可按主题(如人工智能、网络安全、编程)抓取热门帖子,也能指定自定义 subreddit。
- 🧠 AI 驱动摘要:利用 Azure OpenAI 对冗长的 Reddit 讨论进行压缩。
- 📝 整洁 Markdown 格式化:生成结构良好的 digest,帖子按 subreddit 进行组织。
- 📄 专业的 PDF 报告:将 Markdown 转换为带有自定义 CSS 的样式 PDF。
- 🔔 Slack 集成:自动将 digest 发送到团队的 Slack 通道。
- ⏱️ 计划交付:可配置按日或自定义时间表的自动化 digest。
- 🧩 模块化架构:便于轻松扩展新功能或进行集成。
🚀 快速开始
先决条件
- Python 3.8+
- Reddit API 凭证
- Azure OpenAI API 访问权限
- 配有机器人集成的 Slack 工作区
环境设置
在项目根目录中创建一个 .env 文件,包含以下变量:
# Reddit API
REDDIT_CLIENT_ID=your_client_id
REDDIT_CLIENT_SECRET=your_client_secret
REDDIT_USERNAME=your_username
REDDIT_PASSWORD=your_password
USER_AGENT=your_user_agent
# Azure OpenAI
AZURE_OPENAI_KEY=your_openai_key
AZURE_OPENAI_API_VERSION=your_api_version
AZURE_OPENAI_ENDPOINT=your_endpoint
AZURE_OPENAI_DEPLOYMENT=your_deployment_name
# Slack
SLACK_BOT_TOKEN=your_slack_bot_token
SLACK_CHANNEL_ID=your_channel_id
📦 安装指南
# 克隆仓库
git clone https://github.com/yourusername/mcp-reddit-digest.git
cd mcp-reddit-digest
# 安装依赖项
pip install -r requirements.txt
# 启动服务器
uvicorn mcp_server.main:app --reload
💻 使用示例
基础用法
API 端点
GET /- 健康检查端点POST /mcp/hello- 验证连接性的测试端点POST /mcp/reddit- 生成按主题的 digest(如人工智能、网络安全、技术更新等)POST /mcp/reddit/subreddit- 生成自定义 subreddit 的 digest
示例请求
按主题生成 digest:
curl -X POST "http://localhost:8000/mcp/reddit" \
-H "Content-Type: application/json" \
-d '{"input": "ai"}'
为特定 subreddit 生成 digest:
curl -X POST "http://localhost:8000/mcp/reddit/subreddit" \
-H "Content-Type: application/json" \
-d '{"input": "technology"}'
🔧 技术细节
该服务器由以下组件组成:
mcp_server:主 FastAPI 服务,负责处理 API 请求。digest_generator:该模块负责抓取 Reddit 帖子、生成摘要以及格式化输出。config:包含环境变量和配置设置的文件。models:定义数据模型和数据库结构的目录。templates:用于生成 PDF 报告的模板文件。
通过以上步骤,您可以轻松部署并运行一个 MCP Reddit 消息 digest 服务器,自动化处理 Reddit 内容并将其传递到 Slack 团队中。
Scan to join WeChat group