Skip to main content
Glama
mambalabsdev

mcp-reddit-brand-presence-mapper

Reddit Brand Presence Mapper MCP Server

Smithery Glama score MCP Registry npm version npm downloads license mcpservers.org

An MCP server that resolves a company domain to its subreddit and samples public mentions of the brand. It wraps the Mamba Labs Reddit Brand Presence and Mention Monitor actor on Apify and returns a Clay-ready flat JSON row to any MCP client.

What's Inside

Related MCP server: mcp-github-organization-signal-scanner

What it does

Give it a company domain and it returns that company's subreddit, how alive that subreddit is, and a sample of how much the brand is being talked about across Reddit as a whole. One flat row per company, covering the subreddit URL, subscriber count, posting cadence and a mention sample.

Read this limitation before you build on it. Reddit's RSS routes returned HTTP 403 to Apify platform IP ranges as measured on 2026-08-22, and Reddit returns 403 on every unauthenticated JSON route. Subreddit discovery resolves, but cadence and mention fields can come back marked blocked rather than populated. A refusal is reported as blocked and never as a zero, so an absence is never mistaken for a finding. Supplying your own Reddit app client id and secret is the only route to a subscriber count.

All of the lookup runs on Apify. This package is a thin client that calls the actor and hands back the result unchanged.

Quick start

You need Node.js 18 or newer and an Apify account with an API token.

Add this to your Claude Desktop config:

{
  "mcpServers": {
    "mamba-reddit-brand-presence-mapper": {
      "command": "npx",
      "args": ["-y", "@mambalabsdev/mcp-reddit-brand-presence-mapper"],
      "env": {
        "APIFY_TOKEN": "your-apify-token"
      }
    }
  }
}

Get your token at https://console.apify.com/account/integrations, paste it in, and restart Claude Desktop. The map_reddit_brand_presence tool will be available.

Prerequisites

  • Node.js 18 or newer

  • An Apify account with an API token

  • Optional: your own Reddit app client id and secret, free to create at reddit.com/prefs/apps, if you want the subscriber count

Example prompts

  • "Find the subreddit for monzo.com and tell me how active it is."

  • "Map the Reddit presence for stripe.com and search mentions for "stripe.com" rather than the brand name."

  • "Look up r/monzo and skip the site wide mention sample."

  • "Is there an official subreddit for figma.com?"

Inputs

  • company_domain (optional): bare company domain, for example shopify.com. Supply this or a handle. With a domain the actor runs full discovery; with a handle it skips straight to the fetch.

  • company_name (optional): improves search accuracy and is what the identity gate checks a discovered profile against, so supplying it reduces wrong matches.

  • handle (optional): the subreddit name with or without the r/ prefix, for example stripe. Supplying it skips discovery.

  • mentionQuery (optional): what to search Reddit for when measuring brand mentions. Defaults to your domain in quotes, which is far more precise than the brand name. A bare search for stripe matches the English word; "stripe.com" returns developer subreddits.

  • includeMentions (optional): when true (the default) a site wide mention sample is pulled alongside the subreddit. Set false for the official subreddit only, which is one fetch instead of two.

  • includeFollowerCounts (optional): when true (the default) the profile is fetched and the counts are extracted. Set false to resolve the profile URL only, which is cheaper and needs no proxy.

  • skipCache (optional): when false (the default) a successful lookup is cached for seven days and reused. Set true to force a fresh fetch.

  • redditClientId (optional): your own Reddit app client id, free to create at reddit.com/prefs/apps. This is the only route to a subscriber count, because Reddit returns 403 on every unauthenticated JSON route. Leave it empty and everything else still works.

  • redditClientSecret (optional): your own Reddit app client secret, paired with the client id above. Used for your run only and never stored.

Supply either company_domain or handle.

Output

The tool returns the actor's flat JSON row for the company, with 26 snake_case fields and no nested objects. subreddit_status, subreddit_subscribers_status and mentions_status are separate, so a blocked read is distinguishable from an empty one. See the Apify Store page for the full output schema.

Example output

{
  "degraded": false,
  "degradation_reason": null,
  "company_domain": "monzo.com",
  "company_name": "Monzo",
  "subreddit": "monzo",
  "subreddit_url": "https://www.reddit.com/r/monzo/",
  "subreddit_title": "Monzo Bank",
  "subreddit_subscribers": null,
  "subreddit_subscribers_status": "not_extractable",
  "last_post_at": "2026-08-22T14:54:12+00:00",
  "days_since_last_post": 0.6,
  "recent_post_count": 25,
  "distinct_recent_authors": 22,
  "subreddit_status": "ok",
  "mention_query_used": "\"monzo.com\"",
  "mention_sample_size": 25,
  "distinct_subreddits": 7,
  "top_subreddit": "UKfreeMoney",
  "latest_mention_at": "2026-08-23T05:24:31+00:00",
  "mentions_status": "ok",
  "run_date": "2026-08-23T06:15:29.084Z"
}

Features

  • Resolves an official or community subreddit starting from a company domain

  • Posting cadence and recency, when Reddit serves them

  • Site wide brand mention sample, when Reddit serves it

  • A refused request is reported as blocked, never as a zero

  • Your own Reddit app credentials unlock the subscriber count

  • 26 flat snake_case fields, one row per company

Full actor documentation

This server is a thin client and holds no lookup logic. For the complete input and output reference, pricing, and run history, see the Apify Store page:

https://apify.com/mambalabs/reddit-brand-presence-mapper


Mamba Labs GTM Suite

This server is one of the Mamba Labs GTM Suite MCP servers. Every actor in the suite takes a domain or a company and returns one flat row, so they stack in the same Clay table without reshaping anything. The actor behind this server is the Reddit Brand Presence and Mention Monitor, immutable Apify actor ID pKQZmDaT70SEb54bZ.

