Skip to main content
Glama
jacklenzotti

pullpush-mcp

by jacklenzotti

pullpush-mcp

An MCP (Model Context Protocol) server for the 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

Related MCP server: Reddit MCP Server

Installation

npm install -g pullpush-mcp

From source

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):

{
  "mcpServers": {
    "pullpush": {
      "command": "npx",
      "args": ["-y", "pullpush-mcp"]
    }
  }
}

Using a local build:

{
  "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

# 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. PullPush provides free access to Reddit's historical data without requiring authentication.

License

MIT

Available Tools

2 tools
search_commentsC

Search Reddit comments. Supports filtering by subreddit, author, date range, and keyword search.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoSearch query - searches across all comment fields
sizeNoNumber of results to return (default: 100, max: 100)
sortNoSort order (default: desc)
afterNoReturn results after this date. Accepts epoch timestamp or relative date like '30d', '1y'
authorNoFilter by author username
beforeNoReturn results before this date. Accepts epoch timestamp or relative date like '30d', '1y'
sort_typeNoField to sort by (default: created_utc)
subredditNoFilter by subreddit name (without r/ prefix)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It only says 'supports filtering' without disclosing behavioral details such as authentication requirements, rate limits, result formatting, or pagination behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise with one sentence. It is front-loaded with the action and resource. Slightly more detail could be added without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters, no output schema, and no annotations, the description is too minimal. It fails to explain return values, sorting behavior, date format details, or any operational constraints, making it incomplete for effective use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description names a few filters (subreddit, author, date range, keyword) but adds little meaning beyond what the schema already provides. No parameter-level details are given.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool searches Reddit comments and lists supported filters. However, it does not differentiate from the sibling tool 'search_submissions', which has a similar purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like search_submissions. It does not specify exclusions or suggested contexts.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_submissionsA

Search Reddit submissions (posts). Supports filtering by subreddit, author, date range, score, and keyword search.

ParametersJSON Schema
NameRequiredDescriptionDefault
qNoSearch query - searches across all submission fields
sizeNoNumber of results to return (default: 25, max: 100)
sortNoSort order (default: desc)
afterNoReturn results after this date. Accepts epoch timestamp or relative date like '30d', '1y'
scoreNoFilter by score. Use >N, <N, or N for exact match
titleNoSearch in submission titles only
authorNoFilter by author username
beforeNoReturn results before this date. Accepts epoch timestamp or relative date like '30d', '1y'
lockedNoFilter locked posts
over_18NoFilter NSFW content (true = only NSFW, false = exclude NSFW)
spoilerNoFilter spoiler posts
is_videoNoFilter video posts
selftextNoSearch in submission body text only
stickiedNoFilter stickied posts
sort_typeNoField to sort by (default: created_utc)
subredditNoFilter by subreddit name (without r/ prefix)
num_commentsNoFilter by number of comments. Use >N, <N, or N for exact match

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It only mentions search and filter capabilities, but omits details like pagination, result format, authentication needs, or rate limits. This under-disclosure is a gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the core purpose. It is efficient with no wasted words, though briefly listing filters could be slightly more structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 17 parameters and no output schema, the description should compensate by explaining return values or pagination behavior. It only lists filters, leaving the agent unaware of result structure. This incompleteness is a notable deficiency.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with each parameter described in the input schema. The description adds no new meaning beyond a high-level list of filter types, so it does not elevate the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches Reddit submissions (posts), using a specific verb and resource. It also lists supported filter categories, distinguishing it from the sibling tool search_comments.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides context that the tool supports various filters, implying use cases for finding submissions. However, it does not explicitly state when to use or avoid this tool versus alternatives, though the sibling differentiation is clear from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 2 tool updatesv1.0.1
    • First observedsearch_comments
    • First observedsearch_submissions

TDQS

B3.3/5.0

Scored across 2 tools

Disambiguation5/5

The two tools target distinct Reddit content types: comments and submissions. There is no overlap in purpose, and an agent can easily distinguish between them based on tool names and descriptions.

Naming Consistency5/5

Both tool names follow the same verb_noun pattern (search_comments, search_submissions), using snake_case and a consistent verb 'search' followed by the target entity.

Tool Count3/5

With only 2 tools, the server is minimal. While appropriate for a focused search-only purpose, it borders on being too thin for broader Reddit interaction, but not extreme.

Completeness2/5

The server only provides search functionality, lacking tools for retrieving individual posts/comments by ID, creating, updating, or deleting content. Significant gaps exist for a typical Reddit interaction workflow.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to browse Reddit, search posts, analyze user activity, and fetch comments without requiring API keys. Features smart caching, clean data responses, and optional authentication for higher rate limits.
    5
    1,571 npm
    828
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to search, monitor, and analyze Reddit's communities and discussions through authenticated API access with intelligent caching and rate limiting.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables searching Reddit posts, fetching subreddit content, and retrieving post comments without requiring an API key. It uses public JSON endpoints to provide seamless access to Reddit data for LLM-based applications.
    2 npm
    MIT