Skip to main content
Glama
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)