karanb192/reddit-mcp-buddy
MCP Data & StorageAn MCP server that lets Claude Desktop and other AI assistants browse Reddit, search posts, and analyze user activity without needing Reddit API credentials
Features
- Zero‑setup browsing of Reddit with no API key required
- Up to 10× more requests via a three‑tier rate‑limit system
- LLM‑optimized tools for fetching posts, comments, and user activity
Recent releases
View all 7 releases →- CI upgraded to Node 24; npm Trusted Publishers with OIDC replace expiring tokens
- OAuth token validation with Zod schemas
- Concurrent token refresh protection via mutex lock
- Template injection prevention (patterns like ${VAR}, $VAR)
- 39 unit tests and 104 integration tests with dedicated CI workflow
- `get_post_details` now accepts old/new/np/m subdomains, redd.it URLs, query params, and fragments
- CLI `--http` flag shorthand for REDDIT_BUDDY_HTTP=true and simplified auth config path
Full changelog
Major reliability, security, and testing release with 2,800+ lines of improvements across 20+ files.
What's New Since v1.1.10
🧪 Test Suite (NEW)
- 39 unit tests (~5s) covering build, CLI, auth, cache, rate limiter, URL parsing, MCP validation, content processor, backoff/retry
- 104 integration tests (~15min) covering HTTP server, all 5 MCP tools against live Reddit API, edge cases, error resilience, graceful shutdown
- Dedicated CI workflow with blocking unit tests and non-blocking integration tests
- Existing publish workflows now fail on test failures (no more silent skips)
🔒 Security Hardening
- OAuth token validation with Zod schemas
- Concurrent token refresh protection (mutex lock)
- Password input: 60s timeout, 256 char limit, Ctrl+C cleanup
- Template injection prevention (
${VAR},$VAR, nested patterns) - Auth file permissions verified at 0o600
⚡ Stability Improvements
- Exponential backoff with jitter on retries
- Retry-After header support for Reddit rate limits
- Request deduplication (concurrent identical requests share one API call)
- Graceful partial failures with
Promise.allSettledfor multi-sub searches - Unhandled rejection no longer crashes HTTP server
- Port conflict handling with helpful error messages
🛡️ Reliability Fixes
- Token expiration 10s buffer for clock drift
- Cache key sanitization (spaces in search queries now work)
redd.itshort URLs properly resolve subreddit via API- HTML response detection (case-insensitive, handles charset)
- Oversized cache items skipped (prevents infinite eviction loop)
- 10MB body size limit and 30s timeout on HTTP requests
🌐 Expanded URL Support
get_post_details now accepts:
old.reddit.com,new.reddit.com,np.reddit.com,m.reddit.comredd.itshort URLs- URLs with query params and fragments
🖥️ CLI Improvements
--httpflag now works (shorthand forREDDIT_BUDDY_HTTP=true)- Auth config path simplified to
~/.reddit-mcp-buddy/on all platforms - Windows ESM URL scheme error fixed
📋 MCP Protocol Compliance
- Response validation against MCP spec
readOnlyHint: trueon all 5 tools- Anthropic MCP Directory requirements addressed
🔑 CI/CD Improvements
- npm Trusted Publishers (OIDC) — no more expiring tokens
- Upgraded CI to Node 24
📦 Installation
Desktop Extension (Easiest)
Download reddit-mcp-buddy.mcpb (attached below) and open it.
NPM
npx -y reddit-mcp-buddy
Claude Code
claude mcp add --transport stdio reddit-mcp-buddy -s user -- npx -y reddit-mcp-buddy
Claude Desktop Config
{
"mcpServers": {
"reddit": {
"command": "npx",
"args": ["-y", "reddit-mcp-buddy"]
}
}
}
- Automated .mcpb builds included in GitHub Releases with one‑click installation for Claude Desktop
- Consolidated publishing workflow that atomically builds NPM, GitHub Release, and MCP Registry artifacts
Full changelog
🎉 Desktop Extension & Workflow Improvements
This release adds automated Desktop Extension (.mcpb) distribution and significantly improves the publishing workflow reliability.
🎁 What's New Since v1.1.6
Desktop Extension Distribution
- ✅ Automated .mcpb builds: GitHub Releases now include pre-built Desktop Extension
- ✅ One-click installation: Users can download .mcpb file for instant Claude Desktop setup
- ✅ Auto-updating download link: README link always points to latest release
- ✅ No restart required: Desktop Extension installs and activates immediately
Publishing Workflow Improvements
- ✅ Consolidated workflow: Single workflow handles NPM, GitHub Release, and MCP Registry
- ✅ Improved ordering: Build all artifacts first, then publish (atomic operation)
- ✅ Better error handling: Fixed exit code capture in MCP publisher step
- ✅ Download verification: Verify MCP publisher binary exists before use
MCP Registry Updates
- ✅ Updated schema: Migrated from 2025-07-09 to 2025-09-29 (latest)
- ✅ Updated publisher: MCP publisher v1.0.0 → v1.2.0
- ✅ Configurable version: MCP_PUBLISHER_VERSION env variable for easy updates
- ✅ Fixed verification: Updated to use camelCase (isLatest) for new schema
📦 Installation Options
Desktop Extension (New!)
One-click installation for Claude Desktop:
# Download and open the .mcpb file
# Claude Desktop will automatically install the extension
📥 Download reddit-mcp-buddy.mcpb
NPM (Standard)
npx reddit-mcp-buddy
Docker
docker run -it karanb192/reddit-mcp-buddy
🔗 Distribution Channels
- NPM: https://www.npmjs.com/package/reddit-mcp-buddy
- MCP Registry:
io.github.karanb192/reddit-mcp-buddy - Docker Hub:
karanb192/reddit-mcp-buddy
📚 Documentation
- Added .mcpb download section in README
- Clarified installation process (no restart needed)
- Added prominent download link using releases/latest/download
- Updated authentication instructions
Technical Details
- Zero git bloat: .mcpb files hosted on GitHub Releases, not in repository
- Workflow avoids duplicate triggers and conflicts
- All artifacts built and verified before any public distribution
- Download link auto-updates to newest version without manual README changes
Full Changelog: https://github.com/karanb192/reddit-mcp-buddy/compare/v1.1.6...v1.1.10
- Added repository metadata with GitHub ID for better registry display
- Optimized description to meet <100 character validation requirement
- Ensured full compliance with latest MCP Registry API specifications
Full changelog
🚀 What's New Since v1.1.1
MCP Registry Improvements
- ✅ Fixed MCP Registry publishing with proper
registryType
field (camelCase) - ✅ Added repository metadata with GitHub ID for better
registry display - ✅ Optimized description to meet <100 character validation
requirement - ✅ Ensured full compliance with latest MCP Registry API
specifications
Documentation Enhancements
- 📊 Added dynamic MCP Registry badge that auto-updates
version - 📝 Improved registry documentation and UUID tracking
- 🔗 Fixed registry links and references throughout README
Development Workflow
- 🛡️ Added strict Git branching rules - never push to main
directly - 📋 Enhanced CLAUDE.md with comprehensive development
guidelines - 🔄 Improved version management across all configuration
files
Bug Fixes
- Fixed package-lock.json dependency versions
- Corrected field naming conventions for MCP Registry API
- Resolved validation errors preventing registry publication
Technical Details
- MCP Registry: Now fully compatible with official
registry requirements - Repository Field: Includes GitHub repository ID for
enhanced discoverability - Description: Concise 98-character description for
better presentation
Note: This release consolidates multiple improvements and
fixes that ensure seamless MCP Registry publication and
enhanced project documentation.
Full Changelog: https://github.com/karanb192/reddit-mcp-b
uddy/compare/v1.1.1...v1.1.6
- Rate limit testing tool `scripts/rate-limit-tester.cjs` covering anonymous (10 rpm), app‑only (60 rpm) and authenticated (100 rpm) tiers with real‑time progress bar, auto server start/stop and `.env` credential support
- Enhanced documentation: clearer three‑tier authentication explanation, troubleshooting guide for 100 rpm limit, contributor guidelines in CONTRIBUTING.md, scripts README
Full changelog
🚀 Reddit MCP Buddy v1.1.1
Release Highlights
This release focuses on improving the developer experience with comprehensive testing tools and
enhanced documentation, making it easier for contributors to validate and troubleshoot the
three-tier authentication system.
✨ What's New
🧪 Rate Limit Testing Tool
- Added
scripts/rate-limit-tester.cjsfor comprehensive authentication testing - Validates all three tiers: Anonymous (10 rpm), App-only (60 rpm), Authenticated (100 rpm)
- Real-time progress bar with color-coded output
- Automatic server startup and shutdown
- Supports
.envfile for safe credential management
🔐 Improved Developer Security
- Added
.env.exampletemplate for credentials - Scripts now auto-load from
scripts/.envfile - Added
scripts/.gitignoreto prevent credential commits - Enhanced security best practices documentation
📚 Documentation Enhancements
- Clearer three-tier authentication explanations
- Fixed incorrect test command references
- Added troubleshooting for 100 rpm authentication
- Comprehensive contributor guidelines in CONTRIBUTING.md
- Detailed scripts documentation in scripts/README.md
🔧 Fixes & Improvements
- Fixed version inconsistencies across all files
- CLI now uses dynamic
SERVER_VERSIONconstant - Corrected test commands in documentation
- Updated git remote URLs
- Removed outdated files
📦 New NPM Scripts
npm run test:rate-limit # Test with current environment
npm run test:rate-limit:anon # Test anonymous mode (10 rpm)
npm run test:rate-limit:app # Test app-only mode (60 rpm)
npm run test:rate-limit:auth # Test authenticated mode (100 rpm)
🧑💻 For Contributors
Quick Start Testing
# Clone the repository
git clone https://github.com/karanb192/reddit-mcp-buddy.git
cd reddit-mcp-buddy
npm install
# Set up credentials (optional, for higher rate limits)
cp scripts/.env.example scripts/.env
# Edit scripts/.env with your Reddit app credentials
# Run rate limit tests
npm run test:rate-limit
💡 For Claude Desktop Users
No changes required! Continue using the same configuration:
{
"mcpServers": {
"reddit": {
"command": "npx",
"args": ["reddit-mcp-buddy"]
}
}
}
📊 Rate Limits Reminder
- No authentication: 10 requests/minute
- App-only (Client ID + Secret): 60 requests/minute
- Full authentication (Script app + Password): 100 requests/minute
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.