Reddit MCP server — access Reddit data through MCP protocol
Project description
reddit-mcp
Reddit MCP server — access Reddit data (posts, comments, search) through the MCP protocol.
Quick Start
# One-line installer (macOS / Linux)
curl -fsSL https://mkterswingman.com/install/reddit-mcp.sh | bash
# One-line installer (Windows PowerShell)
irm https://mkterswingman.com/install/reddit-mcp.ps1 | iex
# Direct install without hosted installer
uv tool install 5mghost-rover
# Full setup (auth + Reddit cookies + AI client registration)
reddit-mcp setup
Add this runtime command to AI clients that need manual config:
{
"mcpServers": {
"reddit-mcp": {
"command": "reddit-mcp",
"args": ["serve"]
}
}
}
Authentication
reddit-mcp uses two layers of authentication:
- PAT / OAuth token — Controls access to the MCP service (shared account system with yt-mcp / x-mcp)
- Reddit cookies — Used to fetch data from Reddit's JSON API
First-party local MCPs on the same machine now share one auth file at ~/.mkterswingman/auth.json.
That means logging into yt-mcp or another first-party local MCP can satisfy reddit-mcp too. Reddit local state now lives under ~/.mkterswingman/reddit-mcp/.
PAT Setup
- Visit https://mkterswingman.com/pat/login
- Log in and generate a PAT
- Either save it once through any first-party local MCP setup flow, or set
REDDIT_MCP_TOKEN=pat_xxxin your MCP config'senv - Run
reddit-mcp setup-cookiesto set up Reddit cookies
Full Setup
reddit-mcp setup
This runs auth, cookie setup, AI client registration, and final verification in one flow.
CLI Commands
| Command | Description |
|---|---|
reddit-mcp serve |
Start MCP server (stdio transport) |
reddit-mcp setup [--shutdown-browser] |
Full setup: OAuth login + cookie setup |
reddit-mcp setup-cookies [--shutdown-browser] |
Cookie-only setup (already have a PAT) |
reddit-mcp uninstall |
Remove MCP registrations and local ~/.mkterswingman/reddit-mcp config |
reddit-mcp update |
Check for updates and install latest version |
reddit-mcp install-skills |
Install/update bundled use-reddit-mcp skill in local AI clients |
reddit-mcp check |
Check token & cookie status |
reddit-mcp version |
Show version |
Bundled Skill
The package includes a bundled skill use-reddit-mcp that helps AI clients route Reddit analysis requests to the right tools.
setupinstalls the skill automaticallyupdaterefreshes the installed skill- You can manually run
reddit-mcp install-skillsat any time
MCP Tools
Data Tools
get_subreddit_posts— Get posts from a subreddit (hot/new/top/rising, up to 100 per request)get_post_content— Get a post's content and comment treesearch_reddit— Search Reddit posts (global or within a subreddit)get_subreddit_info— Get subreddit metadata (subscribers, description, etc.)
Management Tools
check_cookies— Check cookie validity, age, and usernameget_rate_limit_status— Check remaining API quota
Rate Limits
Reddit allows 100 requests per 10-minute window. The client automatically:
- Reads
x-ratelimit-*headers from responses - Throttles when remaining quota < 20
- Retries on 429 (Too Many Requests)
For typical usage (1-10 requests per conversation), you'll never hit the limit.
Cookie Management
Reddit cookies are stored at ~/.mkterswingman/reddit-mcp/cookies.json (permissions: 600).
- On macOS,
setup-cookiesfirst tries to import a reusable Reddit session from copied local Chrome / Edge profiles - On Windows, Chromium now protects cookies from cross-profile reuse, so
setup-cookiesopens a dedicated Playwright-managed Chromium window and stores that Reddit login in~/.mkterswingman/reddit-mcp/browser-profile - The Windows guided login flow avoids depending on your live Chrome / Edge profile state and skips Chrome account onboarding UX
- They're stored locally and never uploaded to any server
- If cookies expire (403 errors),
reddit-mcpfirst tries a silent refresh path; if that fails, runreddit-mcp setup-cookiesmanually - A warning is shown when cookies are close to expiry (or fallback age is very old)
If cookie setup reports that the browser runtime is missing, run:
uv tool run --from 5mghost-rover playwright install chromium
Package Naming
The published PyPI package name is 5mghost-rover, and the installed executable is reddit-mcp.
- Supported install path:
uv tool install 5mghost-rover - Supported runtime command:
reddit-mcp serve - Supported setup entrypoint:
reddit-mcp setup
Requirements
uv(the hosted installer can install it automatically)- Playwright browser runtime (run
uv tool run --from 5mghost-rover playwright install chromiumonce if missing) - A valid PAT or OAuth token
You do not need to preinstall Python when using the supported uv path.
Troubleshooting
- If
reddit-mcp setupfails during auth, visit https://mkterswingman.com/pat/login and retry. - If no AI client is auto-detected, keep using
reddit-mcp serveas the manual MCP command. - If cookies expire or Reddit starts returning 403s, rerun
reddit-mcp setup-cookies.
Verification
- Run
python3 -m pytestfor the normal automated suite - Run
docs/E2E_CHECKLIST.mdbefore releasing install or cookie-flow changes
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file 5mghost_rover-0.0.22.tar.gz.
File metadata
- Download URL: 5mghost_rover-0.0.22.tar.gz
- Upload date:
- Size: 69.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbc1726b6e3813cd7a3d41a3dd2853a80be66e261f1d552bfcc1b49c76fe4103
|
|
| MD5 |
cf67a51d2f65df2da5ad1e19519e2a40
|
|
| BLAKE2b-256 |
ab2fe1380dc08e6f797b36b4489f74283a847aa6086218159d21ae3585d24060
|
File details
Details for the file 5mghost_rover-0.0.22-py3-none-any.whl.
File metadata
- Download URL: 5mghost_rover-0.0.22-py3-none-any.whl
- Upload date:
- Size: 30.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b24d6d4a7ac57a0a6287a9302dd87cc787f2496ef5c0f811cb056935707e611f
|
|
| MD5 |
e43ac809763a60c8bd47b57a7fc726b1
|
|
| BLAKE2b-256 |
5c4ee7c170143ed124534f8f74c7d7e9eeebad1e62df90c90e876c29276c7351
|