Skip to main content
Glama
tonyzorin

reddit-mcp

by tonyzorin
README.md
# Reddit MCP Server

A full-featured Reddit MCP (Model Context Protocol) server built with FastMCP and PRAW. Runs in Docker and integrates with Cursor AI.

## Prerequisites

- Docker
- A Reddit account with API credentials

## Reddit API Setup

1. Go to https://www.reddit.com/prefs/apps
2. Click **"create another app..."**
3. Choose **script** type
4. Set redirect URI to `http://localhost:8080`
5. Note the **client_id** (shown under the app name) and **client_secret**

## Build the Docker Image

```bash
docker build -t reddit-mcp /home/anton/reddit-mcp
```

## Cursor Configuration

Add to `~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "reddit": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "REDDIT_CLIENT_ID",
        "-e", "REDDIT_CLIENT_SECRET",
        "-e", "REDDIT_USERNAME",
        "-e", "REDDIT_PASSWORD",
        "-e", "REDDIT_USER_AGENT",
        "reddit-mcp"
      ],
      "env": {
        "REDDIT_CLIENT_ID": "your_client_id",
        "REDDIT_CLIENT_SECRET": "your_client_secret",
        "REDDIT_USERNAME": "your_username",
        "REDDIT_PASSWORD": "your_password",
        "REDDIT_USER_AGENT": "cursor:reddit-mcp:v1.0 (by /u/your_username)"
      }
    }
  }
}
```

## Available Tools

### Reading
| Tool | Description |
|------|-------------|
| `get_subreddit_posts` | Fetch hot/new/top/rising posts from a subreddit |
| `get_post_details` | Get a post with its top comments |
| `get_user_profile` | View a Reddit user's profile and recent activity |
| `search_reddit` | Search posts across Reddit or within a subreddit |
| `search_subreddits` | Find subreddits by keyword |
| `get_subreddit_info` | Get subreddit metadata (rules, description, subscriber count) |

### Writing
| Tool | Description |
|------|-------------|
| `submit_post` | Create a new text or link post |
| `submit_comment` | Reply to a post or comment |
| `vote` | Upvote/downvote/unvote on a post or comment |
| `save_item` | Save or unsave a post or comment |

### Monitoring
| Tool | Description |
|------|-------------|
| `get_trending` | Get trending posts across Reddit |
| `get_my_profile` | View your authenticated profile and karma |
| `get_saved_items` | List your saved posts and comments |

## Rate Limits

Reddit allows 60 authenticated requests per minute. PRAW handles this automatically.