Skip to content

Releases: ismailsaoulaj/reddit-mcp-server

v0.6.0 - Hardened Pagination, Provenance & Request Shields

Choose a tag to compare

@ismailsaoulaj ismailsaoulaj released this 24 Aug 00:48

Fixed

  • Public Web Fetches Fully Shielded (#6): get_public_web now executes its entire flow (cookie tier → curl_cffi → httpx retries) under the global concurrency semaphore and the aggregate 14-second time budget, mirroring OAuth requests.
  • Graceful Malformed Page Tokens (#8): Invalid page_token values in extract_public_opinion now return a structured degraded response with restart instructions instead of escaping as raw internal errors; offset parsing is strictly validated.
  • Trends Fallback Provenance (#7): analyze_niche_trends now reports which tier served the data (arctic_shift / rss) with tier-specific messaging.

Changed

  • Persistent Auth HTTP Client (#5): RedditAuthManager reuses a single persistent httpx.AsyncClient across token fetches/refreshes (no more connection pool leaks), with full lifecycle cleanup chained through client teardown.

v0.5.1 - Native Open WebUI & Streamable HTTP Support

Choose a tag to compare

@ismailsaoulaj ismailsaoulaj released this 21 Aug 15:06

Added

  • Streamable HTTP Transport (--transport http): Added native support for MCP Streamable HTTP on /mcp, resolving compatibility with modern web-based AI clients (Open WebUI, Dify).
  • Docker Default to Streamable HTTP: Configured the Dockerfile entrypoint to run --transport http by default on 0.0.0.0:8000.

Fixed

  • Open WebUI 405/404 Handshake: Resolved 405 Method Not Allowed and 404 Not Found when web clients submit POST /mcp payloads during tool discovery.

v0.5.0 - HTTP/SSE Transport & Docker Microservice Mode

Choose a tag to compare

@ismailsaoulaj ismailsaoulaj released this 21 Aug 11:48
34a015e

This release fundamentally expands the server's reach by introducing Server-Sent Events (SSE) and HTTP transport support. It transforms the Reddit MCP Server from a local-only CLI tool into a fully deployable microservice, enabling seamless integration with web-based platforms like Open WebUI, Dify, and remote Docker environments.

Added

  • SSE Transport Mode: New --transport sse CLI flag to run the server as a continuous HTTP service.
  • Network Binding Flags: Added --host and --port CLI arguments for fine-grained network control.
  • Docker Microservice Ready: The Dockerfile now exposes port 8000 and runs in SSE mode by default, making deployment instant.
  • Dynamic Logging Routing: Logs are intelligently routed to sys.stderr when in STDIO mode (to protect JSON-RPC integrity) and sys.stdout in SSE mode for standard Docker observability.
  • Graceful Asyncio Cleanup: Added handling to ensure the internal ASGI (Uvicorn) event loop shuts down cleanly without throwing RuntimeError on exit.

v0.4.0 - Resilient Multi-Tier Engine & Anti-Ban Shields

Choose a tag to compare

@ismailsaoulaj ismailsaoulaj released this 20 Aug 10:52

🚀 What's New in v0.4.0

This release introduces the high-availability Cascading Multi-Tier Engine, sub-second Cookie Authentication, and built-in Protective Shields (Rate Limiting, Concurrency Semaphore, and Singleflight Coalescing) to prevent WAF 403 blocks and IP bans under heavy AI traffic.

✨ Added

  • Cascading Multi-Tier Architecture: Seamless fallback pipeline (Official OAuth -> Session Cookie -> Browser-Impersonated Web JSON -> Enriched Public RSS -> DDG + Arctic Shift).
  • Optional Session Cookie Tier (REDDIT_SESSION_COOKIE): Enables direct authenticated JSON queries, sub-second latency, and native Reddit pagination (t3_... cursors).
  • Token Bucket Rate Limiter (_TokenBucketRateLimiter): Enforces safe requests-per-minute limits (default: 40 RPM) with jitter.
  • Global Concurrency Semaphore: Bounds concurrent outbound requests (default: 4) using asyncio.Semaphore.
  • Singleflight Request Coalescing (_singleflight): Automatically merges concurrent identical in-flight requests into a single network call.
  • Arctic Shift Batch RSS Enrichment: Automatically enriches Tier-3 public RSS posts with live scores, upvote ratios, and comment counts.

🛡️ Fixed & Improved

  • Fastly/Cloudflare WAF Bypass: Full Chrome 131 profile emulation with Client Hints (Sec-Ch-Ua, Sec-Fetch-Mode: cors).
  • Live Zero-Config Trends: Revived analyze_niche_trends to work in real-time without API keys across all tiers.
  • Test Suite Expansion: 138/138 unit and integration tests passing cleanly.

v0.3.2: Arctic Shift Endpoint Fix, Fail-Fast OAuth & Extended Timeouts

Choose a tag to compare

@ismailsaoulaj ismailsaoulaj released this 19 Aug 13:34

🚀 What's New in v0.3.2

🛠️ Bug Fixes & Improvements

  • Fixed Arctic Shift Endpoint: Resolved a breaking fallback issue by updating the batch posts endpoint from /posts/search to /posts/ids, completely restoring zero-config search and topic exploration without OAuth credentials.
  • Fail-Fast OAuth Verification: Added pre-flight token validation in RedditClient.search(). Invalid or expired credentials now trigger the zero-config fallback immediately (~0.5s) instead of wasting time on unauthenticated upstream requests.
  • Extended Fallback Timeouts: Increased tool execution timeouts from 15s to 25s for web-search tools (search_knowledge and explore_reddit_discussions) to gracefully handle search provider and multi-engine latency without premature timeouts.
  • Regression Testing: Added dedicated unit tests verifying the /posts/ids endpoint to prevent future API regressions.

v0.3.1: Global XDG Config, RSS Fixes & uvx Support

Choose a tag to compare

@ismailsaoulaj ismailsaoulaj released this 19 Aug 10:11

🚀 What's New in v0.3.1

Added

  • Global XDG Configuration: Support for global .env configuration file via XDG config directory (~/.config/reddit-mcp-server/.env), allowing clean, minimal MCP client configurations without inline secrets.
  • Dynamic Package Versioning: Automatic version discovery at runtime via importlib.metadata.

Changed & Fixed

  • Saved Posts RSS Setup: Updated get_saved_posts setup instructions and error messages to direct users to the reliable https://www.reddit.com/prefs/feeds/ tab to avoid 404 / login redirection issues.
  • First-Class uvx / pipx Execution: Updated documentation, examples, and inspector guides to highlight execution via uvx reddit-mcp-ai.
  • Added reddit-mcp-ai binary alias.

Quick Start:

uvx reddit-mcp-ai
# or
pipx run reddit-mcp-ai

v0.3.0 - Saved Posts RSS Feed & Comment Pagination

Choose a tag to compare

@ismailsaoulaj ismailsaoulaj released this 18 Aug 19:15

What's Changed

  • feat: merge v0.2.0 improvements and get_saved_posts tool by @ismailsaoulaj in #3

Full Changelog: v0.2.0...v0.3.0

v0.2.0 - Resilient Fallbacks & Smart Filtering

Choose a tag to compare

@ismailsaoulaj ismailsaoulaj released this 17 Aug 08:59

What's Changed

  • Fix OAuth token handling, improve comment scoring, and enhance error reporting by @ismailsaoulaj in #1

New Contributors

Full Changelog: v0.1.0...v0.2.0

v0.1.0 - Initial Release: AI-Native Reddit MCP Server

Choose a tag to compare

@ismailsaoulaj ismailsaoulaj released this 16 Aug 15:48

🚀 Reddit MCP Server v0.1.0 — Initial Release

We are excited to announce the first official release of Reddit MCP Server, a production-grade, highly resilient Model Context Protocol (MCP) server built for LLM assistants (Claude Desktop, Cursor, Zed).


✨ Key Features & Highlights

  • 🚀 Zero-Config Fallback: Works immediately out of the box without requiring Reddit API keys (seamless fallback to DuckDuckGo & Arctic Shift archive).
  • 🛡️ Resilient Rate Limiting: Built-in exponential backoff and automatic handling of 429 Too Many Requests (respecting Retry-After headers).
  • 🤖 Smart LLM Comment Filtering: Filters out bots, AutoModerator notices, and low-effort comments to conserve LLM token limits.
  • ⏱️ LLM Timeout Protection: Decorator-enforced execution limits preventing AI clients from hanging or disconnecting.
  • 🏗️ 4-Layer Architecture: Clean separation of concerns (Domain, Infrastructure, Application, Interface) for maximum modularity and testability.

🛠️ Included MCP Tools

Tool Description
search_knowledge Broad factual search using search engine indexing.
explore_reddit_discussions Explores discussions and gauges sentiment with pagination support.
extract_public_opinion Deep-dives into thread comments with automated noise filtering.
analyze_niche_trends Discovers rising ideas, opportunities, and trends in any subreddit (OAuth).

📦 Quick Installation

```bash
git clone https://github.com/ismailsaoulaj/reddit-mcp-server.git
cd reddit-mcp-server
pip install -e .
```

Claude Desktop Configuration:

```json
{
"mcpServers": {
"reddit": {
"command": "reddit-mcp"
}
}
}
```


Contributions, issues, and feature requests are welcome!