使用说明
Reddit MCP服务器
Reddit API的MCP服务器,通过OAuth刷新令牌提供完全读/写支持。无需用户名或密码——使用Reddit的标准OAuth 2.0 web应用程序流。
为什么存在
现有的Reddit MCP服务器需要用户名/密码才能进行写入操作。这个使用Reddit的OAuth刷新令牌流——在浏览器中授权一次,服务器自动处理令牌刷新。
可用工具
阅读
| 工具 | 说明 |
|---|---|
reddit_get_post |
获取带有评论的帖子 |
reddit_get_top_posts |
来自subreddit的热门帖子 |
reddit_search |
搜索Reddit |
reddit_get_subreddit_info |
子涡流元数据 |
reddit_get_user_info |
用户资料信息 |
写
| 工具 | 说明 |
|---|---|
reddit_create_post |
创建文本或链接帖子 |
reddit_reply |
回复帖子或评论 |
reddit_edit |
编辑您自己的帖子或评论 |
reddit_delete |
删除您自己的帖子或评论 |
reddit_vote |
投票赞成、投票反对或未投票 |
先决条件
- Node.js 18+
- Reddit“网络应用程序” --创建一个 reddit.com/prefs/apps
- 类型: Web 应用
- 重定向URI:
http://localhost:48820/callback - 注意你的 客户端ID (在应用程序名称下)和 客户端密钥
设置
选项1:OAuth(推荐)
添加到您的MCP客户端配置中(例如Claude Desktop):
{
"mcpServers": {
"reddit": {
"command": "npx",
"args": ["-y", "@pegasusheavy/reddit-mcp-server"],
"env": {
"REDDIT_CLIENT_ID": "your-client-id",
"REDDIT_CLIENT_SECRET": "your-client-secret"
}
}
}
}
首次运行时,会打开一个浏览器进行Reddit授权。批准后,刷新令牌将保存到 .reddit-token.json 并在后续启动时自动刷新。
选项2:手动令牌
如果您已经拥有OAuth访问令牌:
{
"mcpServers": {
"reddit": {
"command": "npx",
"args": ["-y", "@pegasusheavy/reddit-mcp-server"],
"env": {
"REDDIT_ACCESS_TOKEN": "your-token"
}
}
}
}
环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
REDDIT_CLIENT_ID |
是* | Reddit应用程序客户端ID |
REDDIT_CLIENT_SECRET |
是* | Reddit应用程序客户端机密 |
REDDIT_ACCESS_TOKEN |
否 | 手动令牌回退(OAuth的替代方案) |
REDDIT_USER_AGENT |
否 | 自定义用户代理(默认为 linux:@pegasusheavy/reddit-mcp:v1.0.0 by PegasusHeavy) |
*除非使用 REDDIT_ACCESS_TOKEN.
工具调用示例
搜索Reddit
{
"name": "reddit_search",
"arguments": {
"query": "rust programming",
"subreddit": "programming",
"sort": "top",
"time": "week",
"limit": 5
}
}
创建帖子
{
"name": "reddit_create_post",
"arguments": {
"subreddit": "test",
"title": "Hello from MCP",
"text": "Posted via the Reddit MCP server."
}
}
对评论的回复
{
"name": "reddit_reply",
"arguments": {
"thingId": "t1_abc123",
"text": "Great point! Here's my take..."
}
}
发展
git clone https://github.com/pegasusheavy/reddit-mcp.git
cd reddit-mcp
pnpm install
pnpm build
pnpm test
脚本
pnpm build # Compile TypeScript
pnpm dev # Run from source with tsx
pnpm test # Run tests
pnpm lint # ESLint
pnpm format:check # Prettier check
项目结构
src/
├── index.ts # Entry point — env check, auth, server launch
├── server.ts # MCP server with tool registration
├── auth/
│ ├── oauth.ts # RedditOAuth + TokenManager classes
│ └── oauth-server.ts # Local HTTP callback server (port 48820)
├── client/
│ └── reddit-client.ts # Axios-based Reddit API client
└── types/
└── reddit.ts # Zod schemas and TypeScript types
贡献
- 分叉回购
- 创建要素分支(
git checkout -b feature/my-feature关develop) - 用常规承诺进行承诺(
feat:,fix:,chore:等等) - 打开一个PR
develop
许可证
麻省理工学院——见 许可证 了解详情。
版权所有(c)2025飞马重工业有限公司
