Skip to main content
Glama
waszkowski

reddit-mcp

by waszkowski

reddit-mcp

Read-only MCP server for public Reddit content (TypeScript).

Backend: Arctic-Shift archive

Reddit blocks unauthenticated access to its www.reddit.com/...json endpoints (HTTP 403), and self-service OAuth app creation is closed under the Responsible Builder Policy. This server therefore reads from the Arctic-Shift archive API (arctic-shift.photon-reddit.com) — a free, no-credentials archive that covers essentially all public subreddits, posts and comments.

Trade-offs to be aware of:

  • Latency ~24–48h. Arctic-Shift ingests continuously, but score / num_comments are a snapshot frozen ~36h after a post is created; posts younger than ~36h report score=1 / num_comments=0. Comment content is captured close to real time.

  • Sorting is date-based. Only the sorts that can be honestly reproduced are exposed (see below); hot / rising and the live ranking algorithms are not available.

Related MCP server: reddit-rss-mcp

Tools

  • reddit_list_subreddit_postssort: new (exact chronological, paginated via nextCursor) or top (highest score within the timeframe window).

  • reddit_get_post — by postId (t3_… or bare id), /comments/<id>/ permalink, or redd.it/<id> short link.

  • reddit_get_comments — full thread, reconstructed into a tree. sort: top / new / old; depth limits nesting; limit caps total comments returned.

  • reddit_search — see below.

  • reddit_read_large_result — chunked reader for oversized tool output.

Search (hybrid)

  • Scoped (with subreddit or author): full-text search via Arctic-Shift — fresh, full metadata. query is optional here, so this also lists a subreddit's or author's newest/top posts without a keyword. sort: new (date, paginated), top (by score in window), relevance (mapped to top, since the archive has no relevance ranking).

  • Global (query only): Arctic-Shift cannot do cross-subreddit keyword search, so the query goes to Reddit's own search.rss feed for discovery, and the resulting post ids are enriched back into full objects via Arctic-Shift. This path is rate-limited to ~1 request/minute unless you supply a personal RSS feed token (see env vars below). Use the returned id / permalink to follow up with reddit_get_post / reddit_get_comments.

Runtime

Primary runtime is Bun. Node fallback is also possible.

Install

bun install

Run (Bun)

bun run dev

Run (Node fallback)

npm install
npm run start:node

Test / typecheck

bun test
bun run check

Claude MCP config example (Bun)

{
  "mcpServers": {
    "reddit": {
      "command": "bun",
      "args": ["run", "/absolute/path/to/reddit-mcp/src/index.ts"]
    }
  }
}

Environment variables (all optional)

  • ARCTIC_SHIFT_BASE — override the Arctic-Shift API base URL.

  • REDDIT_RSS_USER + REDDIT_RSS_FEED — personal RSS feed token (from Reddit's "RSS feeds" preferences page) to lift the ~1/min throttle on global search. Needs no OAuth app.

  • REDDIT_USER_AGENT — override the outgoing User-Agent.

  • MCP_MAX_OUTPUT_CHARS (default 60000) — max response size sent to Claude before truncation.

  • MCP_TOOL_RESULTS_ROOTS (comma-separated, default /sessions) — file roots readable by reddit_read_large_result.

Large results workflow

When Claude reports that tool output is too large and gives a file path, read it in chunks with reddit_read_large_result (filePath, offset, limit): start at offset=0, limit=8000, and follow the returned nextOffset until done=true.

Notes

  • Public data only. No write/create/edit/delete operations. No OAuth.

  • /s/ share links cannot be resolved offline — pass a postId or a /comments/<id>/ URL.

  • Pagination cursors are epoch seconds and are only returned for new listings/searches.

  • Output size protection: limit is capped (search/list 25, comments 50), long text fields are truncated, and oversized payloads fall back to a compact truncation message.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that provides both read-only and authenticated access to Reddit content and interactions without requiring a developer API key. It enables users to browse posts, search subreddits, and perform write actions like commenting and voting by leveraging browser session cookies.
    8
    2
    -
  • A
    license
    A
    quality
    D
    maintenance
    A dependency-free MCP server that reads Reddit through its RSS feeds, enabling search, browsing subreddits, and reading post comments without any API keys or authentication.
    3
    7 npm
    14
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A read-only MCP server that connects to the Reddit Data API to search posts, browse subreddits, read comments, view user profiles, and check trending content through the Model Context Protocol.
    6 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A local, read-only Reddit MCP server that provides tools for searching posts, retrieving posts/comments, subreddit information, and user content via the official Reddit Data API with caching and privacy-focused features.
    -