Unsubscribe from Subreddit
unsubscribe_subredditUnsubscribe from a subreddit by providing its name without the r/ prefix.
Instructions
Unsubscribe from a subreddit.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| subreddit | Yes | Subreddit name without r/ prefix |
Implementation Reference
- src/tools/subscriptions.ts:81-116 (registration)Registration of the unsubscribe_subreddit tool with name, metadata, input schema, and handler.
server.registerTool( "unsubscribe_subreddit", { title: "Unsubscribe from Subreddit", description: "Unsubscribe from a subreddit.", inputSchema: z.object({ subreddit: z.string().describe("Subreddit name without r/ prefix"), }), }, async ({ subreddit }) => { try { await client.post("/api/subscribe", { sr_name: subreddit, action: "unsub", }); return { content: [ { type: "text" as const, text: JSON.stringify({ success: true, subreddit, unsubscribed: true }, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text" as const, text: `Error unsubscribing: ${error instanceof Error ? error.message : String(error)}`, }, ], isError: true, }; } } ); - src/tools/subscriptions.ts:86-88 (schema)Input schema for unsubscribe_subreddit: requires a 'subreddit' string (without r/ prefix).
inputSchema: z.object({ subreddit: z.string().describe("Subreddit name without r/ prefix"), }), - src/tools/subscriptions.ts:90-116 (handler)Handler function that POSTs to /api/subscribe with action 'unsub' to unsubscribe from a subreddit.
async ({ subreddit }) => { try { await client.post("/api/subscribe", { sr_name: subreddit, action: "unsub", }); return { content: [ { type: "text" as const, text: JSON.stringify({ success: true, subreddit, unsubscribed: true }, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text" as const, text: `Error unsubscribing: ${error instanceof Error ? error.message : String(error)}`, }, ], isError: true, }; } } ); - src/index.ts:13-33 (registration)Import and invocation of registerSubscriptionTools which registers the unsubscribe_subreddit tool.
import { register as registerSubscriptionTools } from "./tools/subscriptions.js"; import { DEFAULT_SESSION_PATH } from "./constants.js"; const server = new McpServer({ name: "reddirect", version: "1.0.0", }); const sessionPath = process.env.REDDIT_MCP_SESSION_PATH || DEFAULT_SESSION_PATH; const client = new RedditClient(sessionPath); registerAuthTools(server, client); registerBrowseTools(server, client); registerSearchTools(server, client); registerPostTools(server, client); registerVoteTools(server, client); registerSaveTools(server, client); registerInboxTools(server, client); registerSubscriptionTools(server, client);