Reddit Content API

Reddit Content API

MCP server that enables interaction with Reddit, allowing users to read trending posts, analyze discussions, create posts, add comments, and vote on content through Claude and Cursor.

Category
Visit Server

README

Reddit Content API - Setup and Usage Guide

GitHub stars GitHub forks

This project provides MCP (Model Context Protocol) tools for interacting with Reddit through Claude and Cursor.

Features

  • Reading trending posts from subreddits
  • Analyzing Reddit discussions with comments
  • Creating posts on Reddit
  • Adding comments to posts or replies to existing comments
  • Voting on posts and comments

Requirements

  • Python 3.10+
  • A Reddit account
  • A registered Reddit application (to obtain client_id and client_secret)
  • Virtual environment (venv or similar)
  • Claude Desktop and/or Cursor (optional but recommended)

Installation from Scratch

Follow these steps carefully to avoid import and configuration issues:

# 1. Clone the repository
git clone https://github.com/your-username/mcp-reddit.git
cd mcp-reddit

# 2. Create and activate virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# 3. Install dependencies (WITHOUT installing the package in editable mode)
pip install -r requirements.txt

# 4. Configure environment variables (see below)
# Create and edit the .env file

⚠️ IMPORTANT: DO NOT install the package in editable mode (pip install -e .) as it can cause module import problems.

Environment Configuration

  1. Create a .env file in the project root with the following variables:
REDDIT_CLIENT_ID=your_client_id
REDDIT_CLIENT_SECRET=your_client_secret
REDDIT_REFRESH_TOKEN=your_refresh_token
  1. To obtain a refresh token, run:
python -m mcp_reddit.auth_helper

Follow the instructions to authorize the application. The token will be automatically saved to the .env file.

Project Structure

mcp-reddit/
│
├── src/
│   └── mcp_reddit/
│       ├── __init__.py
│       ├── main.py           # Entry point for the MCP server
│       ├── reddit_fetcher.py # Implementation of Reddit tools
│       └── auth_helper.py    # Helper for generating authentication tokens
│
├── .env                      # Environment variables (create manually)
├── requirements.txt
├── setup.py
└── README.md

Running the Server Directly

To run manually (useful for development and testing):

cd /path/to/mcp-reddit
.venv/bin/python src/mcp_reddit/main.py

You should see logs indicating:

  • Server initialization
  • Reddit authentication verification
  • Registration of 10 tools (5 original + 5 with prefix)
  • "Running MCP server..."

Claude Desktop Configuration

  1. Locate the configuration file:

    • On macOS: /Users/your-username/Library/Application Support/Claude/claude_desktop_config.json
    • On Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Add the configuration for reddit-content-api:

"reddit-content-api": {
  "command": "/full/path/to/mcp-reddit/.venv/bin/python",
  "args": [
    "-m",
    "mcp_reddit.main",
    "--stdio"
  ],
  "cwd": "/full/path/to/mcp-reddit",
  "env": {
    "PYTHONPATH": "/full/path/to/mcp-reddit/src:/full/path/to/mcp-reddit",
    "DEBUG": "true"
  }
}

⚠️ EXTREMELY IMPORTANT: PYTHONPATH must include both the src directory and the project root, in that order, separated by : (on Unix/macOS) or ; (on Windows)

Cursor Configuration

  1. Locate the configuration file:

    • On macOS: /Users/your-username/.cursor/mcp.json
    • On Windows: %USERPROFILE%\.cursor\mcp.json
  2. Add the same configuration as in Claude, adjusting paths as necessary.

Troubleshooting Common Issues

Issue: Only 2 tools appear instead of the expected 10

Symptoms: When running the server, only 2 tools appear instead of the expected 10.

Possible causes and solutions:

  1. Import problem: Python is importing an installed version from site-packages instead of the local code in src/.

    Solution:

    • Make sure NOT to install the package in editable mode (pip install -e .)
    • Explicitly add src to the beginning of PYTHONPATH in the configurations
    • If you've already installed it, use pip uninstall reddit-content-api to remove it
  2. Python cache: Old .pyc files can cause problems.

    Solution:

    • Remove all __pycache__ directories from the project
  3. Version conflicts: Different versions of the same library.

    Solution:

    • Reinstall dependencies with pip install -r requirements.txt

Issue: "Cannot create post: Reddit authentication is not configured properly"

Cause: The refresh token is invalid or has expired.

Solution: Regenerate the token by running python -m mcp_reddit.auth_helper and make sure it's saved in .env.

Issue: Tools don't appear in Claude/Cursor

Cause: Incorrect configuration in the configuration files.

Solution:

  • Check paths and especially PYTHONPATH in the configuration files
  • Completely restart Claude/Cursor after modifying the configuration

Using the Tools in Claude/Cursor

Once configured, you can use the following tools:

  1. mcp_reddit_content_api_fetch_reddit_hot_threads - Get trending posts
  2. mcp_reddit_content_api_fetch_reddit_post_content - Analyze a post and its comments
  3. mcp_reddit_content_api_create_reddit_post - Create a new post
  4. mcp_reddit_content_api_add_reddit_comment - Add a comment
  5. mcp_reddit_content_api_vote_on_reddit_content - Vote on content

Examples

Getting trending posts:

Subreddit: python
Number of posts: 5

Creating a post:

Subreddit: test
Title: Test from MCP
Content type: text
Content: This is a test from the Reddit Content API using MCP.

Contributions

If you find issues or have improvements, please create an issue or submit a pull request.

License

MIT

Support This Project

If you find this project useful in your work or research, please consider:

  • ⭐ Starring the repository to show your support
  • 🔄 Following the repository for updates on new features and improvements
  • 🐛 Opening issues for bugs or feature requests
  • 🛠️ Contributing with pull requests if you have improvements to share

Your support helps make this project better for everyone!

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured