Reddit只读MCP服务器

一个使用TypeScript实现的Reddit公共内容只读MCP服务器,支持列表帖子、获取帖子、获取评论和搜索功能。

  • by waszkowski
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 waszkowski/reddit-mcp

使用说明

reddit mcp

使用TypeScript的公共Reddit内容的只读MCP服务器。

在v1中实现

  • reddit.list_subreddit_posts
  • reddit.get_post
  • reddit.get_comments
  • reddit.search
  • reddit.read_large_result

不在v1中

  • 没有写/创建/编辑/删除操作。
  • 没有OAuth流。
  • 还没有RSS回退(请参阅 docs/rss-fallback-plan.md).

运行时

主运行时是Bun。节点回退也是可能的。

安装

bun install

跑步(Bun)

bun run dev

运行(节点回退)

npm install
npm run start:node

Claude MCP配置示例(Bun)

{
  "mcpServers": {
    "reddit": {
      "command": "bun",
      "args": ["run", "/absolute/path/to/reddit-mcp/src/index.ts"],
      "env": {
        "REDDIT_USER_AGENT": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
      }
    }
  }
}

Claude MCP配置示例(节点)

{
  "mcpServers": {
    "reddit": {
      "command": "npx",
      "args": ["tsx", "/absolute/path/to/reddit-mcp/src/index.ts"],
      "env": {
        "REDDIT_USER_AGENT": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
      }
    }
  }
}

大型结果工作流程

当Claude说工具输出太大并给出文件路径时,请使用以下命令分块读取:

  • reddit.read_large_result 随着 filePath, offset, limit
  • 从...开始 offset=0, limit=8000
  • 使用返回 nextOffset 直到 done=true

备注

  • 仅限公共数据。
  • REDDIT_USER_AGENT 可以在Claude MCP配置中进行自定义。
  • 处理客户端工作流中的429/403上游响应。
  • MCP响应中启用了工具有效载荷大小保护:
    • limit 已加盖(search/list 最多25, comments 最大50)。
    • 长文本字段在服务器端被截断。
    • 如果输出仍然太大,MCP将返回一个紧凑的截断消息。
  • 可选环境:
    • MCP_MAX_OUTPUT_CHARS (默认值 60000)调整发送给Claude的最大响应大小。
    • MCP_TOOL_RESULTS_ROOTS (逗号分隔,默认 /sessions)控制哪些文件根可由读取 reddit.read_large_result.