redditapis-mcp 0.1.8 → 0.1.10
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 +26 -2
- package/package.json +1 -1
- package/src/tools.js +43 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.10
|
|
4
|
+
- Three new read tools for community DISCOVERY (all $0.002, one upstream read each):
|
|
5
|
+
- **`reddit_subreddits_popular`** (`GET /api/reddit/subreddits/popular`), browse
|
|
6
|
+
the most-subscribed, trending subreddits right now, no keyword needed.
|
|
7
|
+
- **`reddit_subreddits_new`** (`GET /api/reddit/subreddits/new`), browse the
|
|
8
|
+
newest subreddits, the communities most recently created.
|
|
9
|
+
- **`reddit_subreddits_default`** (`GET /api/reddit/subreddits/default`), browse
|
|
10
|
+
Reddit's default front-page set of subreddits.
|
|
11
|
+
- Each returns a `subreddits` list (same per-item shape as
|
|
12
|
+
`reddit_subreddit_about`) plus an `after` cursor, and takes only `after` +
|
|
13
|
+
`limit`. These BROWSE communities; `reddit_search_communities` SEARCHES by
|
|
14
|
+
keyword. Brings the published read-only tool count to 20.
|
|
15
|
+
|
|
16
|
+
## 0.1.9
|
|
17
|
+
- Two new read tools (both $0.002, one upstream read each):
|
|
18
|
+
- **`reddit_subreddit_rules`** (`GET /api/reddit/sub/{name}/rules`), a
|
|
19
|
+
subreddit's posting rules: each rule's name, description, what it applies to
|
|
20
|
+
(posts, comments, or all), violation reason, priority, and creation date,
|
|
21
|
+
plus Reddit's site-wide rules. Check a community's rules before posting.
|
|
22
|
+
- **`reddit_by_id`** (`GET /api/reddit/by_id/{fullnames}`) — bulk-fetch posts
|
|
23
|
+
by comma-separated t3_ fullnames (up to 100) in one call. Same post shape as
|
|
24
|
+
the subreddit listings. Hydrate ids you already have without a call per post.
|
|
25
|
+
- Brings the published read-only tool count to 17.
|
|
26
|
+
|
|
3
27
|
## 0.1.8
|
|
4
28
|
- **`reddit_deep_comment_search`** gains a research mode: pass `group_by="author"`
|
|
5
29
|
to get the distinct PEOPLE who mentioned your query (ranked by matching-comment
|
|
@@ -13,10 +37,10 @@
|
|
|
13
37
|
- **`reddit_user_submitted`** (`GET /api/reddit/user/{name}/submitted`) — a
|
|
14
38
|
user's submitted POSTS, the sibling of `reddit_user_comments`. Same post
|
|
15
39
|
shape as the subreddit listings.
|
|
16
|
-
- **`reddit_subreddit_comments`** (`GET /api/reddit/sub/{name}/comments`)
|
|
40
|
+
- **`reddit_subreddit_comments`** (`GET /api/reddit/sub/{name}/comments`), the
|
|
17
41
|
subreddit NEW-COMMENT stream (every new comment across a community, not one
|
|
18
42
|
post's thread). Same comment shape as `reddit_user_comments`.
|
|
19
|
-
- **`reddit_subreddit_about`** (`GET /api/reddit/sub/{name}/about`)
|
|
43
|
+
- **`reddit_subreddit_about`** (`GET /api/reddit/sub/{name}/about`), a
|
|
20
44
|
subreddit's public metadata (title, public description, subscriber count,
|
|
21
45
|
active-user count, creation date, type, NSFW flag). Returns a single object.
|
|
22
46
|
- Brings the published read-only tool count to 15.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "redditapis-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
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
|
@@ -260,6 +260,49 @@ export const TOOLS = [
|
|
|
260
260
|
),
|
|
261
261
|
},
|
|
262
262
|
},
|
|
263
|
+
{
|
|
264
|
+
name: "reddit_subreddit_rules",
|
|
265
|
+
path: "/api/reddit/sub/{name}/rules",
|
|
266
|
+
description:
|
|
267
|
+
"Fetch a subreddit's posting rules by name (Reddit's /r/<name>/about/rules data). Returns a `rules` list, each with name, description, what it applies to (posts, comments, or all), violation reason, priority, and creation date, plus a `site_rules` list of Reddit's site-wide rules. Use it to check a community's rules before posting or commenting. Example: name='python'.",
|
|
268
|
+
shape: {
|
|
269
|
+
name: z.string().min(1).describe(
|
|
270
|
+
"Subreddit name WITHOUT the r/ prefix (e.g. 'python'). Required (path parameter).",
|
|
271
|
+
),
|
|
272
|
+
},
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
name: "reddit_by_id",
|
|
276
|
+
path: "/api/reddit/by_id/{fullnames}",
|
|
277
|
+
description:
|
|
278
|
+
"Bulk-fetch posts by their t3_ fullnames in ONE call (up to 100), instead of a request per post. Pass a comma-separated list of fullnames you already have from a search or listing to hydrate them. Returns posts with title, author, score, comment count, and permalink — the same post shape as the listing endpoints. An unknown id is simply absent from the result. Example: fullnames='t3_abc123,t3_def456'.",
|
|
279
|
+
shape: {
|
|
280
|
+
fullnames: z.string().min(1).describe(
|
|
281
|
+
"Comma-separated post fullnames, each a t3_ prefix followed by the base-36 id (e.g. 't3_abc123,t3_def456'). Up to 100. Required (path parameter).",
|
|
282
|
+
),
|
|
283
|
+
},
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
name: "reddit_subreddits_popular",
|
|
287
|
+
path: "/api/reddit/subreddits/popular",
|
|
288
|
+
description:
|
|
289
|
+
"Browse the most-subscribed, trending subreddits right now, no keyword needed. Returns a `subreddits` list (each with name, title, subscriber count, description, type, and NSFW flag) plus an `after` cursor for paging. This BROWSES communities by popularity; use reddit_search_communities instead to SEARCH communities by keyword.",
|
|
290
|
+
shape: { ...AFTER, ...LIMIT },
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
name: "reddit_subreddits_new",
|
|
294
|
+
path: "/api/reddit/subreddits/new",
|
|
295
|
+
description:
|
|
296
|
+
"Browse the newest subreddits, the communities most recently created, no keyword needed. Returns a `subreddits` list (each with name, title, subscriber count, description, type, and NSFW flag) plus an `after` cursor for paging. This BROWSES communities by recency; use reddit_search_communities instead to SEARCH communities by keyword.",
|
|
297
|
+
shape: { ...AFTER, ...LIMIT },
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
name: "reddit_subreddits_default",
|
|
301
|
+
path: "/api/reddit/subreddits/default",
|
|
302
|
+
description:
|
|
303
|
+
"Browse Reddit's default front-page set of subreddits, no keyword needed. Returns a `subreddits` list (each with name, title, subscriber count, description, type, and NSFW flag) plus an `after` cursor for paging. This BROWSES the default communities; use reddit_search_communities instead to SEARCH communities by keyword.",
|
|
304
|
+
shape: { ...AFTER, ...LIMIT },
|
|
305
|
+
},
|
|
263
306
|
];
|
|
264
307
|
|
|
265
308
|
// Turn tool args into a URL query string. Skips undefined/null/empty values.
|