这个Reddit研究MCP服务器旨在帮助用户高效地从Reddit平台获取结构化洞察。它将Reddit的数万个活跃子版块转化为可查询的数据库,通过语义搜索、批量数据获取和深度评论分析,为市场研究、竞争分析和客户洞察提供支持,并自动生成带有完整Reddit链接引用的报告。它基于FastMCP框架构建,支持与各类LLM客户端(如Claude、Cursor、OpenAI Codex、Gemini)进行无缝集成。

主要功能点

  • 智能子版块发现: 利用语义搜索技术,在超过20,000个已索引的活跃子版块中发现与特定主题相关度最高的社区,提供置信度评分辅助决策。
  • 高效批量数据获取: 支持从多个子版块同时批量获取帖子,相比单独请求,可显著减少API调用次数,提高数据获取效率。
  • 深度内容分析: 可获取Reddit帖子的完整评论树,支持按最佳、最新或最热门排序评论,进行深入的用户讨论分析。
  • 三层操作架构: 提供“发现操作 (discover_operations) → 获取操作模式 (get_operation_schema) → 执行操作 (execute_operation)”的引导式工作流,简化LLM客户端对API的使用。
  • 自动化研究报告生成: 内置'reddit_research' Prompt模板,可指导LLM客户端自动执行完整的调研流程,并生成结构化、带引用的研究报告。
  • 安全认证: 支持WorkOS OAuth认证,确保数据访问的安全性。

安装步骤

该MCP服务器提供了一个远程托管服务,因此通常无需本地安装。LLM客户端可以直接连接到远程服务器。如果您希望在本地运行此服务器,请遵循以下步骤:

  1. Python环境: 确保您的系统安装了Python 3.11或更高版本。
  2. 克隆仓库:
    git clone https://github.com/king-of-the-grackles/reddit-research-mcp.git
    cd reddit-research-mcp
  3. 安装依赖:
    pip install fastmcp praw pydantic requests python-dotenv
  4. 配置Reddit API凭据: 在项目根目录下创建 '.env' 文件,并填入您的Reddit API凭据。Reddit API凭据可以在Reddit开发者控制台获取,需要注册为开发者应用。
    REDDIT_CLIENT_ID=您的Reddit应用客户端ID
    REDDIT_CLIENT_SECRET=您的Reddit应用客户端密钥
    REDDIT_USER_AGENT=RedditResearchMCP/1.0 (可自定义,推荐有辨识度的名称)
    # 如果使用ChromaDB代理服务,需要配置其URL和API密钥
    CHROMA_PROXY_URL=https://reddit-mcp-vector-db.onrender.com
    CHROMA_PROXY_API_KEY=您的ChromaDB代理API密钥 (如果有)
    # 如果启用WorkOS OAuth认证,也需要配置
    FASTMCP_SERVER_AUTH_WORKOS_CLIENT_ID=您的WorkOS客户端ID
    FASTMCP_SERVER_AUTH_WORKOS_CLIENT_SECRET=您的WorkOS客户端密钥
    FASTMCP_SERVER_AUTH_WORKOS_REDIRECT_URI=http://localhost:8080/mcp/oauth/callback
  5. 启动服务器:
    fastmcp run src/server.py --transport http --port 8000
    服务器将在 'http://localhost:8000/mcp' 上运行。

服务器配置 (客户端视角)

MCP服务器旨在被MCP客户端(如AI助手)使用。为了让您的MCP客户端能够连接并利用此Reddit研究MCP服务器的功能,您需要提供以下配置信息。这些配置告诉客户端如何连接到服务器,无论服务器是远程托管的还是在本地运行。

以下是一个通用的JSON格式配置示例,您可以根据您所使用的LLM客户端或AI助手的具体配置方式进行调整:

{
  "name": "reddit-research-mcp",
  "displayName": "Reddit 研究助手",
  "description": "连接到远程托管的Reddit研究MCP服务器,提供Reddit数据查询和分析功能,并生成带引用的研究报告。",
  "endpoint": "https://reddit-research-mcp.fastmcp.app/mcp",
  "transport": "http",
  "command": "npx",
  "args": [
    "-y",
    "mcp-remote@latest",
    "https://reddit-research-mcp.fastmcp.app/mcp"
  ],
  "requiresAuthentication": true,
  "authenticationMethod": "WorkOS OAuth"
}

参数注释:

  • 'name' (字符串): 此MCP服务器的唯一标识符或配置名称,例如 'reddit-research-mcp'。
  • 'displayName' (字符串): 在客户端界面中显示的友好名称,例如 'Reddit 研究助手'。
  • 'description' (字符串): 服务器功能的简要描述。
  • 'endpoint' (字符串): MCP服务器的实际URL,客户端将通过此URL直接通信。对于远程托管服务,是 'https://reddit-research-mcp.fastmcp.app/mcp'。如果本地运行,通常是 'http://localhost:8000/mcp'。
  • 'transport' (字符串): 客户端与服务器通信的协议类型,例如 'http'。
  • 'command' (字符串, 可选): 如果客户端需要启动一个本地进程(例如一个代理或桥接程序)来连接服务器,这是启动该进程的命令。
    • 示例中 'npx' 用于运行 'mcp-remote',这是一个用于连接远程MCP服务器的JavaScript客户端工具。
  • 'args' (字符串数组, 可选): 传递给 'command' 的参数列表。
    • 示例中 '["-y", "mcp-remote@latest", "https://reddit-research-mcp.fastmcp.app/mcp"]' 指示 'npx' 安装并运行 'mcp-remote' 的最新版本,并连接到指定的MCP服务器 'endpoint'。
  • 'requiresAuthentication' (布尔值): 表明服务器是否需要认证。本服务器支持WorkOS OAuth。
  • 'authenticationMethod' (字符串, 可选): 如果需要认证,指明认证方法,例如 'WorkOS OAuth'。

对于只支持直接URL连接的AI助手,您只需提供 'endpoint' 字段的值即可:'https://reddit-research-mcp.fastmcp.app/mcp'。

基本使用方法

连接服务器后,您可以通过MCP客户端与此服务器交互,进行Reddit研究。

  1. 发现可用操作: LLM客户端可以使用 'discover_operations()' 工具获取服务器支持的所有操作列表及其推荐工作流。

    • LLM交互示例: "有哪些Reddit研究功能?"
  2. 获取操作模式: 使用 'get_operation_schema("operation_id")' 获取特定操作的参数要求、数据类型和示例,以便LLM客户端正确构建请求。

    • LLM交互示例: "如何使用 discover_subreddits 功能?给我看看它的参数。"
  3. 执行操作: 根据获取到的模式,调用 'execute_operation("operation_id", {"parameters": ...})' 来执行实际的Reddit数据获取或搜索。

    • LLM交互示例: "请帮我发现关于'AI编程助手'的子版块,限制10个结果。"
    • LLM交互示例: "从Python和MachineLearning子版块中获取排名前5的热门帖子。"
  4. 利用Prompt模板进行自动化研究: 激活 'reddit_research' Prompt模板,并提供一个研究请求,LLM客户端将按照预设的复杂工作流,自动执行发现、数据获取、分析和报告生成。

    • LLM交互示例 (Prompt激活): "使用reddit_research prompt来研究'用户对远程工作有哪些普遍看法?'"
  5. 阅读'reddit://server-info'资源: LLM客户端可以读取 'reddit://server-info' 资源,以获取服务器的详细功能、版本、更新日志、性能提示和认证信息。

    • LLM交互示例: "给我介绍一下这个Reddit MCP服务器的所有功能和用法。"

信息

分类

AI与计算