redditapis-mcp 0.1.11 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.12
4
+ - reddit_search gains advanced filters applied to the returned page (the pullpush
5
+ filter-power model): min_score/max_score, min_comments/max_comments, is_video,
6
+ is_self, over_18, locked, stickied, spoiler, contest_mode, and sort_type
7
+ (score/num_comments/created). Because filtering is post-hoc on a page, the
8
+ response adds a meta object (fetched, returned, filtered_out); paginate with
9
+ after to filter more. No price change ($0.002), no new endpoint.
10
+
3
11
  ## 0.1.11
4
12
  - Two new read tools for subreddit governance (both $0.002, one upstream read each):
5
13
  - **`reddit_subreddit_moderators`** (`GET /api/reddit/sub/{name}/moderators`),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "redditapis-mcp",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "description": "Official MCP server for redditapis.com, the Reddit API (subreddit listings, post + comment + community + user + media search, comment trees, top posts, user profiles) as native tools for Claude, Cursor, and any MCP client.",
5
5
  "repository": {
6
6
  "type": "git",
package/src/tools.js CHANGED
@@ -84,7 +84,7 @@ export const TOOLS = [
84
84
  name: "reddit_search",
85
85
  path: "/api/reddit/search",
86
86
  description:
87
- "Search Reddit posts across all of Reddit or within one subreddit. Returns matching posts with author, score, comments, permalink, and an `after` cursor. Use for topic/keyword research, brand monitoring, or finding discussions. Scope to a community with `subreddit`. Example: q='rust vs go' sort='top' t='year'.",
87
+ "Search Reddit posts across all of Reddit or within one subreddit. Returns matching posts with author, score, comments, permalink, and an `after` cursor. Use for topic/keyword research, brand monitoring, or finding discussions. Scope to a community with `subreddit`. Optional advanced filters narrow the results by minimum/maximum score, comment count, media type, and post flags, with an optional re-sort of the page. Because filters are applied to the returned page, the response then carries a `meta` object with page-completeness counts, so a filtered result is never mistaken for the whole set; paginate with `after` to filter more. Example: q='rust vs go' sort='top' t='year'.",
88
88
  shape: {
89
89
  ...QUERY,
90
90
  subreddit: z.string().optional().describe(
@@ -95,6 +95,18 @@ export const TOOLS = [
95
95
  ...AFTER,
96
96
  ...NSFW,
97
97
  ...LIMIT,
98
+ min_score: z.number().int().optional().describe("Keep only posts with score >= this (applied to the returned page)."),
99
+ max_score: z.number().int().optional().describe("Keep only posts with score <= this."),
100
+ min_comments: z.number().int().optional().describe("Keep only posts with comment count >= this."),
101
+ max_comments: z.number().int().optional().describe("Keep only posts with comment count <= this."),
102
+ is_video: z.boolean().optional().describe("true = only video posts, false = only non-video."),
103
+ is_self: z.boolean().optional().describe("true = only self/text posts, false = only link posts."),
104
+ over_18: z.boolean().optional().describe("Filter the page by NSFW flag (distinct from nsfw, which controls inclusion in the search)."),
105
+ locked: z.boolean().optional().describe("Filter by the locked flag."),
106
+ stickied: z.boolean().optional().describe("Filter by the stickied flag."),
107
+ spoiler: z.boolean().optional().describe("Filter by the spoiler flag."),
108
+ contest_mode: z.boolean().optional().describe("Filter by the contest_mode flag."),
109
+ sort_type: z.enum(["score", "num_comments", "created"]).optional().describe("Re-sort the filtered page (descending) by this field."),
98
110
  },
99
111
  },
100
112
  {