# pullpush-mcp An MCP (Model Context Protocol) server for the [PullPush.io](https://pullpush.io/) Reddit API. This allows Claude and other MCP-compatible AI assistants to search Reddit comments and submissions. PullPush.io provides access to Reddit's historical data, making it possible to search posts and comments that may no longer be available through Reddit's official API. ## Tools ### `search_comments` Search Reddit comments with the following parameters: | Parameter | Type | Description | |-----------|------|-------------| | `q` | string | Search query across all comment fields | | `subreddit` | string | Filter by subreddit (without r/ prefix) | | `author` | string | Filter by username | | `after` | string | Results after date (epoch or relative: `30d`, `1y`) | | `before` | string | Results before date (epoch or relative: `30d`, `1y`) | | `sort` | `asc` \| `desc` | Sort order (default: desc) | | `sort_type` | `created_utc` \| `score` | Sort field (default: created_utc) | | `size` | number | Results to return (1-100, default: 100) | ### `search_submissions` Search Reddit posts/submissions with the following parameters: | Parameter | Type | Description | |-----------|------|-------------| | `q` | string | Search query across all fields | | `subreddit` | string | Filter by subreddit (without r/ prefix) | | `author` | string | Filter by username | | `title` | string | Search in titles only | | `selftext` | string | Search in post body only | | `after` | string | Results after date (epoch or relative: `30d`, `1y`) | | `before` | string | Results before date (epoch or relative: `30d`, `1y`) | | `sort` | `asc` \| `desc` | Sort order (default: desc) | | `sort_type` | `created_utc` \| `score` \| `num_comments` | Sort field | | `size` | number | Results to return (1-100, default: 25) | | `score` | string | Filter by score (`>100`, `<50`, or exact) | | `num_comments` | string | Filter by comment count (`>10`, `<5`, or exact) | | `over_18` | boolean | Filter NSFW content | | `is_video` | boolean | Filter video posts | | `locked` | boolean | Filter locked posts | | `stickied` | boolean | Filter stickied posts | | `spoiler` | boolean | Filter spoiler posts | ## Installation ### npm (recommended) ```bash npm install -g pullpush-mcp ``` ### From source ```bash git clone https://github.com/jacklenzotti/pullpush-mcp.git cd pullpush-mcp npm install npm run build ``` ## Usage with Claude Desktop Add to your Claude Desktop config file: **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json` **Windows:** `%APPDATA%\Claude\claude_desktop_config.json` Using npm (recommended): ```json { "mcpServers": { "pullpush": { "command": "npx", "args": ["-y", "pullpush-mcp"] } } } ``` Using a local build: ```json { "mcpServers": { "pullpush": { "command": "node", "args": ["/absolute/path/to/pullpush-mcp/build/index.js"] } } } ``` Restart Claude Desktop after updating the config. ## Example Prompts Once configured, you can ask Claude: - "Find all posts by user spez from the last year" - "Search for comments mentioning 'typescript' in r/programming" - "Show me the top 20 posts in r/LocalLLaMA sorted by score" - "Find comments by user GovSchwarzenegger" - "Search r/machinelearning for posts about transformers with more than 100 upvotes" ## Development ```bash # Build npm run build # Type check npm run typecheck # Test with MCP Inspector npm run inspect ``` ## API Reference This server uses the [PullPush.io API](https://pullpush.io/). PullPush provides free access to Reddit's historical data without requiring authentication. ## License MIT