reddit-no-auth-mcp-server
A Model Context Protocol Server for Reddit β browse, search, and read Reddit from any MCP client. No API keys required.
Ask AI about reddit-no-auth-mcp-server
Powered by Claude Β· Grounded in docs
I know everything about reddit-no-auth-mcp-server. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Reddit MCP Server
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
- π 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
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.
