Reddit内容交互服务器

一个基于Model Context Protocol (MCP)的服务器,通过PRAW (Python Reddit API Wrapper) 实现AI助手与Reddit内容的交互,提供用户分析、帖子搜索、社区统计等功能。

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

使用说明

Reddit MCP服务器

该存储库包含Reddit的模型上下文协议服务器实现,允许AI助手通过PRAW(Python Reddit API Wrapper)访问Reddit内容并与之交互。

什么是MCP?

模型上下文协议(MCP)是使AI助手能够与外部服务、工具和数据源进行交互的标准。此服务器实现了MCP规范,以提供对Reddit内容的访问。

要了解有关MCP的更多信息,请查看此 视频

特性

  • 通过参与度分析获取详细的用户信息
  • 通过灵活的过滤检索用户评论和帖子历史记录
  • 从任何子版块获取并分析热门帖子
  • 使用搜索词在所有Reddit或特定子版块中搜索帖子
  • 获取全面的subreddit统计数据和健康指标
  • 查看具有增长模式的趋势子版块
  • 创建具有时间建议的战略职位
  • 通过参与度优化回复帖子和评论
  • 人工智能驱动的见解和建议
  • 智能响应格式与参与度指标

安装

  1. 克隆此存储库
git clone https://github.com/Arindam200/reddit-mcp.git
cd reddit-mcp
  1. 连接到MCP服务器

    将以下json与相应的{{PATH}}值一起复制:

    {
      "mcpServers": {
        "reddit": {
          "command": "{{PATH_TO_UV}}", // Run `which uv` and place the output here
          "args": [
            "--directory",
            "{{PATH_TO_SRC}}", // cd into the repo, run `pwd` and enter the output here
            "run",
            "server.py"
          ],
          "env": {
            "REDDIT_CLIENT_ID": "your_client_id",
            "REDDIT_CLIENT_SECRET": "your_client_secret",
            "REDDIT_USERNAME": "your_username", // Optional for authenticated operations
            "REDDIT_PASSWORD": "your_password" // Optional for authenticated operations
          }
        }
      }
    }
    

    您可以通过在上创建应用程序来获得Reddit API凭据 Reddit的应用偏好页面.

    对于 克劳德,将此另存为 claude_desktop_config.json 在您的Claude Desktop配置目录中:

    ~/Library/Application Support/Claude/claude_desktop_config.json
    

    对于 光标,将此另存为 mcp.json 在Cursor配置目录中:

    ~/.cursor/mcp.json
    
  2. 重新启动克劳德桌面/光标

    打开克劳德桌面,你现在应该看到Reddit是一个可用的集成。

    或者重新启动Cursor。

可用工具

服务器提供以下工具:

只读工具(只需要客户端凭据):

  • get_user_info(username) -通过参与度洞察获得详细的用户分析
  • get_user_comments(username, sort, time_filter, limit) -使用过滤选项获取用户的评论历史记录
  • get_user_posts(username, sort, time_filter, limit) -使用过滤选项获取用户的帖子/提交历史记录
  • get_top_posts(subreddit, time_filter, limit) -获取并分析热门帖子
  • search_posts(query, subreddit, sort, time_filter, limit) -在Reddit或特定子版块内搜索帖子
  • get_subreddit_stats(subreddit) -获取全面的subreddit分析
  • get_trending_subreddits() -获取热门子版块列表
  • get_submission_by_url(url) -通过其URL获取Reddit提交
  • get_submission_by_id(submission_id) -通过ID获取Reddit提交

经过身份验证的工具(需要用户凭据):

  • who_am_i() -获取当前已验证用户的信息
  • create_post(subreddit, title, content, flair, is_self) -创建优化的帖子
  • reply_to_post(post_id, content, subreddit) -添加包含参与度见解的回复
  • reply_to_comment(comment_id, content, subreddit) -添加战略回复

查询示例

以下是您可以向连接到此服务器的AI助手询问的一些示例:

  • “我在Reddit上是谁?”或“显示我的Reddit个人资料”
  • “分析u/spez的Reddit活动”
  • “显示u/spez最近的评论”
  • “获取过去一年u/poem_for_your_sprog的热门帖子”
  • “按u/username显示最具争议的评论”
  • “显示本周r/Python的热门帖子”
  • “在整个Reddit上搜索有关‘机器学习’的帖子”
  • “查找本月有关r/learnprogramming‘初学者教程’的帖子”
  • “获取r/AskReddit的统计数据”
  • “现在的热门子版块是什么?”
  • “在r/Python中创建一个关于新项目的帖子”
  • “用有见地的评论回复此帖子”
  • “在这个subreddit上发帖的最佳时间是什么时候?”

高级功能

AI驱动分析

服务器在多个领域提供智能分析:

  1. 用户分析

    • 参与模式
    • 活动趋势
    • 社区影响
    • 个性化推荐
  2. 事后分析

    • 性能指标
    • 参与质量
    • 时序优化
    • 内容影响评估
  3. 社区分析

    • 健康指标
    • 增长模式
    • 活动指标
    • 参与机会

智能响应格式

  • 有组织的要点
  • 参与度统计
  • 人工智能驱动的见解
  • 战略建议
  • 性能指标

认证

服务器支持两级身份验证:

  1. 只读访问

    • 要求: client_id 和 client_secret
    • 允许:获取公共数据、阅读帖子/评论
  2. 认证访问

    • 需要:所有只读凭据PLUS username 和 password
    • 允许:所有只读操作以及发布和评论

贡献

欢迎投稿!请随时提交拉取请求。

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。