Reddit MCP Server
MCP server providing 85+ tools for Reddit API access via PRAW.
Features
- Reading: Browse posts, comments, subreddits, user profiles, wiki pages
- Submissions: Create text/link/image/video/gallery/poll posts, crosspost
- Comments: Reply, edit, delete comments
- Interactions: Vote, save, hide, report, award content
- Search: Search posts, comments, users across Reddit
- User Management: Friends, blocks, preferences, multireddits
- Moderation: Full mod tools - approve/remove, ban/mute, flair, modqueue
Installation
Option 1: PyPI (Recommended)
# With pip
pip install reddit-mcp-tools
# With uv
uv pip install reddit-mcp-tools
Option 2: uvx (No Installation)
Run directly without installing:
uvx reddit-mcp-tools
Option 3: From GitHub
# With pip
pip install git+https://github.com/ErcinDedeoglu/reddit-mcp.git
# With uv
uv pip install git+https://github.com/ErcinDedeoglu/reddit-mcp.git
# Or run directly with uvx
uvx --from git+https://github.com/ErcinDedeoglu/reddit-mcp.git reddit-mcp
Option 4: From Source
git clone https://github.com/ErcinDedeoglu/reddit-mcp.git
cd reddit-mcp
uv sync # or: pip install -e .
Configuration
Create a .env file or set environment variables with your Reddit API credentials:
REDDIT_CLIENT_ID=your_client_id
REDDIT_CLIENT_SECRET=your_client_secret
REDDIT_USERNAME=your_username
REDDIT_PASSWORD=your_password
REDDIT_USER_AGENT=reddit-mcp/1.0.0
Getting Reddit API Credentials
- Go to https://www.reddit.com/prefs/apps
- Click "create another app..."
- Select "script" type
- Note the client ID (under app name) and secret
Usage
With Claude Desktop
Add to your Claude Desktop config:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Using PyPI install:
{
"mcpServers": {
"reddit": {
"command": "reddit-mcp-tools",
"env": {
"REDDIT_CLIENT_ID": "your_client_id",
"REDDIT_CLIENT_SECRET": "your_client_secret",
"REDDIT_USERNAME": "your_username",
"REDDIT_PASSWORD": "your_password",
"REDDIT_USER_AGENT": "reddit-mcp/1.0.0"
}
}
}
}
Using uvx (no install needed):
{
"mcpServers": {
"reddit": {
"command": "uvx",
"args": ["reddit-mcp-tools"],
"env": {
"REDDIT_CLIENT_ID": "your_client_id",
"REDDIT_CLIENT_SECRET": "your_client_secret",
"REDDIT_USERNAME": "your_username",
"REDDIT_PASSWORD": "your_password",
"REDDIT_USER_AGENT": "reddit-mcp/1.0.0"
}
}
}
}
Using local clone:
{
"mcpServers": {
"reddit": {
"command": "uv",
"args": ["--directory", "/path/to/reddit-mcp", "run", "reddit-mcp-tools"],
"env": {
"REDDIT_CLIENT_ID": "your_client_id",
"REDDIT_CLIENT_SECRET": "your_client_secret",
"REDDIT_USERNAME": "your_username",
"REDDIT_PASSWORD": "your_password",
"REDDIT_USER_AGENT": "reddit-mcp/1.0.0"
}
}
}
}
Standalone
# After installation
reddit-mcp-tools
# With uvx
uvx reddit-mcp-tools
# From source
uv run reddit-mcp-tools
Tools (85 total)
Reading (13 tools)
| Tool | Description |
|---|---|
get_subreddit_posts |
Browse posts from any subreddit |
get_front_page |
Get posts from subscribed subreddits |
get_post_details |
Get full details of a post |
get_post_comments |
Get comments on a post |
get_comment_details |
Get a specific comment |
get_comment_replies |
Get replies to a comment |
get_subreddit_info |
Get subreddit metadata |
get_subreddit_rules |
Get posting rules |
get_subreddit_wiki_page |
Read wiki pages |
get_user_info |
Get user profile |
get_user_posts |
Browse user's posts |
get_user_comments |
Browse user's comments |
get_multireddit |
Get posts from multireddit |
Submissions (9 tools)
| Tool | Description |
|---|---|
submit_text_post |
Create a text/self post |
submit_link_post |
Submit a URL |
submit_image_post |
Upload and post an image |
submit_video_post |
Upload and post a video |
submit_gallery_post |
Post multiple images |
submit_poll_post |
Create a poll |
edit_post |
Edit post content |
delete_post |
Delete a post |
crosspost |
Share to another subreddit |
Comments (5 tools)
| Tool | Description |
|---|---|
reply_to_post |
Add a comment to a post |
reply_to_comment |
Reply to a comment |
edit_comment |
Edit your comment |
delete_comment |
Delete your comment |
get_more_comments |
Expand collapsed threads |
Interactions (10 tools)
| Tool | Description |
|---|---|
upvote |
Upvote a post/comment |
downvote |
Downvote a post/comment |
clear_vote |
Remove your vote |
save_item |
Save to your account |
unsave_item |
Remove from saved |
hide_post |
Hide from your feed |
unhide_post |
Unhide a post |
report_item |
Report to moderators |
give_award |
Give an award |
get_saved_items |
List saved content |
Search (4 tools)
| Tool | Description |
|---|---|
search_all |
Search all of Reddit |
search_subreddit |
Search within a subreddit |
search_comments |
Search comments |
search_users |
Find users |
User (16 tools)
| Tool | Description |
|---|---|
get_me |
Get authenticated user info |
get_user |
Get any user's profile |
get_user_submissions |
Get user's post history |
get_karma_breakdown |
Karma by subreddit |
get_trophies |
User's trophies |
get_friends |
List friends |
add_friend |
Add a friend |
remove_friend |
Remove a friend |
get_blocked |
List blocked users |
block_user |
Block a user |
unblock_user |
Unblock a user |
get_preferences |
Get account settings |
update_preferences |
Update settings |
get_multireddits |
List your multireddits |
create_multireddit |
Create a multireddit |
is_username_available |
Check username availability |
Moderation (28 tools)
| Tool | Description |
|---|---|
approve_item |
Approve reported content |
remove_item |
Remove content |
spam_item |
Mark as spam |
distinguish_comment |
Add mod distinction |
undistinguish_comment |
Remove distinction |
sticky_post |
Sticky a post |
unsticky_post |
Unsticky a post |
set_suggested_sort |
Set comment sort |
ban_user |
Ban from subreddit |
unban_user |
Remove ban |
mute_user |
Mute in modmail |
unmute_user |
Unmute user |
add_contributor |
Add approved user |
remove_contributor |
Remove approved user |
get_banned |
List banned users |
get_contributors |
List approved users |
set_user_flair |
Set user's flair |
delete_user_flair |
Remove user flair |
set_post_flair |
Set post flair |
get_flair_templates |
List flair options |
create_flair_template |
Create new flair |
delete_flair_template |
Delete flair option |
get_modqueue |
View mod queue |
get_reports |
View reported items |
get_spam |
View spam queue |
get_edited |
View edited items |
get_unmoderated |
View unmoderated posts |
get_mod_log |
View moderation log |
Development
# Clone and install with dev dependencies
git clone https://github.com/ErcinDedeoglu/reddit-mcp.git
cd reddit-mcp
uv sync --dev
# Run linters
uv run ruff check .
uv run pylint reddit_mcp/
# Build package
uv build
Publishing to PyPI
# Build the package
uv build
# Publish (requires PYPI_TOKEN)
uv publish
License
MIT License - see LICENSE for details.
Metadata
Release files for reddit-mcp-tools 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| reddit_mcp_tools-0.1.1.tar.gz | 79.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| reddit_mcp_tools-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 116.8 kB
Release files / reddit_mcp_tools-0.1.1.tar.gz
| Download URL | reddit_mcp_tools-0.1.1.tar.gz |
|---|---|
| Size | 79.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8744cbe8df23f60cfb1fab64978a76b412ad18cc59e17d1edac723bbe5304d4f
|
|
BLAKE2b-256 checksum How to use checksums |
d6fc4c0134ca34bdcf04f7ecc8f485e47f58d031dfb73f267ef810b74acd8cb0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / reddit_mcp_tools-0.1.1-py3-none-any.whl
| Download URL | reddit_mcp_tools-0.1.1-py3-none-any.whl |
|---|---|
| Size | 37.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f657908e91215b4b1b8fb1290941ee23a9d835526e0aa5e63136052373bc549c
|
|
BLAKE2b-256 checksum How to use checksums |
2560ba2dbba54befc574819ce325b77bae5214730de74c1df9f20940ed32a2a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.27 {"installer":{"name":"uv","version":"0.9.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for reddit-mcp-tools 0.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.