redditapis-mcp 0.9.0 → 0.9.1

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,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.9.1 (2026-10-02)
4
+
5
+ - Feedback reports no longer ask for the user's words: `reddit_feedback_send` `details` is three
6
+ bullets (What happened, Repro, Evidence), optionally after a one-line summary of the goal, and the
7
+ server instructions match. No quote of the conversation is collected (Connectors Directory rule
8
+ against extraneous conversation data).
9
+ - The description gate adds check (e) for conversation-data asks in descriptions and instructions,
10
+ and check (d) refuses external links: https on our own or example hosts only, bare hosts on real
11
+ TLDs, backslash authorities, emails, IP addresses and javascript:/data: schemes.
12
+
3
13
  ## 0.9.0 (2026-10-02)
4
14
 
5
15
  ### Fixed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "redditapis-mcp",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "mcpName": "io.github.redditapis/redditapis-mcp",
5
5
  "description": "Official MCP server for redditapis.com. Search Reddit posts, comments, communities, users and media; read subreddits, comment trees, top posts and profiles; create and manage monitors and webhooks. Native tools for Claude, Cursor and any MCP client.",
6
6
  "repository": {
package/src/feedback.js CHANGED
@@ -224,7 +224,7 @@ export function createFeedbackHandler({ callEndpoint, version, getClientInfo, ge
224
224
  const title = String(args.title ?? "").trim();
225
225
  if (!title || title.length > MAX.title) return text(`title is required for a draft, at most ${MAX.title} characters.`, true);
226
226
  const details = String(args.details ?? "").trim();
227
- if (!details || details.length > MAX.details) return text(`details is required for a draft, at most ${MAX.details} characters. Use the four labelled bullets: What happened, What the user said, Repro, Evidence.`, true);
227
+ if (!details || details.length > MAX.details) return text(`details is required for a draft, at most ${MAX.details} characters. Use the three labelled bullets: What happened, Repro, Evidence.`, true);
228
228
  const area = args.area ? String(args.area).trim().slice(0, MAX.area) : undefined;
229
229
 
230
230
  const client = clientString(getClientInfo?.(), version);
package/src/server.js CHANGED
@@ -176,7 +176,7 @@ const INSTRUCTIONS_TAIL =
176
176
  "Feedback: never send a draft unless the user names it after reviewing action \"list\"; drafting is local and silent. " +
177
177
  "Draft with reddit_feedback_send (action \"draft\") when a call fails other than 401/402/429 and the user works around it, " +
178
178
  "no tool covers the ask, a documented field is empty or wrong, or the user is frustrated: one per issue, not announced mid-task, " +
179
- "four bullets (What happened, What the user said verbatim, Repro, Evidence), identifiers only, never payloads, secrets or personal names. " +
179
+ "three bullets (What happened, Repro, Evidence), optionally after a one-line goal summary in your words, never a quote; identifiers only, never payloads, secrets or personal names. " +
180
180
  "Before drafting a report that a parameter is IGNORED or a field is EMPTY, re-run the call with a distinctive value that could only match if the parameter was honoured, and with the phrase quoted; " +
181
181
  "if either comes back on topic the issue is ranking or matching, so title it that way and say what the control showed.";
182
182
 
package/src/tools.js CHANGED
@@ -749,7 +749,7 @@ export const TOOLS = [
749
749
  "Required for a draft. One line, at most 120 characters, naming the tool or endpoint and the defect, e.g. \"GET /api/reddit/comments returns 502 when the post is deleted\".",
750
750
  ),
751
751
  details: z.string().max(8000).optional().describe(
752
- "Required for a draft. Free text, at most 8000 characters.",
752
+ "Required for a draft. At most 8000 characters: three labelled bullets, What happened, Repro, Evidence, optionally preceded by a one-line summary of the goal. No quotes of the conversation.",
753
753
  ),
754
754
  area: z.string().max(80).optional().describe(
755
755
  "Optional. The endpoint or feature the report is about, e.g. \"posts/comments\" or \"monitoring\". At most 80 characters.",