mcp-reddit
MCP ServerFreeA Model Context Protocol (MCP) server that provides tools for fetching and analyzing Reddit content.
Capabilities9 decomposed
subreddit hot thread retrieval with configurable limits
Medium confidenceFetches trending posts from any specified subreddit by invoking the redditwarp library's Reddit API client, which authenticates using stored credentials (Client ID, Client Secret, Refresh Token) and returns a paginated list of hot submissions. The tool uses the @mcp.tool() decorator to expose this as an MCP-compatible function that accepts subreddit name and limit parameters, then formats results as human-readable strings for AI consumption. Supports configurable post limits (default 10) to control context window usage.
Exposes Reddit hot thread retrieval through MCP's standardized tool interface using FastMCP's @mcp.tool() decorator pattern, enabling seamless integration with Claude and other MCP clients without custom API wrappers. Uses redditwarp library for OAuth2-based authentication rather than PRAW, providing a lighter-weight dependency footprint.
Simpler than building custom REST API wrappers because MCP handles protocol negotiation and tool schema generation automatically; more standardized than direct Reddit API calls because it works with any MCP-compatible client out-of-the-box.
detailed post content retrieval with nested comment trees
Medium confidenceFetches complete post content including nested comment hierarchies by querying Reddit's API for a specific post ID, then recursively traversing comment trees up to configurable depth and comment limits. The implementation uses redditwarp's submission object model with isinstance() type checking to detect post types (TextPost, LinkPost, GalleryPost) and extract appropriate content fields (body, permalink, gallery_link). Returns formatted strings containing post metadata, body content, and flattened comment threads suitable for LLM analysis.
Implements multi-format post type detection using isinstance() checks against redditwarp's TextPost, LinkPost, and GalleryPost classes, enabling uniform content extraction across different Reddit post types. Recursively traverses comment trees with configurable depth/limit parameters to balance context richness against token budget constraints.
More flexible than PRAW-based solutions because redditwarp's type system enables cleaner post type discrimination; more efficient than naive recursive comment fetching because it respects depth and count limits to prevent runaway API calls.
mcp protocol tool exposure via fastmcp framework
Medium confidenceExposes Reddit retrieval functions as MCP-compatible tools by wrapping them with FastMCP's @mcp.tool() decorator, which automatically generates tool schemas, handles protocol serialization, and manages the MCP server lifecycle. The server runs as an ASGI application via Uvicorn, listening for tool invocation requests from MCP clients (Claude Desktop, mcp-client-cli, etc.). FastMCP handles request/response marshalling, error handling, and tool discovery without requiring manual JSON-RPC implementation.
Uses FastMCP's declarative @mcp.tool() decorator pattern to eliminate manual MCP protocol implementation, automatically generating tool schemas and handling JSON-RPC serialization. Runs as a standalone ASGI server via Uvicorn, enabling deployment as a systemd service, Docker container, or Smithery-managed process without custom server code.
Simpler than implementing raw MCP protocol handlers because FastMCP abstracts away JSON-RPC details; more maintainable than custom tool registration because decorator-based tools are self-documenting and auto-discoverable by MCP clients.
oauth2-based reddit api authentication with credential management
Medium confidenceAuthenticates with Reddit's API using OAuth2 refresh token flow, storing Client ID, Client Secret, and Refresh Token as environment variables that are loaded at server startup. The redditwarp library handles token refresh automatically, maintaining session state across multiple API calls without requiring manual token management. Credentials are never embedded in code or logs, following security best practices for API key handling.
Delegates OAuth2 token management to redditwarp library, which handles refresh token flow automatically without custom token refresh logic. Stores credentials exclusively in environment variables, preventing accidental credential leakage in version control or logs.
More secure than hardcoded credentials because environment variables are isolated from source code; more convenient than manual token refresh because redditwarp handles expiration automatically; more flexible than API key authentication because OAuth2 enables user-scoped permissions.
multi-format post type detection and content extraction
Medium confidenceDetects post types (TextPost, LinkPost, GalleryPost) using isinstance() checks against redditwarp's submission type classes, then extracts appropriate content fields for each type: submission.body for text posts, submission.permalink for link posts, submission.gallery_link for gallery posts. This pattern enables uniform content extraction across different post formats without conditional branching on post type strings, leveraging Python's type system for cleaner code.
Uses isinstance() checks against redditwarp's submission type hierarchy (TextPost, LinkPost, GalleryPost) rather than string-based type detection, enabling type-safe extraction with IDE autocomplete and static analysis support. Extracts content fields specific to each type (body, permalink, gallery_link) without generic fallbacks.
More maintainable than string-based type detection because isinstance() is refactoring-safe and IDE-aware; more robust than duck-typing because it explicitly checks redditwarp's type system rather than assuming field existence.
formatted string output generation for llm consumption
Medium confidenceTransforms raw Reddit API responses into human-readable formatted strings optimized for LLM token efficiency and readability. Both fetch_reddit_hot_threads and fetch_reddit_post_content return formatted strings (not JSON) that include post metadata (title, score, author), content excerpts, and comment threads in a text-friendly layout. This approach prioritizes LLM-friendly formatting over structured data, reducing parsing overhead in the LLM's context window.
Prioritizes LLM-friendly text formatting over structured JSON output, reducing token overhead by embedding metadata directly in readable strings rather than JSON keys. Formats posts and comments as human-readable text blocks optimized for LLM parsing without requiring JSON deserialization.
More token-efficient than JSON responses because text formatting avoids structural overhead; more readable than raw API responses because it includes formatted metadata and comment hierarchies; simpler for LLMs to parse than nested JSON structures.
configurable comment depth and limit parameters for context control
Medium confidenceProvides comment_limit (default 20) and comment_depth (default 3) parameters to fetch_reddit_post_content, enabling callers to control the scope of comment retrieval and prevent unbounded context expansion. The implementation respects these limits during recursive comment tree traversal, stopping at the specified depth or comment count to balance context richness against token budget constraints. This design allows LLM applications to tune retrieval based on available context window.
Exposes comment_limit and comment_depth as configurable parameters to fetch_reddit_post_content, enabling callers to tune retrieval scope without modifying server code. Respects limits during recursive comment traversal, preventing exponential context expansion from deeply nested threads.
More flexible than fixed comment limits because parameters are caller-configurable; more efficient than fetching all comments because limits prevent unnecessary API calls; more practical than unbounded retrieval because it prevents context window overflow.
mcp server lifecycle management and entry point configuration
Medium confidenceConfigures mcp-reddit as a command-line entry point via pyproject.toml's [project.scripts] section, enabling invocation as 'mcp-reddit' command that triggers mcp.run() on the FastMCP instance. The server lifecycle is managed by FastMCP's run() method, which initializes the ASGI application, starts Uvicorn, and handles graceful shutdown. This pattern enables deployment as a systemd service, Docker container, or Smithery-managed process without custom server bootstrapping code.
Configures mcp-reddit as a setuptools entry point via pyproject.toml, enabling single-command invocation ('mcp-reddit') that bootstraps the FastMCP server without requiring Python script execution. FastMCP's run() method handles ASGI initialization and Uvicorn lifecycle automatically.
More user-friendly than manual Python script execution because entry point is discoverable via 'which mcp-reddit'; more portable than shell scripts because setuptools handles platform-specific path resolution; more standard than custom server code because it follows Python packaging conventions.
redditwarp library integration for reddit api client abstraction
Medium confidenceAbstracts Reddit API interactions through the redditwarp library, which provides high-level Python objects (Submission, Comment, TextPost, LinkPost, GalleryPost) instead of raw HTTP requests. redditwarp handles OAuth2 token management, request serialization, and response parsing automatically, reducing boilerplate compared to direct requests library usage. The server instantiates a redditwarp client once at startup and reuses it across all tool invocations.
Uses redditwarp library for Reddit API abstraction instead of PRAW or raw requests, providing lightweight type-safe submission/comment objects with automatic OAuth2 token refresh. redditwarp's isinstance()-based type system enables clean post type detection without string comparisons.
Lighter-weight than PRAW because redditwarp has fewer dependencies; more type-safe than raw requests because it provides Python objects with IDE autocomplete; more maintainable than custom API wrappers because redditwarp handles protocol details.
Capabilities are decomposed by AI analysis. Each maps to specific user intents and improves with match feedback.
Related Artifactssharing capabilities
Artifacts that share capabilities with mcp-reddit, ranked by overlap. Discovered automatically through the match graph.
reddit-mcp-buddy
Clean, LLM-optimized Reddit MCP server. Browse posts, search content, analyze users. No fluff, just Reddit data.
r/mcp
** – A Reddit community dedicated to MCP by **[Frank Fiegel](https://github.com/punkpeye)**
fetch-mcp
A flexible HTTP fetching Model Context Protocol server.
MCP Sky
** - Bluesky feed for MCP related news and discussion by **[@brianell.in](https://bsky.app/profile/brianell.in)**
DuckDuckGo MCP Server
Search the web privately via DuckDuckGo MCP.
MCP X Community
** – A X community for MCP by **[Xiaoyi](https://x.com/chxy)**
Best For
- ✓AI agents analyzing Reddit trends and community discussions
- ✓LLM applications building research tools that need real-time subreddit data
- ✓Developers building Claude Desktop plugins that require Reddit integration
- ✓LLM-powered discussion analysis and summarization tools
- ✓Researchers building datasets from Reddit conversations
- ✓AI agents that need to understand full context of Reddit discussions before responding
- ✓Developers building Claude Desktop plugins that need Reddit integration
- ✓Teams standardizing on MCP for LLM tool orchestration
Known Limitations
- ⚠Returns only hot/trending posts, not new or controversial sorting options
- ⚠Limited to string-formatted output; no structured JSON response for programmatic parsing
- ⚠Subject to Reddit API rate limits (60 requests per minute for authenticated users)
- ⚠No caching layer — each invocation makes a fresh API call, increasing latency
- ⚠Comment depth is limited to configurable levels (typically 3) to prevent exponential context explosion
- ⚠Comment limit parameter (default 20) caps total comments retrieved, potentially missing important discussion threads
Requirements
Input / Output
UnfragileRank
UnfragileRank is computed from adoption signals, documentation quality, ecosystem connectivity, match graph feedback, and freshness. No artifact can pay for a higher rank.
Repository Details
Last commit: May 11, 2025
About
A Model Context Protocol (MCP) server that provides tools for fetching and analyzing Reddit content.
Categories
Alternatives to mcp-reddit
Are you the builder of mcp-reddit?
Claim this artifact to get a verified badge, access match analytics, see which intents users search for, and manage your listing.
Get the weekly brief
New tools, rising stars, and what's actually worth your time. No spam.
Data Sources
Looking for something else?
Search →