reddit-mcp
README.md
# 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.it` URLs
- **Safety built-in** — untrusted content disclaimer, text truncation, timeout protection, rate limit handling
## Requirements
- Node.js 22+
## Installation
```bash
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`):
```json
{
"mcpServers": {
"reddit": {
"command": "node",
"args": ["/absolute/path/to/reddit-mcp/dist/index.js"]
}
}
}
```
### Claude Code
Add to your Claude Code MCP settings:
```bash
claude mcp add reddit -- node /absolute/path/to/reddit-mcp/dist/index.js
```
### Development
```bash
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](LICENSE)
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues