这个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客户端可以直接连接到远程服务器。如果您希望在本地运行此服务器,请遵循以下步骤:
- Python环境: 确保您的系统安装了Python 3.11或更高版本。
- 克隆仓库:
git clone https://github.com/king-of-the-grackles/reddit-research-mcp.git cd reddit-research-mcp - 安装依赖:
pip install fastmcp praw pydantic requests python-dotenv - 配置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 - 启动服务器:
服务器将在 'http://localhost:8000/mcp' 上运行。fastmcp run src/server.py --transport http --port 8000
服务器配置 (客户端视角)
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研究。
-
发现可用操作: LLM客户端可以使用 'discover_operations()' 工具获取服务器支持的所有操作列表及其推荐工作流。
- LLM交互示例: "有哪些Reddit研究功能?"
-
获取操作模式: 使用 'get_operation_schema("operation_id")' 获取特定操作的参数要求、数据类型和示例,以便LLM客户端正确构建请求。
- LLM交互示例: "如何使用 discover_subreddits 功能?给我看看它的参数。"
-
执行操作: 根据获取到的模式,调用 'execute_operation("operation_id", {"parameters": ...})' 来执行实际的Reddit数据获取或搜索。
- LLM交互示例: "请帮我发现关于'AI编程助手'的子版块,限制10个结果。"
- LLM交互示例: "从Python和MachineLearning子版块中获取排名前5的热门帖子。"
-
利用Prompt模板进行自动化研究: 激活 'reddit_research' Prompt模板,并提供一个研究请求,LLM客户端将按照预设的复杂工作流,自动执行发现、数据获取、分析和报告生成。
- LLM交互示例 (Prompt激活): "使用reddit_research prompt来研究'用户对远程工作有哪些普遍看法?'"
-
阅读'reddit://server-info'资源: LLM客户端可以读取 'reddit://server-info' 资源,以获取服务器的详细功能、版本、更新日志、性能提示和认证信息。
- LLM交互示例: "给我介绍一下这个Reddit MCP服务器的所有功能和用法。"
信息
分类
AI与计算