# Reddit MCP Server
MCP server for Reddit API - Access Reddit data through a unified API interface with TOON format for 90%+ token savings.
## Features
- Fetch hot/new/top posts from any subreddit
- Get detailed post content including comment trees
- Search Reddit posts by query
- Get user profile information and activity
- Get subreddit information
- Returns data in TOON format for token efficiency
- Proxy support for enterprise environments
## Installation
```bash
npm install @yilin-jing/reddit-mcp
```
Or run directly:
```bash
npx @yilin-jing/reddit-mcp
```
## Configuration
### Claude Desktop
Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json`):
```json
{
"mcpServers": {
"reddit": {
"command": "npx",
"args": ["-y", "@yilin-jing/reddit-mcp"],
"env": {}
}
}
}
```
### Environment Variables (Optional)
- `PROXY_URL` - HTTP/HTTPS proxy URL
- `HTTP_PROXY` - Alternative proxy setting
- `HTTPS_PROXY` - Alternative proxy setting
## Available Tools
| Tool | Description |
|------|-------------|
| `get_subreddit_hot` | Get hot posts from a subreddit |
| `get_subreddit_new` | Get new posts from a subreddit |
| `get_subreddit_top` | Get top posts from a subreddit (with time filter) |
| `get_post_content` | Get post details with comments tree |
| `search_posts` | Search Reddit posts by query |
| `get_user_info` | Get Reddit user profile information |
| `get_user_posts` | Get posts submitted by a user |
| `get_user_comments` | Get comments made by a user |
| `get_subreddit_info` | Get subreddit information |
## Usage Examples
### Get Hot Posts from a Subreddit
```
Tool: get_subreddit_hot
Args: { "subreddit": "programming", "limit": 10 }
```
### Get Top Posts of the Week
```
Tool: get_subreddit_top
Args: { "subreddit": "askreddit", "time": "week", "limit": 20 }
```
### Get Post Content with Comments
```
Tool: get_post_content
Args: { "post_id": "abc123", "comment_limit": 30, "comment_depth": 5 }
```
### Search Posts
```
Tool: search_posts
Args: { "query": "typescript tutorial", "subreddit": "programming", "sort": "top", "time": "month" }
```
### Get User Information
```
Tool: get_user_info
Args: { "username": "spez" }
```
## Output Format
All responses are returned in TOON format for maximum token efficiency. Example cleaned post data:
```
id:"abc123"
title:"Example Post Title"
subreddit:"programming"
author:"username"
score:1234
upvoteRatio:0.95
comments:56
created:"2024-01-15T10:30:00.000Z"
url:"https://example.com"
permalink:"https://reddit.com/r/programming/comments/abc123/example_post/"
```
## Development
```bash
# Install dependencies
npm install
# Build
npm run build
# Run in development
npm run dev
# Run tests
npm test
```
## License
MIT