使用说明
reddit mcp
MCP服务器 红迪 --通过stdio使用OAuth2用户身份验证搜索帖子、浏览子版块、阅读评论和写作。
安装
bunx @daanrongen/reddit-mcp
工具
| 域 | 工具 | 覆盖范围 |
|---|---|---|
| 搜索 | search_posts, search_subreddits |
全文帖子和subreddit搜索 |
| 浏览 | get_subreddit_posts, get_post, get_comments, get_subreddit_info |
阅读帖子、评论和subreddit信息 |
| 用户 | get_user_profile, get_user_posts, get_user_comments |
用户资料和活动历史 |
| 写 | submit_post, submit_comment, vote, save_post |
发布、评论、投票和保存(仅限OAuth) |
配置
| 变量 | 必填 | 描述 |
|---|---|---|
REDDIT_CLIENT_ID |
是 | OAuth2应用程序客户端ID |
REDDIT_CLIENT_SECRET |
是 | OAuth2应用程序客户端机密 |
REDDIT_REFRESH_TOKEN |
用于写入工具 | 刷新用户级访问令牌 |
REDDIT_USERNAME |
用于编写工具 | Reddit用户名 |
只读工具(search_posts、浏览和用户工具)仅使用 REDDIT_CLIENT_ID 和 REDDIT_CLIENT_SECRET 使用仅限应用程序的身份验证。写入工具需要有效的刷新令牌。
OAuth2设置
- 首选 https://www.reddit.com/prefs/apps
- 创建一个 脚本 应用程序(供个人使用)或 Web 应用 (用于用户身份验证)
- 注意 客户端ID (显示在应用程序名称下)和 客户端密钥
- 对于写访问,运行OAuth2授权流以获取刷新令牌
设置
克劳德桌面版
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"reddit": {
"type": "stdio",
"command": "bunx",
"args": ["@daanrongen/reddit-mcp"],
"env": {
"REDDIT_CLIENT_ID": "your-client-id",
"REDDIT_CLIENT_SECRET": "your-client-secret",
"REDDIT_REFRESH_TOKEN": "your-refresh-token",
"REDDIT_USERNAME": "your-username"
}
}
}
}
克劳德代码CLI
claude mcp add reddit \
-e REDDIT_CLIENT_ID=your-client-id \
-e REDDIT_CLIENT_SECRET=your-client-secret \
-- bunx @daanrongen/reddit-mcp
发展
bun install
bun run dev # run with --watch
bun test # run test suite
bun run typecheck # type-check without emit
bun run lint # biome lint
bun run format # biome format
bun run build # bundle to dist/main.js
就地检查
bun run inspect 启动 MCP检查员 反对当地建筑:
bun run build && bun run inspect
这将在浏览器中打开检查器UI,您可以在其中交互式调用任何工具并检查请求/响应形状。
建筑
src/
├── config.ts # Effect Config — REDDIT_CLIENT_ID, REDDIT_CLIENT_SECRET, …
├── main.ts # Entry point — ManagedRuntime + StdioServerTransport
├── domain/
│ ├── auth.test.ts # RedditAuth unit tests
│ ├── client.test.ts # RedditClient unit tests
│ ├── tools.test.ts # Tool-level data shape tests
│ ├── errors.ts # RedditError, AuthError
│ ├── models.ts # Schema.Class models (Post, Comment, Subreddit, …)
│ ├── RedditAuth.ts # Context.Tag auth service interface
│ └── RedditClient.ts # Context.Tag client service interface
├── infra/
│ ├── RedditAuthLive.ts # OAuth2 token management
│ ├── RedditClientLive.ts # Layer.scoped — Reddit API adapter
│ └── RedditClientTest.ts # In-memory test adapter
└── mcp/
├── server.ts # McpServer wired to ManagedRuntime
├── utils.ts # formatSuccess, formatError
└── tools/ # search.ts, browse.ts, user.ts, write.ts
许可证
麻省理工学院