mcp-reddit-brand-presence-mapper
LocalAbout mcp-reddit-brand-presence-mapper
mcp-reddit-brand-presence-mapper is an MCP server for company research and brand monitoring. It finds a related subreddit from a company domain and samples Reddit-wide brand mentions, distinguishing blocked requests from empty results; subscriber counts require the caller’s Reddit app credentials.
Key features
- 01Find a subreddit from a company domain
- 02Read community activity and posting cadence
- 03Sample brand mentions across Reddit
- 04Mark refused requests as blocked
- 05Return one flat JSON row
Use cases
- 01Check whether a company has an official subreddit
- 02Assess activity in a related community
- 03Sample brand discussions on Reddit
MCP support
The MCP server exposes the `map_reddit_brand_presence` tool to MCP clients. It accepts a company domain or subreddit handle and returns the Apify Actor result.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @mambalabsdev/mcp-reddit-brand-presence-mapperAPIFY_TOKENSecretApify API token from https://console.apify.com/account/integrationsLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
1Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| handle | string | No | Optional. The subreddit name with or without the r/ prefix, for example stripe. Supplying it skips discovery. |
| skipCache | boolean | No | When "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_name | string | No | Optional. Improves search accuracy and is what the identity gate checks a discovered profile against, so supplying it reduces wrong matches. |
| mentionQuery | string | No | What 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_domain | string | No | 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. |
| redditClientId | string | No | YOUR 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. |
| includeMentions | boolean | No | When "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. |
| redditClientSecret | string | No | YOUR OWN Reddit app client secret, paired with the client id above. Used for your run only and never stored. |
| includeFollowerCounts | boolean | No | When "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. |
Details
From the project READMEReddit Brand Presence Mapper MCP Server
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
- What it does
- Quick start
- Prerequisites
- Example prompts
- Inputs
- Output
- Example output
- Features
- Pricing
- Full actor documentation
- Mamba Labs GTM Suite
- License
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 refuses a share of requests however they are routed. Measured on the platform 2026-08-23 across nine companies over residential connections, the subreddit feed was readable for four and refused for five, and the mention feed the same. The public .rss feeds are the only open route; Reddit returns 403 on every unauthenticated JSON route. A refusal is reported as blocked and never as a zero, so an absence is never mistaken for a finding, and a blocked row is worth retrying. 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 exampleshopify.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 ther/prefix, for examplestripe. 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 forstripematches 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.max_charge_usd(optional): spending cap for this call, in USD. The actor stops before any charge that would take the run past this amount and keeps every row already charged.
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
Pricing
You pay per event on Apify, billed to your own Apify account. Prices from the live pricing record, read 2026-10-16:
| Event | Price per event (USD) | Fires when |
|---|---|---|
apify-actor-start | $0.00005 | Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). |
company-checked | $0.0095 on the Free plan, down to $0.00665 on higher Apify plans | Once per company for which the discovery cascade completed and a non degraded row was produced, whether or not a subreddit was found. Does not fire on a degraded row. |
profile-resolved | $0.0065 on the Free plan, down to $0.00455 on higher Apify plans | Once per company whose candidate subreddit passed the identity gate and returned a readable public feed. Fires on the validation work, not on a populated subscriber cell. |
mention-sample-collected | $0.008 on the Free plan, down to $0.0056 on higher Apify plans | Once per company for which the site wide mention feed returned at least one mention. A search that Reddit rate limited, or that returned nothing, does not charge. Never fires when mentions are turned off. |
The actor's Apify page carries the current prices. Running this server consumes Apify credits.
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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.