Skip to main content
Glama
mambalabsdev

B2B Reddit Conversation Monitor MCP Server

B2B Reddit Conversation Monitor MCP Server

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

An MCP server for the Mamba Labs B2B Reddit Conversation Monitor actor on Apify. Give it a company domain, product category keywords, or a topic. Each run reads public Reddit feeds and returns tagged threads and comments, plus summary rows: share of voice against competitors, the most discussed companies in a category, or recurring questions grouped by theme.

What's Inside

Related MCP server: Reddit MCP Server

What it does

Three modes:

  • company: give company_domain (for example smartlead.ai). You get the threads and comments that name the brand or its competitors, each tagged complaint, praise, comparison, alternative_request, switching, buying_intent, feature_request, or question, with sentiment and a 0 to 100 intent score. A row gets displacement_signal true when one sentence names a competitor and complains about it, switches from it, or asks for an alternative to it. One company summary row carries mention counts, the sentiment split, share of voice per competitor, and the top complaint themes.

  • category: give category_keywords (for example cold email tools). You get the threads plus one row per company discussed in two or more threads, with mention counts, sentiment, and share of voice.

  • gap: give subreddits, a topic, or both. You get the questions people ask (is there a tool for, how do I, alternative to), grouped by theme, with how many went unanswered and which tools the answers named.

Tags, sentiment, and the score are rule based. Blocked or empty results come back free with a row_status saying so. All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.

Quick start

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

Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:

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

Restart the client. The monitor_reddit_conversations tool appears.

Prerequisites

Example prompts

  • "What are people on Reddit saying about smartlead.ai versus Instantly in the last 60 days? Show the displacement signals."

  • "Which cold email tools get recommended most on Reddit this year?"

  • "What do people in r/sales and r/LeadGeneration keep asking for that nobody answers?"

Tool

monitor_reddit_conversations. One tool. Example arguments:

{
  "mode": "company",
  "company_domain": "smartlead.ai",
  "brand_names": ["Smartlead"],
  "competitors": ["Instantly", "lemlist"],
  "since_days": "60"
}

Inputs

Every buyer facing input of the actor, unchanged. Omitted inputs take the actor's own defaults. Numbers and booleans are sent as strings.

Input

Type

Description

mode

string

company (default), category, or gap

company_domain

string

Company mode. One domain

domains

array

Company mode. Up to 50 domains

brand_names

array

Company mode. Names to search for; empty resolves them from the domain

product_names

array

Company mode. Product names beside the brand

competitors

array

Company mode. Competitor names; empty discovers them

discover_competitors

string

true or false. Default true

max_competitors

string

0 to 5. Default 5

use_identity_resolver

string

true runs Mamba Labs Company Identity Resolver when brand_names is empty, charged by Apify at its own price (0.007 USD per domain). Default true

category_keywords

array

Category mode. Product lane phrases

known_companies

array

Category and gap modes. Names to always count

topic

string

Gap mode. What the questions are about

topic_terms

array

Gap mode. More search phrases for the same need

subreddits

array

Limit searches to these subreddits

exclude_subreddits

array

Drop rows from these subreddits

vendor_subreddits

string

exclude (default) or flag. A vendor's own subreddit is dropped, or kept with vendor_subreddit true and out of every count

discover_subreddits

string

Gap mode. Default true

since_days

string

Date window in days. Default 90

max_threads

string

Thread rows per input, up to 1000. Default 100

include_comments

string

Comment rows. Default true in company and gap, false in category

max_comment_threads

string

Threads opened for comments. Default 20, 30 in category, 50 in gap

max_comments_per_thread

string

Default 25

comment_depth

string

Default 2

include_hacker_news

string

Default false

max_charge_usd

string

Optional cost cap for the run

only_new

string

Skip rows an earlier run with the same state_key returned. Default false

state_key

string

Names the seen list

webhook_url

string

Optional https URL for a Slack compatible POST

webhook_top_n

string

Default 10

proxy_mode

string

auto or residential. Default auto

Pricing

Pay per event on Apify, billed to your Apify account. Prices in USD.

Event

Free plan

Bronze

Silver

Gold

thread-row, per thread row

$0.0018

$0.0017

$0.0016

$0.0015

comment-row, per comment row

$0.001

$0.00095

$0.0009

$0.00085

summary-row, per company summary, category company, or question theme row

$0.003

$0.00285

$0.0027

$0.00255

apify-actor-start, per run start

$0.0005

$0.0005

$0.0005

$0.0005

Blocked, error, and no results rows, and rows skipped by only_new, are free.

Your keys

The actor needs no key. It reads public Reddit feeds and holds no Reddit key or any other key. Proxy traffic adds nothing to your price: Mamba Labs pays the platform costs of the run. proxy_mode is a reliability setting.

Full actor documentation

apify.com/mambalabs/b2b-reddit-conversation-monitor

License

MIT. See LICENSE.

Available Tools

1 tool
monitor_reddit_conversationsMonitor Reddit conversationsA
Read-only

