Reddit MCP Server
Interact with the Reddit API to fetch saved posts, search, get comments, and reply.
Reddit MCP Server
This project implements a Model Context Protocol (MCP) server that provides tools for interacting with the Reddit API.
Features
- Get Saved Posts: Retrieve a list of saved Reddit posts for the authenticated user.
- Search Reddit: Search for posts across all of Reddit or within a specific subreddit.
- Get Comments: Fetch comments from a specific Reddit submission.
- Reply to Comment: Post a reply to an existing Reddit comment.
- Fetch Reddit Post Content: Fetch detailed content of a specific Reddit post, including a comment tree, using the
redditwarplibrary.
Setup
Prerequisites
- Python 3.12 or higher.
Installation
-
Clone the repository (if applicable, otherwise ensure you have the project files):
git clone https://github.com/netixc/reddit-mcp-server.git cd reddit-mcp-server -
Create a Python virtual environment:
uv sync
This will install praw, fastmcp, python-dotenv, and redditwarp.
Reddit API Configuration
You need to set up Reddit API credentials for your application. These can be obtained by creating an application on Reddit's developer page (https://www.reddit.com/prefs/apps).
Running the MCP Server
The server uses both PRAW (for get_saved_posts, search_reddit, get_comments, reply_to_comment) and redditwarp (for fetch_reddit_post_content) to interact with the Reddit API.
PRAW API Configuration
{
"mcpServers": {
"reddit-mcp-server": {
"command": "mcp",
"args": [
"run",
"/path/to/reddit-mcp-server/server.py"
],
"env": {
"REDDIT_CLIENT_ID": "YOUR_REDDIT_CLIENT_ID",
"REDDIT_CLIENT_SECRET": "YOUR_REDDIT_CLIENT_SECRET",
"REDDIT_USERNAME": "YOUR_REDDIT_USERNAME",
"REDDIT_PASSWORD": "YOUR_REDDIT_PASSWORD"
}
}
}
}
Note: Replace YOUR_REDDIT_CLIENT_ID, YOUR_REDDIT_CLIENT_SECRET, YOUR_REDDIT_USERNAME, and YOUR_REDDIT_PASSWORD with your actual Reddit API credentials for PRAW authentication. redditwarp does not require explicit credential setup in the server.py or .env file as used in this project.
Available Tools
Once the server is running and configured in your MCP client, you can call its tools.
get_saved_posts(limit: int = 25, subreddit: Optional[str] = None)
Fetches a list of saved Reddit posts for the authenticated user.
limit(int, optional): The maximum number of saved posts to retrieve. Defaults to 25.subreddit(str, optional): If provided, only posts from this specific subreddit will be returned.
search_reddit(query: str, subreddit: Optional[str] = None, sort: str = "relevance", limit: int = 10)
Searches Reddit for posts matching a given query.
query(str): The search query.subreddit(str, optional): If provided, the search will be limited to this specific subreddit.sort(str, optional): The sorting method for the search results (e.g., "relevance", "hot", "new", "top", "comments"). Defaults to "relevance".limit(int, optional): The maximum number of search results to retrieve. Defaults to 10.
get_comments(submission_id: str, limit: int = 25)
Fetches comments from a specific Reddit submission.
submission_id(str): The ID of the Reddit submission (post) to fetch comments from.limit(int, optional): The maximum number of comments to retrieve. Defaults to 25.
reply_to_comment(comment_id: str, text: str)
Replies to a specific Reddit comment.
comment_id(str): The ID of the comment to reply to.text(str): The text content of the reply.
fetch_reddit_post_content(post_id: str, comment_limit: int = 20, comment_depth: int = 3)
Fetch detailed content of a specific post, including a recursive comment tree. This tool utilizes the redditwarp library.
post_id(str): The ID of the Reddit post to fetch content from.comment_limit(int, optional): The number of top-level comments to fetch. Defaults to 20.comment_depth(int, optional): The maximum depth of the comment tree to traverse. Defaults to 3.
相關伺服器
A2A Client MCP Server
An MCP server client for the Agent-to-Agent (A2A) protocol, enabling LLMs to interact with A2A agents.
CData Twilio
A read-only MCP server for querying live Twilio data, powered by the CData JDBC Driver.
FastAlert MCP Server
Official Model Context Protocol (MCP) server for FastAlert. This server allows AI agents (like Claude, ChatGPT, and Cursor) to list of your channels and send notifications directly through the FastAlert API.
Digital Samba Embedded API MCP Server
Interact with the Digital Samba Embedded API for video conferencing features like room management, analytics, recording, and live session control.
Voice Mode
A server for natural voice conversations with AI assistants like Claude and ChatGPT.
Machine 2 Machine Protocol
A proof-of-concept for autonomous economic interactions between AI agents using MCP, A2A, and x402 protocols.
Infobip MCP servers
Enables seamless integration with communication platform that allows you to reach your customers globally across any channel.
Webhooks MCP
Send HTTP requests to webhooks with dynamic parameters.
WhatsApp
Connect your personal WhatsApp account to an AI agent using the WhatsApp Web multi-device API.
Kraiter
Kraiter is an email automation platform. It exposes 62 tools for managing contacts, drip campaigns, transactional sends, segments, templates, domains, and metrics.