Skip to main content
Glama
sinanefeozler

Reddit Summarizer MCP Server

Reddit Summarizer MCP Server

A Model Context Protocol (MCP) server for summarizing homepage of the user or contents of subreddits and comments on posts.

Features

  • Summarize user's reddit frontpage (homepage) with or without comment analyses.

  • Summarize a subreddit contents by inspecting posts sorted by hot, new, top, rising, random (if aviable) with or without comment analysis.

  • Summarize comments on a post.

Related MCP server: Reddit MCP Server

Requirements

  • Python 3.12 or higher

  • uv package manager (recommended)

  • Reddit API credentials

  • MCP client (e.g. Claude Desktop)

Installation

Clone repository or download files manually.

git clone https://github.com/sinanefeozler/reddit-summarizer-mcp.git
cd reddit-summarizer-mcp

Create virtual envoriment and install dependencies.

uv venv
source .venv/bin/activate
uv sync

Setting Up The Envoriment Variables

  • This server needs reddit username, password and reddit authentication.

  • You can get client id and client secret by following these steps

  • When you get the required keys create .env file according to .env.example For claude desktop client users check out this link to setup the server.

Available Tools

summarize_frontpage

Summarize user's homepage with post limits and optional comment analyse on posts. Parameters:

  • limit (default: 10): Post fetching limit

  • with_comments (default: false): Summarize with comments on posts

summarize_subreddit

Summarize a subreddit's contents by inspecting posts. Parameters:

  • limit (default: 10): Post fetching limit

  • with_comments (default: false): Summarize with comments on posts

  • fetch_by (default: 'hot') : Sorting option for posts. (hot, new, top, rising, random if aviable)

reed_comments

Reed and summarize comments on a post. Needs post id or url. Parameters:

  • id (default: None) : id of post

  • url (default: None) : url of post

  • limit (default: 15) : fetching limit of the comments

Prompts

Example Prompts:

  • "Summarize my reddit frontpage with comment analyse for deeper understanding of public opinion"

  • "Summarize the hot post of Politics"

Prompt Template:

/summarize_my_page

Provides a prompt to summarize and categorize the posts and comments on frontpage. Gives LLM a predefined template and categorize to make a more human readable outputs.

License

MIT

Available Tools

3 tools
reed_commentsC
    Reads and summarizes the top level comments that a submission have.
    Args:
        post id: str or url: str
    Output:
        List with the comments.
ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
urlNo
limitNo

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only states the output is a list of comments, but lacks disclosure on side effects, auth requirements, or behavior when parameters are missing.

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

Conciseness3/5

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

Description is short but lacks clear structure; args and output are conflated. Could be more organized for easier parsing.

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 3 parameters, no output schema, and no annotations, the description is incomplete. It omits explanation of 'limit', the nature of the output list, and how to handle the id/url ambiguity.

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

Parameters2/5

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

Schema coverage is 0%, so description should compensate. It mentions 'post id: str or url: str' implying either can be used, but fails to explain the 'limit' parameter or clarify the interaction between id and url.

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?

Description clearly states the tool reads and summarizes top-level comments of a submission, distinguishing it from sibling tools that handle frontpage and subreddit summaries. However, the meaning of 'summarizes' is somewhat vague.

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?

No guidance is provided on when to use this tool versus siblings. The description does not mention any conditions, prerequisites, or alternatives, leaving the agent to infer usage.

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

summarize_frontpageA
Summarizes the user's reddit frontpage (alias: homepage, feed) by giving information dictinory to LLM.
Optionaly this function can use comments for deeper summaries.
Args:
    limit: integer (Optional) [default = 10]: sets a limit for how many post to fetch.
    with_comments: bool (Optional) [default = false]: indicates that summary will be done with comments.
Output:
    Dictinory with keys as post id's and values as post informations
ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
with_commentsNo

TDQS

A3.5/5.0
Behavior2/5

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

No annotations exist, so description must disclose behavioral traits. It indicates the tool summarizes (non-destructive) and optionally uses comments, but lacks details on side effects, authentication needs, rate limits, or the nature of the returned data beyond a dictionary.

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

Conciseness3/5

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

Description is relatively concise (three sentences) but contains typos ('Dictinory', 'informations'). The structure mixes purpose and parameter info, and the output description could be more formal. It earns its place but could be polished.

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

Completeness3/5

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