Built by Mamba Labs | npm | Apify Store

License

MIT

Built by Mamba Labs. https://apify.com/mambalabs

Available Tools

1 tool
map_reddit_brand_presenceMap Reddit Brand PresenceA
Read-onlyIdempotent

Resolve a company domain to that company's official subreddit and, optionally, sample recent public mentions of the brand. Returns the subreddit URL, subscriber count, creation date and a mention sample, as one flat Clay ready row. IMPORTANT LIMITATION: Reddit's RSS routes return HTTP 403 to Apify platform IP ranges as measured on 2026-08-22, so subreddit discovery resolves but cadence and mention fields come back marked blocked rather than populated. The row reports blocked rather than an empty result, so an absence is never mistaken for a finding. Read only; requires an APIFY_TOKEN and consumes Apify credits per call.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleNoOptional. The subreddit name with or without the r/ prefix, for example stripe. Supplying it skips discovery.
skipCacheNoWhen "false" (default) a successful lookup is cached for seven days and reused. Set "true" to force a fresh fetch. Sent as a string for Clay compatibility.
company_nameNoOptional. Improves search accuracy and is what the identity gate checks a discovered profile against, so supplying it reduces wrong matches.
mentionQueryNoWhat to search Reddit for when measuring brand mentions. Defaults to your domain in quotes, which is measured far more precise than the brand name: a bare search for "stripe" returns r/Horses and r/MyHeroAcadamia because Reddit matches the English word, while "stripe.com" returns developer subreddits.
company_domainNoBare company domain, for example shopify.com. Supply this or a handle. With a domain the actor runs full discovery; with a handle it skips straight to the fetch.
redditClientIdNoYOUR OWN Reddit app client id. Free to create at reddit.com/prefs/apps. This is the only route to a subscriber count: Reddit returns 403 on every unauthenticated JSON route. Leave empty and everything else still works.
includeMentionsNoWhen "true" (default) a site wide mention sample is pulled alongside the subreddit. Set "false" for the official subreddit only, which is one fetch instead of two. Sent as a string for Clay compatibility.
redditClientSecretNoYOUR OWN Reddit app client secret, paired with the client id above. Used for your run only and never stored.
includeFollowerCountsNoWhen "true" (default) the profile page is fetched and the counts are extracted. Set "false" to resolve the profile URL only, which is cheaper and needs no proxy. Sent as a string for Clay compatibility.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond the readOnlyHint annotation by disclosing the known HTTP 403 limitation on Apify IP ranges, the fact that blocked fields are reported as blocked rather than empty, the APIFY_TOKEN requirement, and per-call Apify credit consumption. This prevents an agent from misinterpreting missing mention data as a genuine absence.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but efficient: purpose, the critical limitation, output shape, and operational requirements are all packed into a tight paragraph with no filler. Every sentence adds actionable information for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even though there is no output schema, the description names the returned fields and explains the blocked-state behavior, so an agent knows what to expect. Combined with the fully described input schema, required-parameter absence, and annotation signals, nothing critical is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already fully documents all nine parameters. The prose reinforces operational choices like domain versus handle and the client-id route to subscriber counts, but it does not substantially add new meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource ('Resolve a company domain to that company's official subreddit') and explicitly lists the returned artifacts: subreddit URL, subscriber count, creation date, and mention sample. It also clarifies the main operational distinction between domain-based discovery and handle-based skipping, so it is far more informative than the tool title.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear usage context is provided: supplying a handle skips discovery, supplying a domain triggers full discovery, setting includeFollowerCounts to false performs a cheaper URL-only fetch, and includeMentions false avoids a second request. There are no sibling tools to contrast against, and there is no explicit when-not-to-use statement, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.0.0
    • First observedmap_reddit_brand_presence

TDQS

A4.2/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusing it with another tool. The single tool has a clearly defined purpose and no overlapping responsibilities.

Naming Consistency4/5

The tool name follows a clear snake_case verb_noun pattern and accurately describes its function. However, with only one tool, there is not enough of a naming convention to judge broader consistency across a set.

Tool Count3/5

A single tool is borderline for a server focused on Reddit brand presence mapping. The scope is very narrow, and while one purpose-built tool can be acceptable, it feels thin for the domain.

Completeness2/5

The tool attempts to combine subreddit discovery with public mention sampling, but the mention and cadence fields are currently blocked due to the RSS limitation. There are no complementary tools to retrieve that missing data or provide broader brand monitoring capabilities, leaving significant gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

  • Reddit MCP server: search posts, subreddit feeds, comments & user profiles as JSON. No API key.

  • Find high-intent Reddit conversations and manage lead workflows from MCP-compatible AI agents.

  • Social media MCP server: your Instagram, TikTok, YouTube, LinkedIn and Threads history for your AI.

  • Nephia is a brand monitoring service, and this is its remote MCP server. Claude, Cursor, ChatGPT or any MCP client can read the mentions your brand gets on 14 sources: X, Reddit (posts and comments), YouTube, TikTok, Bluesky, Hacker News, Mastodon, Lemmy, GitHub, Product Hunt, Stack Overflow, any RSS feed, Vinted, and AI answers from ChatGPT, Gemini and Perplexity. Every mention arrives already read, with its sentiment and intent, so an agent can answer plain questions: which complaints came in since Friday, what Reddit said about us this week. The source is an argument, not a tool, so one call reads every source you watch. Sign-in is OAuth in the browser: no API key to copy. The consent screen has three permissions: read your mentions and Queries, change what is running (pause, resume, retire), and spend credits (semantic search and AI passes), which arrives unticked. Every tool description states its cost, so a model can budget before it spends. The server is on every plan, Free included, and reading your own mentions through it costs nothing.

Related MCP Servers