Skip to main content

MCP server for scraping Reddit - no API keys required

Project description

mcp-reddit

MCP server for scraping Reddit - no API keys required.

Scrapes posts and comments from subreddits and user profiles using Reddit's public RSS/Atom feeds.

[!IMPORTANT] What changed in v0.4.0: Reddit shut down unauthenticated .json access in May 2026, which broke this project (and every other keyless Reddit scraper). v0.4.0 pivots to Reddit's still-public .rss feeds. Still zero API keys - but RSS exposes less data: no scores, upvote ratios, comment counts, NSFW flags, or comment threading. Those fields were removed from the data model. Comments are flat, up to 100 per post.

Features

  • No API keys - Uses public RSS feeds, no Reddit API credentials needed
  • Posts & comments - Titles, authors, timestamps, selftext, flat comment bodies
  • Image previews - Downloads preview images (videos unavailable via RSS)
  • Local persistence - Query scraped data offline
  • Filtering - By post type and keywords

Installation

pip install mcp-reddit

Or with uvx:

uvx mcp-reddit

Usage Modes

Local (stdio) - Default

For local MCP clients like Claude Desktop and Claude Code:

uvx mcp-reddit

Remote (HTTP/SSE)

For remote MCP clients that connect via URL:

uvx mcp-reddit --http --port 8000

Options:

  • --http - Run in HTTP/SSE mode instead of stdio
  • --host - Host to bind to (default: 0.0.0.0)
  • --port - Port to listen on (default: 8000, or PORT env var)

The server exposes:

  • GET /sse - SSE endpoint for MCP connection
  • POST /messages/ - Message endpoint
  • GET /health - Health check

Configuration

Add to your Claude Desktop or Claude Code settings:

Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json)

Claude Desktop doesn't inherit your shell PATH, so you need the full path to uvx:

# Find your uvx path
which uvx

Then use the full path in your config:

{
  "mcpServers": {
    "reddit": {
      "command": "/Users/YOUR_USERNAME/.local/bin/uvx",
      "args": ["mcp-reddit"]
    }
  }
}

Replace /Users/YOUR_USERNAME/.local/bin/uvx with the output from which uvx.

Claude Code

claude mcp add reddit -- uvx mcp-reddit

Or manually in ~/.claude.json:

{
  "mcpServers": {
    "reddit": {
      "command": "uvx",
      "args": ["mcp-reddit"]
    }
  }
}

Available Tools

Tool Description
scrape_subreddit Scrape newest posts from a subreddit
scrape_user Scrape posts from a user's profile
scrape_post Fetch a specific post by URL (supports image download)
get_posts Query stored posts with filters
get_comments Query stored comments
search_reddit Search across all scraped data
list_scraped_sources List all scraped subreddits/users

get_top_posts was removed in v0.4.0 - RSS feeds expose no scores to rank by. Calling it returns a JSON error pointing to get_posts (newest first) or search_reddit.

Example Usage

"Scrape the latest 50 posts from r/LocalLLaMA"

"Fetch this post and download the image: https://reddit.com/r/ClaudeAI/comments/abc123/title"

"Search my scraped data for posts about 'fine-tuning'"

Data Storage

Data is stored in ~/.mcp-reddit/data/ by default.

Data scraped with pre-v0.4.0 versions is migrated to the new (narrower) schema automatically on the next scrape of that subreddit/user - existing posts and comments stay queryable, and the original file is preserved as *.pre-rss.bak.

Set MCP_REDDIT_DATA_DIR environment variable to customize:

{
  "mcpServers": {
    "reddit": {
      "command": "/Users/YOUR_USERNAME/.local/bin/uvx",
      "args": ["mcp-reddit"],
      "env": {
        "MCP_REDDIT_DATA_DIR": "/path/to/your/data"
      }
    }
  }
}

Credits

Built on top of reddit-universal-scraper by @ksanjeev284 - a full-featured Reddit scraper with analytics dashboard, REST API, and plugin system.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_reddit-0.4.0.tar.gz (16.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_reddit-0.4.0-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file mcp_reddit-0.4.0.tar.gz.

File metadata

  • Download URL: mcp_reddit-0.4.0.tar.gz
  • Upload date:
  • Size: 16.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for mcp_reddit-0.4.0.tar.gz
Algorithm Hash digest
SHA256 613638be190def2f67b24543034cc7d6550cdc90b159cfb6e3c543d4484723f4
MD5 f8b1c868736fed15fbd9b91143fc08be
BLAKE2b-256 0ed7def08937a8c48d644e1730703e8e0799121b1b7a8d23b06c96156a0b1071

See more details on using hashes here.

File details

Details for the file mcp_reddit-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_reddit-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for mcp_reddit-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3ca096aad918c1dd905b0d23469e65637dac73c3080be66de436ced26ef6a6ae
MD5 5298f2fd400dc0a69fabad65e996cca7
BLAKE2b-256 9df4b03d91058426e7ae3efd67dc4afb4db8583adbd26067841add71600efe79

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page