+ Integration Guide

· Updated August 29, 2026

How to Connect Reddit MCP to Claude Desktop

Add FetchLayer's Reddit MCP server to Claude Desktop so Claude can search Reddit, scrape posts, and pull subreddit data in your conversations.

Written by Alex P.

  • MCP
  • Claude Desktop
  • reddit scraping
  • AI agent
  • Anthropic

Claude Desktop is Anthropic’s native desktop app for Claude. It supports the Model Context Protocol (MCP), which lets Claude call external tools — including Reddit data from FetchLayer.

Once configured, you can ask Claude to search Reddit, scrape comment threads, analyze subreddit trends, and more — all inside a normal conversation, with no separate research tab or copy-pasted URLs.


Prerequisites


Step 1: Open the Claude Desktop config

Claude Desktop reads MCP server configurations from a JSON config file. The location depends on your OS:

macOS:

~/Library/Application Support/Claude/claude_desktop_config.json

Windows:

%APPDATA%\Claude\claude_desktop_config.json

Linux:

~/.config/Claude/claude_desktop_config.json

If the file doesn’t exist, create it. You can also open it from Claude Desktop: go to Settings → Developer → Edit Config, which opens the file in your system’s default editor rather than making you hunt for the path yourself.


Step 2: Add the FetchLayer MCP server

Add this configuration to your claude_desktop_config.json:

{
  "mcpServers": {
    "fetchlayer": {
      "url": "https://mcp.fetchlayer.dev",
      "headers": {
        "Authorization": "Bearer ss-your-api-key"
      }
    }
  }
}

Replace ss-your-api-key with your actual API key from the FetchLayer dashboard.

If you already have other MCP servers, add "fetchlayer" next to them:

{
  "mcpServers": {
    "filesystem": { "command": "..." },
    "fetchlayer": {
      "url": "https://mcp.fetchlayer.dev",
      "headers": {
        "Authorization": "Bearer ss-your-api-key"
      }
    }
  }
}

Unlike Cursor or Claude Code, Claude Desktop has no separate per-project scope — this config is global, so fetchlayer becomes available in every conversation once it’s set up, not just ones started from a particular folder.


Step 3: Restart Claude Desktop

Quit Claude Desktop completely and reopen it — closing the window isn’t enough, since the app keeps running in the background on most platforms. The app loads MCP configs on startup only.

You should see a small hammer/tools icon in the chat input area — this indicates MCP tools are available. Click it to see “fetchlayer” listed with all its Reddit tools and a short description of each.


Step 4: Try it out

Start a new conversation and try:

Search Reddit for posts about “best project management tools” from the last month. Show me the top 5 by score with their subreddits.

Claude will call the FetchLayer search tool and return structured results.

More ideas:

PromptWhat Claude does
”What’s trending on r/programming right now?”Fetches hot posts from r/programming
”Summarize the top comments on this Reddit post: [URL]“Scrapes comments, then summarizes
”Find subreddits about indie game development”Searches communities by keyword
”What’s the sentiment on r/startups about bootstrapping vs VC?”Searches, reads comments, analyzes tone
”Get me u/spez’s Reddit profile”Returns user profile data

Because Claude can chain tool calls with reasoning, it can do multi-step analysis — search for posts, scrape the comments, and synthesize findings in one conversation turn.


What the approval flow looks like

The first time a conversation calls the fetchlayer tool, Claude Desktop shows a confirmation dialog with the exact request before it runs — you can allow it once, or choose “always allow for this chat” so you’re not re-approving every call in a long research session. This is per-conversation, not a global setting, so a fresh chat will ask again the first time it uses the tool. If you want to inspect exactly what was sent and returned, expand the tool-call block in the conversation — Claude Desktop shows the raw request and response, which is the fastest way to debug a result that looks wrong.


Available Tools

Claude Desktop gets access to all FetchLayer Reddit tools:

  • scrape_search — Search posts by keyword
  • scrape_post — Get a full post with comments
  • scrape_community_posts — Browse subreddit posts
  • scrape_community_details — Get subreddit metadata
  • scrape_user_profile — User karma, bio, account age
  • scrape_user_posts — A user’s post history
  • scrape_user_comments — A user’s comment history
  • scrape_search_communities — Find subreddits by keyword
  • scrape_search_users — Find users by name
  • scrape_comment_permalink — Get a specific comment with context
  • scrape_popular — Trending posts from r/popular
  • scrape_leaderboard — Trending communities
  • scrape_explore — Discover communities by topic

What a tool call actually returns

Claude receives structured JSON rather than a rendered page, which is what makes follow-up questions cheap. A scrape_search result looks roughly like:

{
  "results": [
    {
      "id": "1abc23",
      "subreddit": "ProductManagement",
      "title": "How do you handle feature requests from sales?",
      "author": "u/example_user",
      "score": 312,
      "num_comments": 145,
      "created_utc": 1735689600,
      "url": "https://reddit.com/r/ProductManagement/comments/1abc23/...",
      "selftext": "Our sales team forwards every customer ask directly to..."
    }
  ]
}

Because score and num_comments come back with every result, Claude can reason about which threads matter before opening any of them — and each additional question you ask about data already in the conversation costs nothing further.


A research session, end to end

Claude Desktop is a chat window rather than an editor, which makes it best suited to open-ended research where you don’t know the shape of the answer yet. A session might run:

You: “What are people in r/ProductManagement saying about AI note-takers in meetings?”

Claude calls scrape_search — one request — and summarizes what came back.

You: “Which of those threads has the most disagreement?”

No new request. Claude compares num_comments against score across results it already has; a high comment count on a modest score usually means an argument.

You: “Open that one and tell me both sides.”

One scrape_post call — a second request — returning the full comment tree.

You: “Now write that up as a one-page brief for our product team.”

No request. Claude is working entirely from what’s already in context.

Four exchanges, two billed requests. The pattern worth internalizing: new data costs, re-reasoning doesn’t. Front-load the fetching, then interrogate what you have.


Where the conversation limit bites

Reddit threads are large. A scrape_post on a 500-comment thread returns a lot of text, and two or three of those will fill a conversation’s context.

Practical habits that help:

  • Ask for a summary of each thread as you go, so the useful conclusions survive even after the raw data falls out of context
  • Start a new conversation for each research question rather than accumulating one long session
  • Use scrape_search first and scrape_post selectively — fetching every thread “to be thorough” is what fills context fastest, and usually adds nothing

If Claude starts giving vaguer answers partway through a long session, that’s context pressure, not the tool failing.


Troubleshooting

Tools icon not showing?

  • Make sure the config file path is correct for your OS — this is the most common mistake, especially mixing up the Windows and macOS paths on a machine you don’t use daily
  • Validate the JSON (no trailing commas, proper quoting)
  • Fully quit and relaunch Claude Desktop (not just close the window) — check your OS tray/menu bar to confirm it actually quit

Claude says it can’t access Reddit?

  • Check that your API key is valid and hasn’t been revoked from the dashboard
  • Make sure you’re in a new conversation — MCP tools aren’t retroactively available in old chats started before the config change

Getting errors in tool calls?

  • Expand the tool call in Claude’s response to see the raw error message
  • Most common: invalid API key or malformed request body — both usually mean a copy-paste issue in the config, not an intermittent server problem

What’s Next