{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"github_mcp-adhikasp-mcp-reddit","slug":"mcp-adhikasp-mcp-reddit","name":"mcp-reddit","type":"mcp","url":"https://github.com/adhikasp/mcp-reddit","page_url":"https://unfragile.ai/mcp-adhikasp-mcp-reddit","categories":["mcp-servers"],"tags":["llm","mcp","model-context-protocol","reddit"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"github_mcp-adhikasp-mcp-reddit__cap_0","uri":"capability://tool.use.integration.subreddit.hot.thread.retrieval.with.configurable.limits","name":"subreddit hot thread retrieval with configurable limits","description":"Fetches 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.","intents":["I want to fetch the top trending posts from a specific subreddit to analyze community sentiment","I need to retrieve recent hot threads from multiple subreddits for content research","I want to monitor trending discussions in a subreddit without manually visiting Reddit"],"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"],"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"],"requires":["Python 3.11+","Reddit API credentials (Client ID, Client Secret, Refresh Token) from Reddit app preferences","MCP client compatible with FastMCP (Claude Desktop, mcp-client-cli, or equivalent)","Network connectivity to Reddit's API endpoints"],"input_types":["string (subreddit name, e.g., 'python', 'MachineLearning')","integer (limit, 1-100)"],"output_types":["string (formatted human-readable list of posts with titles, scores, authors)"],"categories":["tool-use-integration","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-adhikasp-mcp-reddit__cap_1","uri":"capability://tool.use.integration.detailed.post.content.retrieval.with.nested.comment.trees","name":"detailed post content retrieval with nested comment trees","description":"Fetches 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.","intents":["I need to analyze a specific Reddit post and all its comments for sentiment analysis or discussion mining","I want to retrieve a post's full context including top-level and nested replies for comprehensive understanding","I need to extract discussion threads from Reddit for training data or research purposes"],"best_for":["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"],"limitations":["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","Nested comment formatting as strings loses structural information — no JSON tree representation","Gallery posts return only gallery_link URL, not individual image metadata or captions","No support for deleted or removed comments — API returns null values that are filtered out"],"requires":["Python 3.11+","Reddit API credentials with OAuth2 refresh token","Valid Reddit post ID (36-character alphanumeric identifier)","MCP client with tool invocation support"],"input_types":["string (post_id, e.g., 'abc123def456')","integer (comment_limit, default 20)","integer (comment_depth, default 3)"],"output_types":["string (formatted post content with metadata and flattened comment tree)"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-adhikasp-mcp-reddit__cap_2","uri":"capability://tool.use.integration.mcp.protocol.tool.exposure.via.fastmcp.framework","name":"mcp protocol tool exposure via fastmcp framework","description":"Exposes 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.","intents":["I want to make Reddit data available to Claude Desktop without building a custom API","I need to integrate Reddit retrieval into an MCP-compatible workflow without protocol boilerplate","I want to expose Reddit tools to multiple MCP clients with a single server implementation"],"best_for":["Developers building Claude Desktop plugins that need Reddit integration","Teams standardizing on MCP for LLM tool orchestration","Builders creating multi-tool MCP servers that combine Reddit with other data sources"],"limitations":["FastMCP abstraction adds ~50-100ms overhead per tool invocation for protocol marshalling","Tool schemas are auto-generated from function signatures — limited customization of parameter descriptions or validation rules","No built-in caching or request deduplication — each MCP client request triggers a fresh Reddit API call","ASGI server requires explicit lifecycle management (startup/shutdown) in deployment contexts","Error handling returns generic MCP error responses; Reddit-specific error codes are not exposed to clients"],"requires":["Python 3.11+","FastMCP framework (installed via pyproject.toml dependencies)","Uvicorn ASGI server","MCP client that supports tool invocation (Claude Desktop 0.1.0+, mcp-client-cli, etc.)"],"input_types":["MCP tool invocation requests (JSON-RPC format)"],"output_types":["MCP tool result responses (JSON-RPC format with string content)"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-adhikasp-mcp-reddit__cap_3","uri":"capability://tool.use.integration.oauth2.based.reddit.api.authentication.with.credential.management","name":"oauth2-based reddit api authentication with credential management","description":"Authenticates 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.","intents":["I need to securely authenticate with Reddit's API without hardcoding credentials","I want automatic token refresh so my server doesn't break when access tokens expire","I need to deploy this server to multiple environments with different Reddit app credentials"],"best_for":["Production deployments of mcp-reddit requiring secure credential handling","Teams managing multiple Reddit app credentials across staging/production environments","Developers building self-hosted MCP servers that need to isolate credentials from code"],"limitations":["Requires manual credential rotation if Reddit app secret is compromised — no built-in key rotation mechanism","Refresh token must be obtained manually from Reddit's app preferences page — no automated OAuth2 flow UI","Environment variables are loaded at startup only — changing credentials requires server restart","No credential validation at startup — invalid tokens fail silently until first API call","Refresh tokens can expire if unused for 1 year per Reddit's policy — no warning or monitoring"],"requires":["Reddit app credentials (Client ID, Client Secret) from https://www.reddit.com/prefs/apps","OAuth2 refresh token obtained via Reddit's authorization flow","Environment variables: REDDIT_CLIENT_ID, REDDIT_CLIENT_SECRET, REDDIT_REFRESH_TOKEN","redditwarp library (handles token refresh automatically)"],"input_types":["environment variables (string)"],"output_types":["authenticated session (internal to redditwarp client)"],"categories":["tool-use-integration","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-adhikasp-mcp-reddit__cap_4","uri":"capability://data.processing.analysis.multi.format.post.type.detection.and.content.extraction","name":"multi-format post type detection and content extraction","description":"Detects 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.","intents":["I need to extract content from different Reddit post types uniformly without type-specific logic","I want to handle text, link, and gallery posts in a single retrieval function","I need to ensure all post types return comparable content for analysis"],"best_for":["LLM applications analyzing diverse Reddit content types","Data extraction pipelines that need to handle mixed post formats","Researchers building Reddit datasets with heterogeneous post types"],"limitations":["Gallery posts return only gallery_link URL, not individual image metadata, captions, or image count","Video posts are not explicitly handled — may be classified as LinkPost with video URL","Cross-post detection is not implemented — cross-posts return the original post's content, not cross-post metadata","Post type detection relies on redditwarp's submission class hierarchy — changes to redditwarp may break type checks","No fallback for unknown post types — unrecognized types are silently skipped"],"requires":["redditwarp library with TextPost, LinkPost, GalleryPost classes","Python 3.11+ with isinstance() type checking support"],"input_types":["redditwarp submission object"],"output_types":["string (extracted content: body text, URL, or gallery link)"],"categories":["data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-adhikasp-mcp-reddit__cap_5","uri":"capability://text.generation.language.formatted.string.output.generation.for.llm.consumption","name":"formatted string output generation for llm consumption","description":"Transforms 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.","intents":["I want Reddit data formatted as readable text that LLMs can easily parse and understand","I need compact string output that doesn't waste tokens on JSON structure overhead","I want human-readable formatting for debugging and manual inspection of retrieved content"],"best_for":["LLM applications where token efficiency is critical","Debugging and manual inspection of Reddit data retrieval","Use cases where structured data parsing is unnecessary overhead"],"limitations":["String output cannot be programmatically parsed without regex or string splitting — no structured format","Formatting is optimized for LLM readability, not machine parsing — inconsistent delimiters or spacing may break parsing","No JSON alternative — clients requiring structured data must parse strings manually","Formatting changes in future versions may break downstream string parsing logic","Character encoding issues may occur with non-ASCII Reddit content (emojis, special characters)"],"requires":["Python string formatting (f-strings or .format())"],"input_types":["redditwarp submission and comment objects"],"output_types":["string (formatted text with metadata and content)"],"categories":["text-generation-language","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-adhikasp-mcp-reddit__cap_6","uri":"capability://automation.workflow.configurable.comment.depth.and.limit.parameters.for.context.control","name":"configurable comment depth and limit parameters for context control","description":"Provides 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.","intents":["I want to control how many comments are retrieved to fit within my LLM's context window","I need to limit comment depth to avoid deeply nested threads that add noise","I want to adjust retrieval scope dynamically based on available context budget"],"best_for":["LLM applications with variable context windows (e.g., Claude 3 Opus vs Haiku)","Agents that need to tune retrieval scope based on remaining context budget","Cost-sensitive deployments where reducing API calls and token usage is critical"],"limitations":["Limits are applied globally across all comments, not per-thread — important nested discussions may be truncated","No intelligent comment ranking — limits apply to comment order from API, not by relevance or score","Depth limit is hard cutoff — comments at depth N+1 are completely excluded, even if high-quality","No way to retrieve 'top comments only' — limit applies to retrieval order, not comment sorting","Exceeding limits silently truncates results — no indication to caller that comments were omitted"],"requires":["Integer parameters: comment_limit (1-100), comment_depth (1-10)"],"input_types":["integer (comment_limit)","integer (comment_depth)"],"output_types":["string (formatted post with limited comments)"],"categories":["automation-workflow","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-adhikasp-mcp-reddit__cap_7","uri":"capability://automation.workflow.mcp.server.lifecycle.management.and.entry.point.configuration","name":"mcp server lifecycle management and entry point configuration","description":"Configures 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.","intents":["I want to run mcp-reddit as a standalone command-line tool without Python script boilerplate","I need to deploy mcp-reddit as a systemd service or Docker container with standard lifecycle management","I want to integrate mcp-reddit into MCP client configurations (Claude Desktop, mcp-client-cli)"],"best_for":["Developers deploying mcp-reddit as a system service or container","Teams integrating mcp-reddit into Claude Desktop or other MCP clients","Operators managing multiple MCP servers with standardized entry points"],"limitations":["Entry point is hardcoded in pyproject.toml — no runtime configuration of server port or host","FastMCP's run() method uses default Uvicorn settings — no customization of worker count or SSL configuration","Graceful shutdown relies on Uvicorn's signal handling — may not work in all deployment contexts (e.g., serverless)","No built-in health check endpoint — external monitoring must poll the MCP protocol to verify server health","Server binds to localhost by default — requires explicit configuration to expose on network interfaces"],"requires":["Python 3.11+","pyproject.toml with [project.scripts] entry point configuration","FastMCP framework with mcp.run() support","Uvicorn ASGI server"],"input_types":["command-line invocation (no arguments)"],"output_types":["ASGI server process (listens for MCP requests)"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github_mcp-adhikasp-mcp-reddit__cap_8","uri":"capability://tool.use.integration.redditwarp.library.integration.for.reddit.api.client.abstraction","name":"redditwarp library integration for reddit api client abstraction","description":"Abstracts 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.","intents":["I want to interact with Reddit's API without managing HTTP requests and JSON parsing manually","I need automatic OAuth2 token refresh without custom refresh logic","I want type-safe Reddit objects (Submission, Comment) with IDE autocomplete support"],"best_for":["Python developers building Reddit integrations who prefer high-level abstractions","Projects requiring automatic token management and error handling","Teams standardizing on redditwarp for Reddit API interactions"],"limitations":["redditwarp is a third-party library — updates or deprecations may break compatibility","Limited documentation compared to PRAW — fewer Stack Overflow answers and examples","No built-in rate limit handling — exceeding Reddit's rate limits causes exceptions","Submission and Comment objects are lazy-loaded — accessing fields may trigger additional API calls","No caching layer — repeated access to the same submission requires multiple API calls"],"requires":["redditwarp library (specified in pyproject.toml dependencies)","Python 3.11+"],"input_types":["subreddit name (string)","post ID (string)"],"output_types":["redditwarp Submission, Comment, TextPost, LinkPost, GalleryPost objects"],"categories":["tool-use-integration","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":35,"verified":false,"data_access_risk":"high","permissions":["Python 3.11+","Reddit API credentials (Client ID, Client Secret, Refresh Token) from Reddit app preferences","MCP client compatible with FastMCP (Claude Desktop, mcp-client-cli, or equivalent)","Network connectivity to Reddit's API endpoints","Reddit API credentials with OAuth2 refresh token","Valid Reddit post ID (36-character alphanumeric identifier)","MCP client with tool invocation support","FastMCP framework (installed via pyproject.toml dependencies)","Uvicorn ASGI server","MCP client that supports tool invocation (Claude Desktop 0.1.0+, mcp-client-cli, etc.)"],"failure_modes":["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","Nested comment formatting as strings loses structural information — no JSON tree representation","Gallery posts return only gallery_link URL, not individual image metadata or captions","No support for deleted or removed comments — API returns null values that are filtered out","FastMCP abstraction adds ~50-100ms overhead per tool invocation for protocol marshalling","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.33602872366319164,"quality":0.28,"ecosystem":0.52,"match_graph":0.25,"freshness":0.52,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:22.064Z","last_scraped_at":"2026-05-03T14:23:44.761Z","last_commit":"2025-05-11T12:18:01Z"},"community":{"stars":398,"forks":51,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=mcp-adhikasp-mcp-reddit","compare_url":"https://unfragile.ai/compare?artifact=mcp-adhikasp-mcp-reddit"}},"signature":"0ykJL0ly17jk73JZ506AJOiPeg13h9unIJYNOSkX1LEM58Qqglyc1PNlHALCuObZqQpLJ8JSsHqfiUId3d4gAA==","signedAt":"2026-06-20T14:17:18.658Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/mcp-adhikasp-mcp-reddit","artifact":"https://unfragile.ai/mcp-adhikasp-mcp-reddit","verify":"https://unfragile.ai/api/v1/verify?slug=mcp-adhikasp-mcp-reddit","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}