A Model Context Protocol (MCP) server that provides AI assistants with access to Reddit data. Built on top of redd β no API keys required.
0311.mp4
- π 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.
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 8000git clone https://github.com/eliasbiondo/reddit-mcp-server.git
cd reddit-mcp-server
uv syncRun 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 8000Add to your claude_desktop_config.json:
{
"mcpServers": {
"reddit": {
"command": "uvx",
"args": ["reddit-no-auth-mcp-server"]
}
}
}Add to your .cursor/mcp.json:
{
"mcpServers": {
"reddit": {
"command": "uvx",
"args": ["reddit-no-auth-mcp-server"]
}
}
}{
"mcpServers": {
"reddit": {
"command": "uv",
"args": [
"--directory", "/path/to/reddit-mcp-server",
"run", "reddit-no-auth-mcp-server"
]
}
}
}| 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 |
Search all of Reddit for posts matching a query.
query: "python async programming"
limit: 10
sort: "relevance" # relevance, hot, top, new, comments
Search within a specific subreddit.
subreddit: "Python"
query: "web scraping"
limit: 10
sort: "top"
Get full details of a Reddit post including its comment tree.
permalink: "/r/Python/comments/abc123/my_post/"
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 a user's recent public activity (posts and comments).
username: "spez"
limit: 10
Get a user's submitted posts.
username: "spez"
limit: 10
category: "top" # hot, top, new
time_filter: "all" # hour, day, week, month, year, all
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 DEBUGThis 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
Contributions are welcome. Please read CONTRIBUTING.md for guidelines on setting up the project, running tests, and submitting changes.