Given no output schema, description explains the return value shape. However, it lacks error handling, performance expectations, or guidance on when to use limit effectively. Sibling tools are listed but not compared, leaving some gaps for an agent.

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

Parameters4/5

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

Schema coverage is 0%, so description adds necessary meaning: limit controls number of posts (default 10), with_comments enables comment-based summary (default false). This clarifies parameters beyond the bare schema, though it could specify ranges or effects.

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?

Description clearly states the tool summarizes the user's frontpage (alias: homepage, feed), using specific verbs and resources. It distinguishes from sibling tools like summarize_subreddit and reed_comments by targeting the frontpage, though it could explicitly differentiate.

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

Usage Guidelines3/5

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

Description mentions optional use of comments for deeper summaries, implying context for when to enable with_comments. However, it does not explicitly state when to use this tool over siblings (e.g., when not to use summarize_subreddit) or provide usage prerequisites.

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

summarize_subredditB
Summarizes the subreddit's frontpage (alias: homepage, feed) by giving information dictinory to LLM.
Sorting, fetchings options are hot, new, top, rising, random.
Optionaly this function can use comments for deeper summaries.
Args:
    subreddit_name: str : name for subrredit without 'r/'
    fetch_by: str (Optional) [default = ''hot]: sorting, fetching option for subreddit's feed
    limit: integer (Optional) [default = 10]: sets a limit for how many post to fetch.
    with_comments: bool (Optional) [default = false]: indicates that summary will be done with comments.
Output:
    Dictinory with keys as post id's and values as post informations
ParametersJSON Schema
NameRequiredDescriptionDefault
subreddit_nameYes
fetch_byNohot
limitNo
with_commentsNo

TDQS

B3.2/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 behavior. It mentions output format (dictionary with post IDs and info) but does not state side effects, error handling, rate limits, or permissions. The phrase 'by giving information dictinory to LLM' is unclear and does not clarify read-only nature.

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

Conciseness3/5

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

The description is adequately sized but contains fluff (e.g., 'alias: homepage, feed') and awkward phrasing ('by giving information dictinory to LLM'). The argument list is structured but could be more concise.

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?

For a tool with no output schema and no annotations, the description lacks detail on error conditions, performance, or what constitutes 'post informations' in the output. The vague output specification and missing behavioral context leave significant gaps for an AI agent.

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

Parameters4/5

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

The input schema has 0% description coverage, but the description compensates by explaining all four parameters: 'subreddit_name' (omit 'r/'), 'fetch_by' (sorting options: hot, new, top, rising, random with default 'hot'), 'limit' (default 10), and 'with_comments' (default false). However, typos and formatting errors (e.g., extra quotes in default) slightly reduce clarity.

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 that the tool summarizes a subreddit's frontpage, providing an alias ('homepage, feed') and specifying the resource (subreddit). It distinguishes from sibling tools like 'summarize_frontpage' (which likely covers the entire Reddit frontpage) and 'reed_comments' (which reads comments).

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?

While the tool name and description imply usage for a specific subreddit, there is no explicit guidance on when to use this tool versus siblings like 'summarize_frontpage' or 'reed_comments'. No 'when-not' or alternatives are mentioned.

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

TDQS

B3.3/5.0
Disambiguation5/5

Each tool targets a distinct Reddit resource: comments on a post, frontpage feed, and subreddit feed. No overlap in functionality.

Naming Consistency3/5

Two tools follow 'summarize_*' pattern, but 'reed_comments' uses a different verb with a typo ('reed' instead of 'read'), breaking consistency.

Tool Count5/5

Three tools cover the core summarizing needs (comments, frontpage, subreddit) without being excessive or insufficient.

Completeness4/5

Covers main summarizing use cases but lacks a tool to summarize a specific post's content (without comments), which is a minor gap.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Provides access to Reddit's API for retrieving posts, comments, user information, and search functionality. Supports multiple authentication methods and comprehensive Reddit data operations including subreddit browsing, post retrieval, and user profile access.
    9
    648
    1
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    Enables comprehensive Reddit interaction including fetching posts, analyzing users and subreddits, searching content, and creating posts/comments. Supports both read-only mode with client credentials and full functionality with user authentication.
    17
    648
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables browsing, searching, and reading Reddit posts, comments, and subreddits through Reddit's API using PRAW.
    6
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables reading subreddit posts, comments, user profiles, searching Reddit, and submitting posts, comments, or votes via natural language commands.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sinanefeozler/reddit-summarizer-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server