redditapis-mcp 0.1.2 → 0.1.4

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,25 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.4
4
+ - New tool `reddit_deep_comment_search`. Where `reddit_search_comments` returns
5
+ the parent posts (Reddit's comment search never hands back the comment), this
6
+ returns the ACTUAL matching comments with body, score, author, a comment-deep
7
+ permalink, and the parent post. It fetches each matching post's comment tree
8
+ and filters the bodies. Premium call (`limit` = parent posts to expand, 1-10).
9
+ Best-effort: a deleted or deeply-nested comment may be missed. Also cross-links
10
+ the two tools in their descriptions.
11
+
12
+ ## 0.1.3
13
+ - `reddit_search_comments` description no longer overpromises. It previously
14
+ claimed to "Return matching comments with author, body, score" and to find
15
+ "opinions/answers buried in threads", but the endpoint returns PARENT POSTS,
16
+ not comment objects: Reddit's comment search is a MODE that matches comment
17
+ text and hands back the t3 posts, and does not expose which comment matched or
18
+ its body. The openapi spec already said this; the MCP tool description and the
19
+ README table had drifted and still promised comment bodies/scores the response
20
+ never contained. A customer relied on the old text and reported it as a bug.
21
+ The description now states the real behaviour. No API surface change.
22
+
3
23
  ## 0.1.2
4
24
  - `reddit_search` and `reddit_search_comments` now describe the `t` time window
5
25
  accurately. Unlike a subreddit listing, search applies `t` to the `relevance`
package/README.md CHANGED
@@ -47,7 +47,7 @@ authenticated surface and are intentionally not exposed here.
47
47
  | `reddit_search` | `GET /api/reddit/search` | Search posts across Reddit or one subreddit |
48
48
  | `reddit_post_comments` | `GET /api/reddit/comments` | A post + its comment tree, by permalink |
49
49
  | `reddit_search_communities` | `GET /api/reddit/search/communities` | Find subreddits by name/topic |
50
- | `reddit_search_comments` | `GET /api/reddit/search/comments` | Search comments (not posts) |
50
+ | `reddit_search_comments` | `GET /api/reddit/search/comments` | Search by comment text; returns the parent posts (Reddit limitation) |
51
51
  | `reddit_search_media` | `GET /api/reddit/search/media` | Search image/video/gif posts |
52
52
  | `reddit_search_users` | `GET /api/reddit/search/users` | Find redditors by name |
53
53
  | `reddit_subreddit_top` | `GET /api/reddit/sub/{name}/top` | Top posts of a subreddit for a time window |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "redditapis-mcp",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
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",
@@ -24,8 +24,7 @@
24
24
  "scripts": {
25
25
  "start": "node src/index.js",
26
26
  "check": "node --check src/index.js && node --check src/tools.js",
27
- "test": "node test/tools.test.mjs",
28
- "prepublishOnly": "python3 $HOME/.claude/scripts/tenant-isolation-scan.py --tenant redditapis --npm-publish-surface ."
27
+ "test": "node test/tools.test.mjs"
29
28
  },
30
29
  "dependencies": {
31
30
  "@modelcontextprotocol/sdk": "^1.0.0",
package/src/tools.js CHANGED
@@ -119,9 +119,24 @@ export const TOOLS = [
119
119
  name: "reddit_search_comments",
120
120
  path: "/api/reddit/search/comments",
121
121
  description:
122
- "Search Reddit COMMENTS (not posts) by keyword across Reddit. Returns matching comments with author, body, score, subreddit, and the parent post link. Use to find first-hand opinions/answers buried in threads. Example: q='best mechanical keyboard' sort='top'.",
122
+ "Search Reddit by COMMENT text. Reddit's comment search matches your keyword against comment bodies but returns the PARENT POSTS, not the individual comments, so each result is a post whose discussion mentions your query, carrying that post's title, selftext, score, and comment count. Use it to surface threads where a topic comes up in the replies that plain post-title search would miss. Reddit does not expose which specific comment matched or its text, so this returns posts, not comment bodies. For the actual comment bodies, use reddit_deep_comment_search. Example: q='best mechanical keyboard' sort='top'.",
123
123
  shape: { ...QUERY, ...SORT_SEARCH, ...TIME_SEARCH, ...AFTER, ...NSFW, ...LIMIT },
124
124
  },
125
+ {
126
+ name: "reddit_deep_comment_search",
127
+ path: "/api/reddit/search/comments/deep",
128
+ description:
129
+ "Genuine comment search: returns the ACTUAL comments whose body matches your keyword, with body, score, author, a comment-deep permalink, and the parent post. Unlike reddit_search_comments (which returns the parent posts, a Reddit limitation), this fetches each matching post's comment tree and filters the comment bodies for you, so you get first-hand opinions and answers directly. Premium call (it fans out into several reads): `limit` sets how many parent POSTS to expand, 1-10 (default 5), not how many comments come back. Best-effort: a deleted or deeply-nested comment may be missed (a truncated flag says when a tree was too deep). Example: q='best mechanical keyboard' sort='top'.",
130
+ shape: {
131
+ ...QUERY,
132
+ ...SORT_SEARCH,
133
+ ...TIME_SEARCH,
134
+ ...NSFW,
135
+ limit: z.number().int().min(1).max(10).optional().describe(
136
+ "Number of parent POSTS to expand into their comment trees (1-10, default 5). Each is one upstream read, so higher = deeper coverage but slower and more expensive.",
137
+ ),
138
+ },
139
+ },
125
140
  {
126
141
  name: "reddit_search_media",
127
142
  path: "/api/reddit/search/media",