Find Reddit conversations about a company, its competitors, a product category, or a topic, read from public Reddit feeds. mode company: give company_domain (for example smartlead.ai) and get thread and comment rows that name the brand or its competitors, each tagged complaint, praise, comparison, alternative_request, switching, buying_intent, feature_request, or question, with sentiment, a 0 to 100 intent score, and a displacement_signal when a competitor draws a complaint, switch, or alternative request, plus one company summary row with share of voice per competitor. mode category: give category_keywords (for example cold email tools) and get the companies discussed most, with mention counts and sentiment. mode gap: give subreddits and or a topic and get recurring questions grouped by theme, with unanswered counts and the tools the answers named. Tags are rule based. Blocked or empty results come back free with a row_status saying so. A run that does not succeed is returned as an error with its run ID. Read-only; requires an APIFY_TOKEN; Apify charges per thread, comment, and summary row returned.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNocompany (default), category, or gap.
topicNoGap mode. What the questions are about.
domainsNoCompany mode. Several domains, up to 50.
only_newNoSkip rows an earlier run with the same state_key returned. Default false.
state_keyNoNames the seen list for only_new.
proxy_modeNoauto uses the Apify datacenter proxy and moves to residential when Reddit refuses; residential uses residential only. A reliability choice; proxy use adds nothing to the price. Default auto.
since_daysNoOnly threads from the last this many days. Default 90.
subredditsNoLimit searches to these subreddits, without r/.
brand_namesNoCompany mode. Names to search for, as the company writes them. Empty: resolved from the domain.
competitorsNoCompany mode. Competitor names. Empty: found in the brand threads when discover_competitors is true.
max_threadsNoThread rows per input, up to 1000. Each thread row is billed. Default 100.
topic_termsNoGap mode. More search phrases for the same need. Reddit returns only posts with every word of a query, so a two word topic can be narrow. Up to 10.
webhook_urlNoOptional https URL. One POST at the end with a Slack compatible text field and the top rows.
comment_depthNoReply levels read. Default 2.
product_namesNoCompany mode. Product names to search for beside the brand.
webhook_top_nNoRows in the webhook, 1 to 50. Default 10.
company_domainNoCompany mode. One company domain, for example smartlead.ai.
max_charge_usdNoOptional. The run stops before any row that would take its charges over this amount.
known_companiesNoCategory and gap modes. Names to always count.
max_competitorsNoCompany mode. 0 to 5. Default 5.
include_commentsNoReturn comments that name the brand, a competitor, or a category company as billed rows. Default true in company and gap modes, false in category mode.
category_keywordsNoCategory mode. Product lane phrases, for example cold email tools.
vendor_subredditsNoA vendor's own subreddit (named after the brand, a competitor, or a company found in the run) is read as marketing. exclude (default) drops those threads; flag keeps them with vendor_subreddit true and out of every count. A subreddit named in subreddits is never treated as one.
exclude_subredditsNoDrop rows from these subreddits.
discover_subredditsNoGap mode. Find up to 8 subreddits from the topic when none are given. Default true.
include_hacker_newsNoAlso search Hacker News. Default false.
max_comment_threadsNoThreads opened to read comments, highest intent first. Default 20, 30 in category mode, 50 in gap mode.
discover_competitorsNoCompany mode. Find competitors in the brand threads when none are given. Default true.
use_identity_resolverNoCompany mode, when brand_names is empty. true runs Mamba Labs Company Identity Resolver from your account, which Apify charges at its own result price (0.007 USD per domain); false uses the homepage title. Default true.
max_comments_per_threadNoComments read per opened thread. Default 25.

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint=false and destructiveHint=false, yet the description adds substantial context beyond them: rule-based tagging, free blocked/empty results reported via row_status, failed runs surfaced as errors with a run ID, the APIFY_TOKEN requirement, and per-thread/comment/summary-row billing. This is exactly the extra behavioral detail a caller needs.

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

Conciseness4/5

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

Given 30 parameters and three distinct modes, the length is justified and the purpose is front-loaded before any mode detail. It is dense and would benefit from visual separation of the modes, but every sentence (tags, row_status, error behavior, billing) carries information a caller would otherwise lack.

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?

With no output schema, the description carries the return-value burden and does so well: it names the returned row types, the tag taxonomy, sentiment, the 0-100 intent score, displacement_signal, and the company summary row with share of voice. Combined with coverage of auth, billing, and failure behavior, nothing essential for correct invocation is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds meaning with concrete examples ('smartlead.ai', 'cold email tools') and explains mode-specific relationships (company_domain resolves brand names, competitors are discovered when discover_competitors is true). It does not cover every parameter's semantics, so it lands just above baseline.

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 opening sentence gives a specific verb and resource ('Find Reddit conversations about a company, its competitors, a product category, or a topic') and immediately states the scope ('read from public Reddit feeds'). The three operating modes are each named and tied to a concrete input, so an agent knows exactly what the tool produces without opening the schema.

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

Usage Guidelines5/5

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

The description explicitly routes between the three modes: 'mode company: give company_domain...', 'mode category: give category_keywords...', 'mode gap: give subreddits and or a topic...'. With no sibling tools, mode selection is the only routing decision and it is fully spelled out with examples rather than left to inference.

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 observedmonitor_reddit_conversations

TDQS

A4.6/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no possibility of selecting the wrong tool. Its modes (company, category, gap) are internal parameters rather than separate tools, which keeps the surface unambiguous.

Naming Consistency5/5

The single tool uses a clear verb_noun snake_case name (monitor_reddit_conversations). There is no competing convention to create inconsistency.

Tool Count3/5

One tool is on the thin end for a monitoring server, though it consolidates three modes (company, category, gap) into a single entry point. Borderline but defensible given the narrow, read-only purpose.

Completeness4/5

The tool covers the core read paths for company, category, and gap analysis with tagging, sentiment, intent scoring, and share-of-voice. It lacks lifecycle features like scheduled monitoring, alerting, or historical trend comparison, which are minor workarounds for a feed-reading tool.

Maintenance

ActivityNo data
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI agents to search Reddit for posts, comments, and users or monitor for high-intent leads and brand mentions. It functions by delegating scraping tasks to high-performance Apify cloud actors.
    2
    19 npm
    7
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI assistants to search, browse, and analyze Reddit in real-time via web scraping, including subreddit browsing, post comments, and business opportunity scoring.
    9
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to research customer voice by searching Reddit and extracting structured comments from supported community platforms via MCP.
    MIT