中文版 | English
一个全面的 MCP 服务器,通过 Reddit API 访问 Reddit 数据
这是一个提供无缝访问 Reddit 数据的 Model Context Protocol (MCP) 服务器,包括子版块、帖子、评论和搜索功能。使用 TypeScript 和官方 Reddit API 构建,以实现可靠且快速的数据检索。
npm install reddit-mcp
或者直接使用 npx:
npx reddit-mcp
在使用此 MCP 服务器之前,您需要获得 Reddit API 凭据:
创建 Reddit 应用:
client_id 和 client_secret设置环境变量:
export REDDIT_CLIENT_ID="your_client_id_here"
export REDDIT_CLIENT_SECRET="your_client_secret_here"
或者创建一个 .env 文件:
REDDIT_CLIENT_ID=your_client_id_here
REDDIT_CLIENT_SECRET=
your_client_secret_here
{
"mcpServers": {
"reddit": {
"command": "npx",
"args": ["reddit-mcp"],
"env": {
"REDDIT_CLIENT_ID": "your_client_id_here",
"REDDIT_CLIENT_SECRET": "your_client_secret_here"
}
}
}
}
{
"mcpServers": {
"reddit": {
"command": "npx",
"args": ["reddit-mcp"],
"env": {
"REDDIT_CLIENT_ID": "your_client_id_here",
"REDDIT_CLIENT_SECRET": "your_client_secret_here"
}
}
}
}
{
"mcp.servers": {
"reddit": {
"command": "npx",
"args": ["reddit-mcp"],
"transport": "stdio",
"env": {
"REDDIT_CLIENT_ID": "your_client_id_here",
"REDDIT_CLIENT_SECRET": "your_client_secret_here"
}
}
}
}
get_subreddit获取特定子版块的详细信息。
参数:
name(必需):要检索的子版块名称(不带 'r/' 前缀)示例用法:
"获取编程子版块的信息"
"显示 MachineLearning 子版块的详细信息"
返回值:
search_posts在子版块内搜索帖子或获取热门帖子。
参数:
subreddit(必需):要搜索的子版块名称query(可选):搜索查询字符串(如果为空,则返回热门帖子)sort(可选):排序方法 - "相关性", "热门", "最新", "顶级", "评论"(默认:"热门")time(可选):时间范围 - "全部", "小时", "天", "周", "月", "年"(默认:"全部")limit(可选):要返回的最大帖子数(1-100,默认:10)示例用法:
"在 r/MachineLearning 中搜索关于 '人工智能' 的帖子"
"获取 r/programming 中排名前 20 的热门帖子"
"查找过去一周内 r/webdev 中关于 'React' 的新帖子"
返回值:
get_submission获取特定帖子的详细信息。
参数:
id(必需):帖子 ID(带有或不带有 't3_' 前缀)示例用法:
"获取帖子 ID abc123 的详细信息"
"显示帖子 t3_xyz789 的完整内容"
返回值:
get_comments_by_submission获取特定帖子的评论。
参数:
submission_id(必需):要获取评论的帖子 IDsort(可选):评论排序方法 - "信心", "顶级", "最新", "争议", "旧", "随机", "问答", "实时"(默认:"信心")limit(可选):要返回的最大评论数(1-100,默认:10)示例用法:
"获取帖子 abc123 的前 15 条顶级评论"
"显示帖子 xyz789 的最新评论"
返回值:
get_comment获取特定评论的详细信息。
参数:
id(必需):评论 ID(带有或不带有 't1_' 前缀)示例用法:
"获取评论 ID def456 的详细信息"
"显示评论 t1_ghi789"
返回值:
search_subreddits按名称或描述搜索子版块。
参数:
query(必需):子版块名称或描述的搜索查询limit(可选):要返回的最大子版块数(1-100,默认:10)示例用法:
"搜索关于烹饪的子版块"
"查找与编程相关的子版块"
返回值:
"找到本周 r/technology 中最受欢迎的帖子"
"搜索 r/MachineLearning 中关于 'GPT-4' 的讨论"
"获取 r/datascience 的信息并显示排名前 10 的帖子"
"查找与 '区块链' 相关的子版块并显示其订阅者数量"
"获取帖子 abc123 的顶级评论并分析情感"
"显示帖子 xyz789 的争议性评论"
"今天 r/programming 中的趋势话题是什么?"
"搜索相关子版块中的 'ChatGPT' 帖子"
# 克隆仓库
git clone https://github.com/SzeMeng76/mcp-server-reddit-ts.git
cd mcp-server-reddit-ts
# 安装依赖
npm install
# 设置环境变量
cp .env.example .env
# 编辑 .env 文件,填写您的 Reddit API 凭据
# 启动服务器
npm start
mcp-server-reddit-ts/
├── index.js # 主 MCP 服务器实现
├── package.json # 依赖项和脚本
├── .env.example # 环境变量模板
└── README.md # 文档
git checkout -b feature-nameMIT 许可证 - 详情见 LICENSE 文件。
专为 Reddit 数据分析、内容研究和社区洞察而设计 🔴📊