Skip to main content
Glama
eliasbiondo

Reddit MCP Server

by eliasbiondo

Reddit MCP Server

PyPI License: MIT

A Model Context Protocol (MCP) server that provides AI assistants with access to Reddit data. Built on top of redd β€” no API keys required.

https://github.com/user-attachments/assets/af8ae52c-f9f3-4d04-80d5-4be0dfa61b0f


Table of Contents

  1. Features

  2. Quick Start

  3. Available Tools

  4. Configuration

  5. Architecture

  6. Contributing

  7. License


1. Features

  • πŸ” Search β€” Search all of Reddit or within a specific subreddit

  • πŸ“° Subreddit Posts β€” Browse hot, top, new, or rising posts from any subreddit

  • πŸ“– Post Details β€” Get full post content with nested comment trees

  • πŸ‘€ User Activity β€” View a user's recent posts and comments

  • πŸ“ User Posts β€” Get a user's submitted posts

No API keys, no authentication, no browser required. Just install and run.


2. Quick Start

2.1. Using uvx (recommended)

The fastest way to run the server β€” no clone needed:

# stdio transport (default, for Claude Desktop / Cursor / etc.)
uvx reddit-no-auth-mcp-server

# HTTP transport
uvx reddit-no-auth-mcp-server \
  --transport streamable-http \
  --port 8000

2.2. From source

git clone https://github.com/eliasbiondo/reddit-mcp-server.git
cd reddit-mcp-server
uv sync

Run the server:

# stdio transport (default)
uv run reddit-no-auth-mcp-server

# HTTP transport
uv run reddit-no-auth-mcp-server \
  --transport streamable-http \
  --port 8000

2.3. MCP Client Configuration

Claude Desktop

Add to your claude_desktop_config.json:

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

Cursor

Add to your .cursor/mcp.json:

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

From source (any MCP client)

{
  "mcpServers": {
    "reddit": {
      "command": "uv",
      "args": [
        "--directory", "/path/to/reddit-mcp-server",
        "run", "reddit-no-auth-mcp-server"
      ]
    }
  }
}

3. Available Tools

Tool

Description

Key Arguments

search

Search Reddit for posts

query, limit, sort

search_subreddit

Search within a subreddit

subreddit, query, limit, sort

get_post

Get post details + comment tree

permalink

get_subreddit_posts

Get subreddit listing

subreddit, limit, category, time_filter

get_user

Get user's activity feed

username, limit

get_user_posts

Get user's submitted posts

username, limit, category, time_filter

Tool Details

Search all of Reddit for posts matching a query.

query: "python async programming"
limit: 10
sort: "relevance"  # relevance, hot, top, new, comments

search_subreddit

Search within a specific subreddit.

subreddit: "Python"
query: "web scraping"
limit: 10
sort: "top"

get_post

Get full details of a Reddit post including its comment tree.

permalink: "/r/Python/comments/abc123/my_post/"

get_subreddit_posts

Get posts from a subreddit listing.

subreddit: "MachineLearning"
limit: 25
category: "hot"       # hot, top, new, rising
time_filter: "week"   # hour, day, week, month, year, all

get_user

Get a user's recent public activity (posts and comments).

username: "spez"
limit: 10

get_user_posts

Get a user's submitted posts.

username: "spez"
limit: 10
category: "top"       # hot, top, new
time_filter: "all"    # hour, day, week, month, year, all

4. Configuration

All settings can be configured via environment variables:

Variable

Default

Description

REDDIT_TRANSPORT

stdio

MCP transport (stdio, streamable-http)

REDDIT_HOST

127.0.0.1

Host for HTTP transport

REDDIT_PORT

8000

Port for HTTP transport

REDDIT_PATH

/mcp

Path for HTTP transport

REDDIT_LOG_LEVEL

WARNING

Log level (DEBUG, INFO, WARNING, ERROR)

REDDIT_PROXY

β€”

HTTP/HTTPS proxy URL

REDDIT_TIMEOUT

10.0

Request timeout in seconds

REDDIT_THROTTLE_MIN

1.0

Min delay between paginated requests (seconds)

REDDIT_THROTTLE_MAX

2.0

Max delay between paginated requests (seconds)

CLI arguments take precedence over environment variables:

uv run reddit-no-auth-mcp-server \
  --transport streamable-http \
  --port 9000 \
  --log-level DEBUG

5. Architecture

This project follows hexagonal architecture (ports & adapters):

src/reddit_mcp_server/
β”œβ”€β”€ domain/                # Pure business logic, no framework imports
β”‚   β”œβ”€β”€ exceptions.py      # Domain exception hierarchy
β”‚   └── value_objects.py   # Immutable config objects
β”œβ”€β”€ ports/                 # Abstract interfaces (contracts)
β”‚   β”œβ”€β”€ config.py          # ConfigPort
β”‚   └── reddit.py          # RedditPort
β”œβ”€β”€ application/           # Use cases (orchestration)
β”‚   β”œβ”€β”€ search.py
β”‚   β”œβ”€β”€ search_subreddit.py
β”‚   β”œβ”€β”€ get_post.py
β”‚   β”œβ”€β”€ get_user.py
β”‚   β”œβ”€β”€ get_subreddit_posts.py
β”‚   └── get_user_posts.py
β”œβ”€β”€ adapters/
β”‚   β”œβ”€β”€ inbound/           # Presentation layer
β”‚   β”‚   β”œβ”€β”€ cli.py         # CLI entry point
β”‚   β”‚   β”œβ”€β”€ mcp_server.py
β”‚   β”‚   β”œβ”€β”€ error_mapping.py
β”‚   β”‚   β”œβ”€β”€ serialization.py
β”‚   β”‚   └── mcp_tools/     # MCP tool definitions
β”‚   └── outbound/          # Infrastructure layer
β”‚       β”œβ”€β”€ env_config.py  # ConfigPort implementation
β”‚       └── redd_client.py # RedditPort implementation (wraps redd)
└── container.py           # DI composition root

6. Contributing

Contributions are welcome. Please read CONTRIBUTING.md for guidelines on setting up the project, running tests, and submitting changes.


7. License

MIT

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/eliasbiondo/reddit-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server