Reddit搜索与操作服务

一个提供Reddit搜索、浏览和写操作(发帖、评论、投票)的服务器工具,支持多凭证轮换和速率限制。

  • by cordwainersmith
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 cordwainersmith/reddit-mcp

使用说明

reddit mcp

MCP服务器将Reddit的搜索、浏览和写入操作(发布、评论、投票)作为工具公开。使用具有多凭证轮换和每个凭证速率限制(55个请求/分钟)的AsyncPRAW。

先决条件

  • Python 3.11+
  • 紫外线
  • 一个或多个Reddit API凭据(通过https://www.reddit.com/prefs/apps)

设置

uv sync
cp .env.example .env

编辑 .env 使用您的Reddit API证书:

# Single credential
REDDIT_CREDENTIALS=your_client_id:your_client_secret

# Or multiple credentials for rate limit rotation
REDDIT_CREDENTIALS=client_id1:secret1,client_id2:secret2,client_id3:secret3

# User agent string
REDDIT_USER_AGENT=reddit-mcp/1.0 (by /u/your_username)

# For write operations (vote, reply, post, save, delete, edit)
# Multiple users supported - agents specify which username to act as
REDDIT_USERS=reddit_username1:password1,reddit_username2:password2

# Or single-user fallback (used if REDDIT_USERS is not set)
# REDDIT_USERNAME=your_reddit_username
# REDDIT_PASSWORD=your_reddit_password

跑

uv run reddit-mcp

测试

uv sync --group dev
uv run pytest tests/ -v

工具

阅读

工具 说明
reddit_search_posts 在子版块中按关键字搜索帖子(使用 "all" 适用于整个现场)
reddit_search_subreddits 按主题或关键字搜索子版块
reddit_get_subreddit_posts 按排序顺序浏览subreddit上的帖子(使用 "popular" 趋势)
reddit_get_post_details 获取带有评论的帖子
reddit_get_posts_by_ids 在一次通话中按ID获取多个帖子(最多10个)
reddit_get_comment_with_replies 获取带有父链和嵌套回复的评论
reddit_get_user_info 用户配置文件元数据
reddit_get_user_posts 用户提交历史记录
reddit_get_user_comments 用户评论历史
reddit_get_subreddit_info 子涡流元数据
reddit_get_subreddit_wiki 阅读subreddit维基页面
reddit_list_subreddit_wiki_pages 列出可用的wiki页面
reddit_get_server_status 服务器运行状况、凭据计数和缓存统计信息

写(必填 REDDIT_USERS 或 REDDIT_USERNAME/REDDIT_PASSWORD)

所有写入工具都需要 username 指定要充当哪个已配置用户的参数。Call reddit_get_server_status 查看可用用户名。

工具 说明
reddit_vote 对帖子或评论投赞成票、反对票或明确票
reddit_reply 回复帖子(顶级评论)或评论(嵌套回复)
reddit_create_post 在subreddit中创建新的自帖或链接帖
reddit_save 保存或取消保存帖子或评论
reddit_delete 删除您撰写的帖子或评论
reddit_edit 编辑您撰写的帖子或评论