reddit-mcp

reddit-mcp

A read-only Model Context Protocol server that enables browsing subreddits, searching within subreddits, retrieving comment trees, and looking up user activity on Reddit via natural language.

Category
Visit Server

README

reddit-mcp

A read-only Model Context Protocol server that wraps the Reddit API for subreddit browsing, in-subreddit search, comment-tree retrieval, and user-activity lookup. Intended for personal use tracking r/homelabsales, r/hardwareswap, and similar subreddits via Claude Code and Claude Desktop. Written in Python, runs locally over stdio.

Auth tiers (all optional)

The server auto-detects which of three tiers to use from which env vars you set:

Tier Rate limit Env vars Notes
Anonymous 10 rpm REDDIT_USER_AGENT (recommended) Works with no setup; uses public .json endpoints.
App-only OAuth 60 rpm Above + REDDIT_CLIENT_ID + REDDIT_CLIENT_SECRET Requires a Reddit app.
Authenticated 100 rpm Above + REDDIT_USERNAME + REDDIT_PASSWORD Password grant; stores password in plaintext config.

New users: start with anonymous. Reddit ended self-service API key creation in November 2025 (Responsible Builder Policy), so obtaining OAuth credentials now requires an approval gate that usually declines personal scripts. Anonymous covers every read path this server implements. See docs/design.md section 3.2 for the full story.

Plugin install (local dev)

The whole repo is a Claude Code plugin (skill + slash commands + MCP server bundled). To try it locally:

cd /Users/conrad/Ai/reddit_mcp
uv pip install -e .                                          # one-time, sets up the MCP server in a venv
claude plugin marketplace add /Users/conrad/Ai/reddit_mcp    # register this repo as a local marketplace
claude plugin install reddit-deal-hunter@reddit-mcp-local    # install + enable the plugin

Restart Claude Code. On first MCP activation you will be prompted for five fields (reddit_user_agent, reddit_client_id, reddit_client_secret, reddit_username, reddit_password), all optional. Leave any or all blank to stay on a lower tier. Setting reddit_user_agent is recommended regardless of tier; use the format macos:reddit-mcp:0.2 (by /u/yourusername).

Once activated, the skill, commands /reddit-deal-hunter:scan and /reddit-deal-hunter:thread-check, and all four MCP tools (get_subreddit_posts, search_subreddit, get_post_details, user_analysis) become available.

Heads-up: as of April 2026 the MCP layer of the plugin bundle may not attach tools to Claude Code sessions on every install (inline mcpServers in plugin.json is documented-as-supported but the GUI runtime behavior varies). If the skill and slash commands show up but the mcp__reddit_mcp__* tools do not, fall back to the MCP-only install path below. See docs/tool-ux-findings.md and HANDOFF.md (session 5 addendum) for detail.

Manual install (MCP only, no plugin) — currently the most reliable path

If you want only the MCP server (no skill, no slash commands), or if the plugin-layer install above does not attach the MCP tools to your session, register it with Claude Code at user scope directly:

cd /Users/conrad/Ai/reddit_mcp
uv venv --python 3.12
uv pip install -e .

# Anonymous (zero credentials):
claude mcp add reddit_mcp \
  --scope user \
  --env REDDIT_USER_AGENT="macos:reddit-mcp:0.2 (by /u/yourusername)" \
  -- uv run --directory /Users/conrad/Ai/reddit_mcp reddit-mcp

# OAuth app-only (add client creds):
claude mcp add reddit_mcp \
  --scope user \
  --env REDDIT_USER_AGENT="macos:reddit-mcp:0.2 (by /u/yourusername)" \
  --env REDDIT_CLIENT_ID=YOUR_REDDIT_CLIENT_ID \
  --env REDDIT_CLIENT_SECRET=YOUR_REDDIT_CLIENT_SECRET \
  -- uv run --directory /Users/conrad/Ai/reddit_mcp reddit-mcp

Verify with claude mcp list (expect reddit_mcp ✓ Connected) and restart Claude Code so the tools attach to new sessions.

See docs/design.md section 7 for Claude Desktop registration and other client wiring.

Repo layout

reddit-mcp/
├── .claude-plugin/
│   ├── plugin.json                 # plugin manifest + inline mcpServers block
│   └── marketplace.json            # single-plugin local-marketplace descriptor
├── CLAUDE.md                       # repo-specific working notes for Claude Code
├── commands/                       # user-invoked slash commands
│   ├── scan.md                     # /reddit-deal-hunter:scan <query>
│   └── thread-check.md             # /reddit-deal-hunter:thread-check <permalink-or-id>
├── docs/
│   ├── design.md                   # full design, the authoritative read
│   ├── supply-chain-baseline.md    # pinned-deps audit baseline
│   └── tool-ux-findings.md         # known issues surfaced by the live eval run
├── evals/
│   └── reddit_eval.xml             # 10 qa_pairs for mcp-builder evaluation
├── pyproject.toml                  # mcp, httpx (pinned)
├── reddit_mcp.py                   # the MCP server (uses mcp SDK FastMCP)
├── skills/
│   └── deal-hunter/SKILL.md        # model-invoked deal-watching heuristics
└── tests/test_smoke.py             # module import + tool registration

Status

Pre-v1. Anonymous tier works end to end with zero credentials (live-validated against Reddit; 10/10 eval-suite pass). OAuth upgrade paths work if you have credentials. Remaining v1 work: a tool-response-projection refactor tracked in docs/tool-ux-findings.md. Public release after v1 validates.

See docs/design.md for the full design and rationale, CLAUDE.md for the working-notes version, and HANDOFF.md for the session-to-session handoff.

License

MIT.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured