这是一个基于 FastAPI 的 MCP(模型上下文协议)服务器,能够自动抓取、总结 Reddit 内容,并直接将其传递到 Slack。该系统借助 Azure OpenAI 为选定 subreddit 中的顶级帖子生成简洁摘要,将其格式化为有组织的 PDF 报告,方便与团队共享。
在项目根目录中创建一个 .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
GET / - 健康检查端点POST /mcp/hello - 验证连接性的测试端点POST /mcp/reddit - 生成按主题的 digest(如人工智能、网络安全、技术更新等)POST /mcp/reddit/subreddit - 生成自定义 subreddit 的 digestcurl -X POST "http://localhost:8000/mcp/reddit" \
-H "Content-Type: application/json" \
-d '{"input": "ai"}'
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 团队中。