reddit-mcp

reddit-mcp

An MCP server that enables authenticated Reddit account actions like posting, commenting, voting, and messaging via the Reddit API.

Category
Visit Server

README

reddit-mcp

CI License: MIT Node

An MCP server over the Reddit API, backed by a self-owned OAuth2 app. Unlike the read-only servers in this set, this one can act as the account — post, comment, vote, and send private messages — so it is worth being deliberate about what you ask it to do.

Runs over stdio, registered in ~/.claude.json as reddit.

Tools

Read

Tool Purpose
reddit_get_me The authenticated account's own profile
reddit_get_user Another user's public profile
reddit_get_user_activity A user's recent posts and comments
reddit_get_subreddit_posts Listing for a subreddit (hot/new/top/rising)
reddit_get_post A single post plus its comment tree
reddit_search Search across Reddit or within one subreddit
reddit_get_inbox Private messages and inbox replies

Write — these have real, public consequences

Tool Purpose
reddit_submit_post Create a new post in a subreddit
reddit_submit_comment Reply to a post or comment
reddit_vote Up/down/clear vote on a post or comment
reddit_send_message Send a private message to a user
reddit_mark_read Mark inbox items read

The write tools post under your real account, publicly and attributably. Reddit's spam and vote-manipulation rules apply to API traffic exactly as they do to browser traffic, and account bans follow the account, not the app.

Auth

OAuth2 with a refresh token, stored in credentials/token.json (gitignored). Reddit does not rotate refresh tokens, so the stored one stays valid indefinitely — access tokens are refreshed automatically ~60s before expiry.

npm run authorize    # one-time browser consent, writes credentials/token.json
npm run check-auth   # verify the stored token still works

Setup

Requires Node 20+.

  1. Create a script app at reddit.com/prefs/apps.

  2. Save its id and secret to credentials/client_secret.json — see credentials/client_secret.example.json for the shape. credentials/ is git-ignored.

  3. Identify yourself to Reddit. The default User-Agent contains a placeholder, and Reddit throttles generic agents hard, so set one of:

    REDDIT_USERNAME=your_reddit_username        # fills in the /u/ segment
    REDDIT_USER_AGENT="platform:app:v1.0.0 (by /u/you)"   # or replace it wholesale
    
  4. Authorize and register:

    npm ci
    npm run authorize
    claude mcp add reddit -- node <path>/reddit-mcp/src/index.js
    

Tests

npm test

Registration, the fullname-prefix helper, and User-Agent construction. No network and no credentials, so it is safe in CI.

Layout

src/auth.js            token load, refresh, caching
src/reddit.js          all tool registrations
src/index.js           McpServer construction + stdio transport
scripts/authorize.js   one-time OAuth consent flow
scripts/check-token.js token health check

Notes

  • Reddit requires a descriptive, unique User-Agent; a generic one gets 429s regardless of rate.
  • Fullnames are prefixed type IDs (t3_ post, t1_ comment, t5_ subreddit). reddit_vote wants the fullname, not the short ID from a URL.

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
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

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