{
  "markdown": "# Reddit MCP Server\n\nA Model Context Protocol (MCP) server for interacting with Reddit - fetch posts, comments, user info, and **create content**.\n\n[![npm version](https://img.shields.io/npm/v/reddit-mcp-server.svg)](https://www.npmjs.com/package/reddit-mcp-server)\n[![npm downloads](https://img.shields.io/npm/dm/reddit-mcp-server.svg)](https://www.npmjs.com/package/reddit-mcp-server)\n[![GitHub stars](https://img.shields.io/github/stars/jordanburke/reddit-mcp-server.svg?style=flat&logo=github)](https://github.com/jordanburke/reddit-mcp-server/stargazers)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\n<a href=\"https://glama.ai/mcp/servers/@jordanburke/reddit-mcp-server\">\n  <img width=\"380\" height=\"200\" src=\"https://glama.ai/mcp/servers/@jordanburke/reddit-mcp-server/badge\" alt=\"reddit-mcp-server MCP server\" />\n</a>\n\n## Features at a Glance\n\n| Feature                         | reddit-mcp-server  | Other Reddit MCPs  |\n| ------------------------------- | :----------------: | :----------------: |\n| **Create Posts**                | :white_check_mark: |        :x:         |\n| **Reply to Posts/Comments**     | :white_check_mark: |        :x:         |\n| **Edit Posts/Comments**         | :white_check_mark: |        :x:         |\n| **Delete Posts/Comments**       | :white_check_mark: |        :x:         |\n| **Spam Protection (Safe Mode)** | :white_check_mark: |        :x:         |\n| **Bot Disclosure Footer**       | :white_check_mark: |        :x:         |\n| **Policy Compliance Built-in**  | :white_check_mark: |        :x:         |\n| Browse Subreddits               | :white_check_mark: | :white_check_mark: |\n| Search Reddit                   | :white_check_mark: | :white_check_mark: |\n| User Analysis                   | :white_check_mark: | :white_check_mark: |\n| Post Comments                   | :white_check_mark: | :white_check_mark: |\n| Zero-Setup Anonymous Mode       | :white_check_mark: | :white_check_mark: |\n| Three-Tier Auth (10/60/100 rpm) | :white_check_mark: | :white_check_mark: |\n\n## Quick Start\n\n### Option 1: Claude Desktop Extension (Easiest)\n\nDownload and open the extension file - Claude Desktop will install it automatically:\n\n**[Download reddit-mcp-server.mcpb](https://github.com/jordanburke/reddit-mcp-server/releases/latest/download/reddit-mcp-server.mcpb)**\n\n### Option 2: NPX (No install required)\n\n```bash\nnpx reddit-mcp-server\n```\n\nOr add to your MCP config (Claude Desktop, Cursor, etc.):\n\n```json\n{\n  \"mcpServers\": {\n    \"reddit\": {\n      \"command\": \"npx\",\n      \"args\": [\"reddit-mcp-server\"]\n    }\n  }\n}\n```\n\n### Option 3: Claude Code\n\n```bash\nclaude mcp add --transport stdio reddit -- npx reddit-mcp-server\n```\n\n## Features\n\n### Read-only Tools\n\n| Tool                      | Description                                                                 |\n| ------------------------- | --------------------------------------------------------------------------- |\n| `get_reddit_post`         | Get a specific Reddit post with engagement analysis                         |\n| `get_top_posts`           | Get top posts from a subreddit or home feed                                 |\n| `browse_subreddit`        | Browse a subreddit/home feed by sort (hot, new, top, rising, controversial) |\n| `get_user_info`           | Get detailed information about a Reddit user                                |\n| `get_user_posts`          | Get posts submitted by a specific user                                      |\n| `get_user_comments`       | Get comments made by a specific user                                        |\n| `get_subreddit_info`      | Get subreddit details and statistics                                        |\n| `get_trending_subreddits` | Get currently trending subreddits                                           |\n| `get_post_comments`       | Get comments from a specific post with threading                            |\n| `search_reddit`           | Search for posts across Reddit                                              |\n\n### Write Tools (Require User Credentials)\n\n| Tool             | Description                                 |\n| ---------------- | ------------------------------------------- |\n| `create_post`    | Create a new post in a subreddit            |\n| `reply_to_post`  | Post a reply to an existing post or comment |\n| `edit_post`      | Edit your own Reddit post (self-text only)  |\n| `edit_comment`   | Edit your own Reddit comment                |\n| `delete_post`    | Permanently delete your own post            |\n| `delete_comment` | Permanently delete your own comment         |\n\n## Configuration\n\n### Environment Variables\n\n| Variable                | Required | Default        | Description                                                   |\n| ----------------------- | -------- | -------------- | ------------------------------------------------------------- |\n| `REDDIT_CLIENT_ID`      | No\\*     | -              | Reddit app client ID                                          |\n| `REDDIT_CLIENT_SECRET`  | No\\*     | -              | Reddit app client secret                                      |\n| `REDDIT_USERNAME`       | No       | -              | Reddit username (for write operations)                        |\n| `REDDIT_PASSWORD`       | No       | -              | Reddit password (for write operations)                        |\n| `REDDIT_USER_AGENT`     | No       | Auto-generated | Custom User-Agent string                                      |\n| `REDDIT_AUTH_MODE`      | No       | `auto`         | Authentication mode: `auto`, `authenticated`, `anonymous`     |\n| `REDDIT_SAFE_MODE`      | No       | `standard`     | Write safeguards: `off`, `standard`, `strict`                 |\n| `REDDIT_BOT_DISCLOSURE` | No       | `off`          | Bot disclosure footer: `auto`, `off`                          |\n| `REDDIT_BOT_FOOTER`     | No       | Built-in       | Custom bot footer text (when disclosure is `auto`)            |\n| `REDDIT_CACHE`          | No       | `on`           | In-memory caching of read requests: `on`, `off`               |\n| `REDDIT_CACHE_MAX_MB`   | No       | `50`           | Cache size cap in MB (LRU eviction beyond this)               |\n| `REDDIT_MAX_RETRIES`    | No       | `3`            | Retries on HTTP 429 with Retry-After backoff (`0` to disable) |\n\n\\*Required only if using `authenticated` mode.\n\n### Full MCP Config Example\n\n```json\n{\n  \"mcpServers\": {\n    \"reddit\": {\n      \"command\": \"npx\",\n      \"args\": [\"reddit-mcp-server\"],\n      \"env\": {\n        \"REDDIT_CLIENT_ID\": \"your_client_id\",\n        \"REDDIT_CLIENT_SECRET\": \"your_client_secret\",\n        \"REDDIT_USERNAME\": \"your_username\",\n        \"REDDIT_PASSWORD\": \"your_password\",\n        \"REDDIT_SAFE_MODE\": \"standard\"\n      }\n    }\n  }\n}\n```\n\n## Safe Mode (Spam Protection)\n\nProtect your Reddit account from spam detection and bans with built-in safeguards. **Enabled by default** (`standard` mode) per Reddit's Responsible Builder Policy.\n\n### Why Use Safe Mode?\n\nReddit's spam detection can flag accounts for:\n\n- Rapid posting or commenting\n- Duplicate or similar content\n- Posting the same content across multiple subreddits\n- Non-standard User-Agent strings\n\nSafe Mode helps prevent these issues automatically.\n\n### Mode Options\n\n| Mode       | Write Delay | Duplicate Detection       | Use Case                       |\n| ---------- | ----------- | ------------------------- | ------------------------------ |\n| `off`      | None        | No                        | Explicit opt-out only          |\n| `standard` | 2 seconds   | Last 10 items + cross-sub | **Default**, recommended       |\n| `strict`   | 5 seconds   | Last 20 items + cross-sub | For cautious automated posting |\n\n### Disable Safe Mode\n\nSafe mode is enabled by default. To explicitly disable:\n\n```bash\nexport REDDIT_SAFE_MODE=off\nnpx reddit-mcp-server\n```\n\n### What Safe Mode Does\n\n1. **Rate Limiting**: Enforces minimum delays between write operations\n2. **Duplicate Detection**: Blocks identical content from being posted twice\n3. **Cross-Subreddit Detection**: Prevents posting the same content to multiple subreddits (per Reddit policy)\n4. **Smart User-Agent**: Auto-generates Reddit-compliant User-Agent format when username is provided\n\n## Bot Disclosure\n\nReddit's Responsible Builder Policy requires bots to disclose their automated nature. Enable automatic bot footers on all posted content:\n\n```bash\nexport REDDIT_BOT_DISCLOSURE=auto\nnpx reddit-mcp-server\n```\n\nWhen enabled, a footer is appended to all posts, replies, and edits:\n\n```\n---\n🤖 I am a bot | Built with reddit-mcp-server\n```\n\nCustomize the footer with `REDDIT_BOT_FOOTER`:\n\n```bash\nexport REDDIT_BOT_DISCLOSURE=auto\nexport REDDIT_BOT_FOOTER=$'\\n\\n---\\n^(🤖 Custom bot footer text)'\n```\n\n## Authentication Modes\n\n### Mode Comparison\n\n| Mode             | Rate Limit     | Setup Required | Best For                 |\n| ---------------- | -------------- | -------------- | ------------------------ |\n| `anonymous`      | ~10 req/min    | None           | Quick testing, read-only |\n| `auto` (default) | 10-100 req/min | Optional       | Flexible usage           |\n| `authenticated`  | 60-100 req/min | Required       | Production use           |\n\n### Anonymous Mode (Zero Setup)\n\n```json\n{\n  \"env\": {\n    \"REDDIT_AUTH_MODE\": \"anonymous\"\n  }\n}\n```\n\n**Anonymous mode does not work on every network.** Reddit blocks unauthenticated requests from many IP ranges — datacenters, cloud hosts, VPNs, and addresses it has flagged — and answers with an HTTP 403 block page. If you hit this, tools fail with:\n\n```\nReddit is blocking unauthenticated requests from this network (HTTP 403 with a\nblock page). Set REDDIT_CLIENT_ID and REDDIT_CLIENT_SECRET to authenticate with\nOAuth, which also raises the rate limit from ~10 to 60+ requests/min.\n```\n\nThe fix is OAuth credentials — see the next section. This is a property of your network, not of your Reddit account or the subreddit you asked for, so it affects every tool at once. A 403 on a single subreddit while others work is a different thing: that subreddit is private or quarantined.\n\n### Authenticated Mode (Higher Rate Limits)\n\n1. Create a Reddit app at https://www.reddit.com/prefs/apps (select \"script\" type)\n2. Copy the client ID and secret\n3. Configure:\n\n```json\n{\n  \"env\": {\n    \"REDDIT_AUTH_MODE\": \"authenticated\",\n    \"REDDIT_CLIENT_ID\": \"your_client_id\",\n    \"REDDIT_CLIENT_SECRET\": \"your_client_secret\"\n  }\n}\n```\n\n### Write Operations\n\nTo create posts, reply, edit, or delete content, you need user credentials:\n\n```json\n{\n  \"env\": {\n    \"REDDIT_USERNAME\": \"your_username\",\n    \"REDDIT_PASSWORD\": \"your_password\",\n    \"REDDIT_SAFE_MODE\": \"standard\"\n  }\n}\n```\n\n## Development\n\n### Commands\n\n```bash\npnpm install        # Install dependencies\npnpm build          # Build TypeScript\npnpm dev            # Build and run MCP inspector\npnpm test           # Run tests\npnpm lint           # Lint code\npnpm format         # Format code\n```\n\n### CLI Options\n\n```bash\nnpx reddit-mcp-server --version         # Show version\nnpx reddit-mcp-server --help            # Show help\nnpx reddit-mcp-server --generate-token  # Generate OAuth token for HTTP mode\n```\n\n## HTTP Server Mode\n\nFor Docker deployments or web-based clients, use HTTP transport:\n\n```bash\nTRANSPORT_TYPE=httpStream PORT=3000 node dist/index.js\n```\n\n### With OAuth Protection\n\n```bash\nexport OAUTH_ENABLED=true\nexport OAUTH_TOKEN=$(npx reddit-mcp-server --generate-token | tail -1)\nTRANSPORT_TYPE=httpStream node dist/index.js\n```\n\nMake authenticated requests:\n\n```bash\ncurl -H \"Authorization: Bearer $OAUTH_TOKEN\" \\\n     -H \"Content-Type: application/json\" \\\n     -d '{\"method\":\"tools/list\",\"params\":{}}' \\\n     http://localhost:3000/mcp\n```\n\n## Docker\n\n### Quick Start\n\n```bash\n# Pull and run\ndocker pull ghcr.io/jordanburke/reddit-mcp-server:latest\n\ndocker run -d \\\n  --name reddit-mcp \\\n  -p 3000:3000 \\\n  -e REDDIT_CLIENT_ID=your_client_id \\\n  -e REDDIT_CLIENT_SECRET=your_client_secret \\\n  -e REDDIT_SAFE_MODE=standard \\\n  ghcr.io/jordanburke/reddit-mcp-server:latest\n```\n\n### Docker Compose\n\n```yaml\nservices:\n  reddit-mcp:\n    image: ghcr.io/jordanburke/reddit-mcp-server:latest\n    ports:\n      - \"3000:3000\"\n    environment:\n      - REDDIT_CLIENT_ID=${REDDIT_CLIENT_ID}\n      - REDDIT_CLIENT_SECRET=${REDDIT_CLIENT_SECRET}\n      - REDDIT_USERNAME=${REDDIT_USERNAME}\n      - REDDIT_PASSWORD=${REDDIT_PASSWORD}\n      - REDDIT_SAFE_MODE=standard\n      - OAUTH_ENABLED=${OAUTH_ENABLED:-false}\n      - OAUTH_TOKEN=${OAUTH_TOKEN}\n    restart: unless-stopped\n```\n\n### Build Locally\n\n```bash\ndocker build -t reddit-mcp-server .\ndocker run -d --name reddit-mcp -p 3000:3000 --env-file .env reddit-mcp-server\n```\n\n## Reddit Responsible Builder Policy\n\nThis server is designed with [Reddit's Responsible Builder Policy](https://support.reddithelp.com/hc/en-us/articles/42728983564564-Responsible-Builder-Policy) in mind:\n\n- **Safe mode on by default** — rate limiting and duplicate detection prevent spam\n- **Cross-subreddit duplicate detection** — blocks identical content across subreddits\n- **Bot disclosure support** — optional automated footer for transparency\n- **No voting/karma manipulation** — upvote/downvote tools are intentionally excluded\n- **No private messaging** — DM tools are intentionally excluded\n- **Policy-aware AI instructions** — MCP server instructions remind AI assistants of data usage restrictions\n\n## Credits\n\n- Fork of [reddit-mcp-server](https://github.com/alexandros-lekkas/reddit-mcp-server) by Alexandros Lekkas\n- Inspired by [Python Reddit MCP Server](https://github.com/Arindam200/reddit-mcp) by Arindam200\n",
  "bytes": 13666,
  "sha": "3cbde4ad123b02397c5e64c6b6a77d695de18bac49cbf21a147b385a90e01663",
  "repo_slug": "jordanburke/reddit-mcp-server",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_jordanburke_reddit_mcp_server_a8867c41/readme"
}