Skip to main content
Glama

Search Reddit Posts

search_reddit
Read-only

Search Reddit posts by keyword. Returns title, URL, subreddit, author, text, score, comment count, flair and video/gallery links. Sort by newest, relevance, hot, top or most commented, limit to a time window or one subreddit, and optionally include NSFW posts. 20 posts per page. Use search_reddit_comments to search comment text and reddit_subreddit_posts to browse a subreddit. Billed $0.003 per request.

Input Schema

NameRequiredDescriptionDefault
pageNoPage number, 1-12 (default: 1). 20 posts per page
queryYesSearch keyword (max 500 characters)
sort_byNoSort order: "most_recent", "relevance", "hot", "top", or "most_commented"most_recent
subredditNoOnly posts from this subreddit, with or without r/ (e.g. Python)
posted_agoNoOnly posts from this period: "1h", "24h", "7d", "30d", "12m", or "all" (default: all). Works with every sort_by
include_nsfwNoInclude posts marked NSFW (left out by default)
get_sentimentNoAdd AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / properties / include_nsfw
      Added value: +{
      +  "default": false,
      +  "description": "Include posts marked NSFW (left out by default)",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / posted_ago / description
      Previous value: -"Only posts from this period: \"1h\", \"24h\", \"7d\", \"30d\", or \"12m\" (default: all time). Works with every sort_by"New value: +"Only posts from this period: \"1h\", \"24h\", \"7d\", \"30d\", \"12m\", or \"all\" (default: all). Works with every sort_by"
    • changedInput schema / properties / posted_ago / enum
      Previous value: -[
      -  "1h",
      -  "24h",
      -  "7d",
      -  "30d",
      -  "12m"
      -]New value: +[
      +  "1h",
      +  "24h",
      +  "7d",
      +  "30d",
      +  "12m",
      +  "all"
      +]
    • changedInput schema / properties / sort_by / description
      Previous value: -"Sort order: \"most_recent\", \"relevance\", \"hot\", or \"top\""New value: +"Sort order: \"most_recent\", \"relevance\", \"hot\", \"top\", or \"most_commented\""
    • changedInput schema / properties / sort_by / enum
      Previous value: -[
      -  "most_recent",
      -  "relevance",
      -  "hot",
      -  "top"
      -]New value: +[
      +  "most_recent",
      +  "relevance",
      +  "hot",
      +  "top",
      +  "most_commented"
      +]
    • addedInput schema / properties / subreddit
      Added value: +{
      +  "description": "Only posts from this subreddit, with or without r/ (e.g. Python)",
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / posted_ago
      Added value: +{
      +  "description": "Only posts from this period: \"1h\", \"24h\", \"7d\", \"30d\", or \"12m\" (default: all time). Works with every sort_by",
      +  "enum": [
      +    "1h",
      +    "24h",
      +    "7d",
      +    "30d",
      +    "12m"
      +  ],
      +  "type": "string"
      +}
  3. Changed1 schema field changed
    • changedInput schema / properties / get_sentiment / description
      Previous value: -"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small per-page surcharge."New value: +"Add AI sentiment analysis (Plutchik emotions, dominant_emotion, intensity, and positive/negative/neutral polarity) to each result. Adds a small surcharge per page, or per request on single-request endpoints."
  4. Changed1 schema field changed
    • changedInput schema / properties / page / description
      Previous value: -"Page number, 1-5 (default: 1)"New value: +"Page number, 1-12 (default: 1). 20 posts per page"
  5. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds genuinely useful context beyond that: billing at $0.003 per request and the 20-posts-per-page pagination behavior. It stops short of rate limits or per-page cost of the sentiment add-on, keeping it just under full marks.

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?

Front-loaded with purpose, then return fields, options, sibling routing, and pricing in a logical order with no filler. The field enumeration is dense but earns its place since there is no output schema; slightly long overall.

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

Completeness4/5

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

With no output schema, the description usefully lists return fields, and it covers pagination, filtering options, and cost. Nothing critical is missing for correct invocation, though finer cost/rate-limit details are absent.

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 description coverage is 100%, so all seven parameters are already documented in the schema. The description restates sort options, the time window, subreddit scoping and NSFW inclusion, adding only the '20 posts per page' framing beyond what the schema provides. Baseline 3 is appropriate.

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?

States a specific verb+resource ('Search Reddit posts by keyword') and even enumerates the returned fields, so an agent knows exactly what it gets. It explicitly distinguishes itself from siblings by naming search_reddit_comments and reddit_subreddit_posts.

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

Usage Guidelines5/5

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

Explicitly routes the agent: use search_reddit_comments for comment text and reddit_subreddit_posts to browse a subreddit. This is a clear when-to-use-this-vs-alternatives statement with no inference required.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources