reddit-mcp
A Model Context Protocol (MCP) server that lets LLMs fetch and read content from Reddit. Give Claude the ability to browse posts, comments, and subreddit listings.
Features
- Post pages — fetches title, body, metadata, and threaded comments
- Subreddit listings — retrieves post listings from any subreddit
- User pages — browses a user's post history
- Short links — automatically expands
redd.itURLs - Safety built-in — untrusted content disclaimer, text truncation, timeout protection, rate limit handling
Requirements
- Node.js 22+
Installation
git clone https://github.com/quzma/reddit-mcp.git
cd reddit-mcp
npm install
npm run build
Usage
Claude Desktop
Add to your Claude Desktop MCP config (claude_desktop_config.json):
{
"mcpServers": {
"reddit": {
"command": "node",
"args": ["/absolute/path/to/reddit-mcp/dist/index.js"]
}
}
}
Claude Code
Add to your Claude Code MCP settings:
claude mcp add reddit -- node /absolute/path/to/reddit-mcp/dist/index.js
Development
npm run dev
Tool
fetch_reddit
Fetch content from a Reddit URL.
| Parameter | Type | Required | Description |
|---|---|---|---|
url |
string | Yes | Reddit URL (post, subreddit, or user page) |
comment_limit |
number | No | Max top-level comments to include (0-50, default 15) |
Supported URL formats:
https://reddit.com/r/subreddit/comments/id/title/https://reddit.com/r/subreddit/https://reddit.com/user/username/https://redd.it/id- Old/new/www Reddit URL variants
How It Works
Uses Reddit's public JSON API — no API keys or OAuth needed. The server communicates over stdio using the MCP protocol, so it works as a local tool for any MCP-compatible client.
Content safety measures:
- All output is prefixed with an untrusted-content disclaimer
- Post/comment text truncated at 20,000 characters
- Comment nesting limited to 2 levels, 5 replies per comment
- 15-second request timeout
- Rate limit (429) and forbidden (403) error handling
License
MIT — see LICENSE