reddit-mcp
Provides tools for searching Reddit, retrieving top posts from subreddits, and fetching post details and comments for research purposes.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@reddit-mcpshow top posts in r/programming this month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
reddit-mcp
reddit-mcp is a small Model Context Protocol
server that exposes read-only Reddit research as typed tools. It turns the
"call Reddit" capability that previously lived as prose in the reddit-research
skill into callable tools, with the terms-aware and rate-limit discipline baked
into the server rather than left to the caller.
Reddit is a noisy public-discussion source, not ground truth. Use these tools for trend discovery, theme-finding, and hypothesis generation, and check high-value claims against independent sources.
Tools
Tool | Purpose |
| Search Reddit, optionally scoped to one subreddit. |
| A subreddit's top posts for a time window. |
| A single post's metadata by base-36 id. |
| Top-level comments for a post (flags |
sort is one of relevance/hot/top/new/comments; time is one of
hour/day/week/month/year/all. Every result carries a lineage
block (source, access_path, url, retrieved_at) so findings can be cited
and re-verified.
Related MCP server: Reddit MCP Server
Access & terms
Read-only. The server only reads Reddit's public
.jsonendpoints. It never writes, votes, or posts.Polite by default. A descriptive
User-Agent, minimum spacing between requests, and exponential backoff with jitter on429/5xxkeep low-volume discovery within Reddit's documented envelope. ARetry-Afterheader on a rate-limit response is honoured when present.401/403/404surface immediately as errors (often a datacenter/CI IP block, removed content, or an auth requirement).Escalate when needed. For higher volume, OAuth, or reliable comment-tree pagination, set
REDDIT_BEARER_TOKENto use the authenticated API host (oauth.reddit.com). Obtain a token per Reddit's API terms.
Reddit's public JSON surface is not a stable contract; validate current behavior from the real runtime before depending on a path.
Configuration (environment, resolved at call time)
Variable | Effect |
| Override the default descriptive UA. |
| When set, requests use the authenticated API host. Never embed this in code or config files. |
Credentials are read from the environment when a request is made and are never baked into the package.
Install
Run directly from GitHub with the MCP extra:
uvx --from "git+https://github.com/selamy-labs/reddit-mcp@v0.1.0#egg=reddit-mcp[mcp]" reddit-mcpOr with pipx:
pipx install "reddit-mcp[mcp] @ git+https://github.com/selamy-labs/reddit-mcp@v0.1.0"MCP client config
{
"mcpServers": {
"reddit": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/selamy-labs/reddit-mcp@v0.1.0#egg=reddit-mcp[mcp]",
"reddit-mcp"
],
"env": {
"REDDIT_USER_AGENT": "your-app/1.0 (research; +https://example.com)"
}
}
}
}Observability (OpenTelemetry)
The server runs unmodified under
OpenTelemetry zero-code auto-instrumentation.
Install the otel extra and launch via opentelemetry-instrument:
pipx install "reddit-mcp[mcp,otel] @ git+https://github.com/selamy-labs/reddit-mcp@v0.1.0"
OTEL_SERVICE_NAME=reddit-mcp \
OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4317 \
OTEL_TRACES_EXPORTER=otlp \
opentelemetry-instrument reddit-mcpConfig is vendor-neutral — point OTEL_EXPORTER_OTLP_ENDPOINT at any OTLP
collector; the collector (not this server) owns any Cloud Trace / vendor coupling.
stdio safety (required): this server speaks MCP over stdin/stdout, so its stdout carries the JSON-RPC protocol. Export traces/logs via OTLP only — never set
OTEL_TRACES_EXPORTER=console(or any stdout exporter), which would interleave span output into the protocol stream and break the client.
Architecture
The Reddit logic lives once in reddit_mcp.core.RedditClient; the MCP server in
reddit_mcp.mcp_server is a thin wrapper that serialises structured results to
JSON and maps expected failures to ToolError. All network access goes through
an injected transport (reddit_mcp.transport), and all timing through an
injected clock, so the full request/parse/backoff path is exercised offline in
tests with canned fixtures. The default UrllibTransport uses only the standard
library, so the core package has zero runtime dependencies; the mcp SDK is an
optional extra needed only to run the server.
See the system context diagram for the runtime boundaries and request flow.
Development
python -m pip install -e ".[test]"
ruff format --check .
ruff check .
coverage run -m pytest
coverage report --fail-under=95License
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Read-only Reddit search API for AI agents: posts, comments, comment trees, subreddit rules.
Reddit posts, comments, keyword search and historical archives as tools. Runs on Apify.
Reddit data for AI agents: posts, comments, subreddits, search. Community + sentiment research.
Search and read public data from X/Twitter, Reddit, YouTube, Instagram, TikTok, Facebook, Threads, Bluesky, Trustpilot, Amazon, Google Maps, news, forums and the web. 90+ read-only tools plus ready-made research playbooks (lead finding, brand monitoring, review mining). Hosted: connect with an API key; 50 free requests per endpoint each month.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables browsing and searching Reddit content through read-only tools that access Reddit's official API. Supports searching posts, retrieving subreddit information, fetching hot posts, and getting detailed post information.54MIT
- FlicenseNot gradedqualityDmaintenanceProvides AI assistants with read-only access to Reddit's API for browsing subreddits, reading posts and comments, searching Reddit, and retrieving user/subreddit information. Enables safe exploration of Reddit content without posting capabilities through natural language interactions.-
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search, monitor, and analyze Reddit's communities and discussions through authenticated API access with intelligent caching and rate limiting.MIT
- FlicenseBqualityCmaintenanceMCP server for compact Reddit research packs. Enables Reddit data extraction, search, and trend analysis through a set of tools like reddit_search and reddit_thread.7-