Skip to main content
Glama
mambalabsdev

Influencer Change Monitor MCP Server

Influencer Change Monitor MCP Server

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

MCP server for the Mamba Labs Influencer Change Monitor actor on Apify.

A named list of creator handles in, one row per change since the previous run out.

Install

npx -y @mambalabsdev/mcp-creator-change-monitor

Claude Desktop

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

Get an Apify token at console.apify.com/account/integrations.

Related MCP server: diffgrab

Tool

monitor_influencer_changes

Recheck a named influencer watchlist and return what moved since the run before it.

Input

Type

Required

Notes

list_name

string

no

Names the saved state. The first run for a list returns one first_seen row per creator as the baseline; later runs with the same name return only changes. Letters, digits, dot, dash, underscore. Default "default".

handles

array

no

One per line. A profile URL on any supported platform (https://www.tiktok.com/@name, https://www.instagram.com/name/, https://www.youtube.com/@name, a Pinterest, Twitch, or Threads profile, an Apple Podcasts show.

platforms

array

no

Which platforms a bare @handle is looked up on. A full profile URL carries its own platform and ignores this. This actor does not search; pass the creators you want read. Supported: TikTok, Instagram, YouTube,.

check_links

boolean

no

Rechecks newsletter status, products, and manager contact on every run. Uncheck for a follower and bio link only check at lower cost: the link columns then keep the values from the last run that read them, and no. Default true.

match_agencies

boolean

no

Matches the domain of a manager or business email against the bundled talent agency list and fills agency_name, agency_domain, and agency_match_method. Charged per matched row (event agency-match). Default true.

escalate_on_block

boolean

no

On by default. A profile fetch that comes back as a bot detection page is retried once over the residential proxy. On Instagram the bio, bio link, and following are read from the profile page over residential when. Default true.

batch_size

integer

no

Rows fetched at once. Leave empty for the measured per platform default; the measurement is in the README. Higher is faster and, above the measured point, loses rows.

twitch_client_id

string

no

Optional. Your own registered Twitch application client id. With twitch_app_token the Twitch reads use the official Helix API instead of the public web endpoint. Never a Mamba Labs credential.

twitch_app_token

string

no

Optional. An app access token for your Twitch client id (client credentials flow). Used only for Twitch reads, never stored or logged.

contribute_to_shared_pool

boolean

no

On by default. Contributes the public records this run finds to a shared creator and agency pool that all users of this actor read from. Only public data already in the returned rows is sent, and a contribution is not charged. Set false to read the pool and write nothing. Default true.

Nothing is required. Influencer Change Monitor answers a run with no usable input with a row carrying row_status and error_reason rather than failing, and the tool mirrors that.

Pricing

Influencer Change Monitor is pay per event on Apify. Every price below is flat across every tier: FREE, BRONZE, SILVER, GOLD, PLATINUM, and DIAMOND.

Event

Charged for

Price

Fires when

actor-start

Actor start

$0.002

Once per run, on start. Covers the run overhead.

apify-actor-start

Apify actor start

not charged

Apify's synthetic start event. This actor prices its own actor-start event instead, so apify-actor-start is not charged on top of it.

creator-rechecked

Creator rechecked

$0.008

Once per creator whose profile (and, when check_links is on, link page) was read on a monitor run, whether or not anything changed. This is the base price per creator; a change row is charged on top of it.

change-detected

Change detected

$0.01

Once per change row returned by the monitor, on top of the recheck. A first_seen baseline row is a change row. Unchanged creators return no row.

instagram-bio-fetch

Instagram bio fetch

$0.01

Once per Instagram profile row when the bio, bio link, and following were not on the embed widget or the datacenter API and the profile page was read over the residential proxy and came back readable. Only when escalate_on_block is on. Never on the embed or datacenter reads, never on another platform, never on a blocked page, and never on an error row.

Reading the output

Every row carries row_status and error_reason. A creator the actor could not read comes back as a row saying why, not as a gap in the list, so an absence is readable rather than inferred. Filter on row_status before loading a table.

What this actor shares

The run contributes the records it finds to a shared creator and agency pool that all users of this actor read from. What one run finds, the next run can read.

The toggle is contribute_to_shared_pool. It is on by default. Set it to false and the run still reads the pool and writes nothing to it.

What this actor contributes. The profile fields that changed since the last run, and any manager contact that is new.

Only public data that is already in your own output. Every field written to the pool is a field this run returned to you, read from a page the platform or the creator publishes to anyone without a login. Nothing from your Apify account, your input list, your API keys, or your own notes is sent. A contribution never deletes anything from the pool.

What a contribution is labeled with. The actor ID, the run ID, the pool key issued to the actor build, and a hash of the calling IP address, used for the rate limit and nothing else. Your Apify account and your user ID are not recorded.

Contributing is free. No event is charged for a write to the pool. If the pool is unreachable the run finishes as normal, the rows are dropped, and the run log says so.

Actor

Actor ID d2VVgahNL6UmcLkhg. The wrapper calls the actor by that immutable ID rather than by its Store slug, so a Store rename never breaks it.

Suite

Built by Mamba Labs.

Available Tools

1 tool
monitor_influencer_changesRecheck an Influencer Watchlist for ChangesA
Read-onlyIdempotent

Rereads a named watchlist of creator handles and compares every field against the state the previous run on that same list name recorded. Returns one row per change with change_type, change_from, change_to, and previous_run_at, alongside the creator handle, profile URL, follower count, newsletter status, bio link, and manager email. The first run on a new list name records the baseline and returns it, so there is something to compare against next time. Each list name keeps its own baseline, so one account can watch a client roster, a prospect list, and a competitor set without them mixing. Turning off the link recheck keeps the pass to profiles only, which is faster and cheaper on a large list. Charges $0.002 per run plus $0.008 per creator rechecked, $0.01 per change found, and $0.01 per Instagram bio fetch when one is needed. Contributes the public records it finds to a shared creator and agency pool that all users of this actor read from, so a later run reads what this one found; contribute_to_shared_pool is on by default and turning it off leaves the run reading the pool and writing nothing. Only public data already in the returned rows is contributed, nothing from your Apify account or your input, and a contribution is not charged. Requires an APIFY_TOKEN and consumes Apify credits. Read only.

ParametersJSON Schema
NameRequiredDescriptionDefault
handlesNoOne per line. A profile URL on any supported platform (https://www.tiktok.com/@name, https://www.instagram.com/name/, https://www.youtube.com/@name, a Pinterest, Twitch, or Threads profile, an Apple Podcasts show page, or a Spotify show), or platform:@handle (tiktok:@name). A bare @handle needs `platforms` and is looked up on each listed platform. One entry is a single run; a list is a batch. Duplicates are removed before any fetch.
list_nameNoNames the saved state. The first run for a list returns one first_seen row per creator as the baseline; later runs with the same name return only changes. Letters, digits, dot, dash, underscore. Default: "default".
platformsNoWhich platforms a bare @handle is looked up on. A full profile URL carries its own platform and ignores this. This actor does not search; pass the creators you want read. Supported: TikTok, Instagram, YouTube, Pinterest, Twitch, Threads, and podcasts. Not X, not Facebook pages, not LinkedIn.
batch_sizeNoRows fetched at once. Leave empty for the measured per platform default; the measurement is in the README. Higher is faster and, above the measured point, loses rows.
check_linksNoRechecks newsletter status, products, and manager contact on every run. Uncheck for a follower and bio link only check at lower cost: the link columns then keep the values from the last run that read them, and no change row fires for a column that was not read. Default: true.
match_agenciesNoMatches the domain of a manager or business email against the bundled talent agency list and fills agency_name, agency_domain, and agency_match_method. Charged per matched row (event agency-match). Default: true.
twitch_app_tokenNoOptional. An app access token for your Twitch client id (client credentials flow). Used only for Twitch reads, never stored or logged.
twitch_client_idNoOptional. Your own registered Twitch application client id. With `twitch_app_token` the Twitch reads use the official Helix API instead of the public web endpoint. Never a Mamba Labs credential.
escalate_on_blockNoOn by default. A profile fetch that comes back as a bot detection page is retried once over the residential proxy. On Instagram the bio, bio link, and following are read from the profile page over residential when the embed and the datacenter API did not carry them, and a page that comes back readable charges instagram-bio-fetch ($0.010). Uncheck it to never pay that event: a blocked profile then returns a labeled error row, and Instagram rows keep an empty bio and bio link on about half of the reads. Default: true.
contribute_to_shared_poolNoOn by default. Contributes the public records this run finds to a shared creator and agency pool that all users of this actor read from, so a later run reads what this one found. Only public data already in the returned rows is sent, never your Apify account, your input list, or your API keys, and a contribution is not charged. Set false to read the pool and write nothing. Default: true.

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the annotations (readOnlyHint, openWorldHint, idempotentHint), the description discloses substantial behavior: baseline recording, comparison logic, first-run return, per-list isolation, cost structure, shared pool contribution and its opt-out, and the read-only nature. It also explains parameter-driven behavior (check_links, escalate_on_block). No contradiction with annotations.

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?

The description is long but front-loaded with the core function, then flows through baseline, list names, cost, shared pool, and requirements. It is structured and each sentence carries information, though some sentences are dense. It earns a 4 for effective organization despite its length.

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?

Given the tool's complexity (10 params, no output schema, no siblings), the description covers all essential operational aspects: return fields, baseline behavior, cost, shared pool mechanics, read-only nature, and token requirement. It leaves no critical gap for an agent to call it correctly.

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 schema already documents all 10 parameters thoroughly. The tool description does not add extra meaning to individual parameters beyond referencing some in behavioral context (e.g., check_links, contribute_to_shared_pool). Baseline of 3 is appropriate as the description adds no new parameter-specific semantics.

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 opens with a specific verb ('Rereads') and resource ('named watchlist of creator handles') and explains the comparison against prior state. It clearly distinguishes the tool's function from a simple fetch and specifies the output (one row per change with listed fields). No siblings exist, but the purpose is unambiguous.

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?

The description explains when to use it (rechecking a watchlist for changes) and crucial behavioral context (first run records baseline, list-specific baselines, cost implications, toggling shared pool). It does not explicitly name alternatives because there are none, but it does not provide explicit exclusions either. The guidance is clear but lacks a 'when not to use' clause, hence a 4.

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.1
    • First observedmonitor_influencer_changes

TDQS

A4.4/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of confusing it with another; the purpose is singular and clearly described. An agent cannot misfire between overlapping operations because no overlap exists.

Naming Consistency5/5

The single tool name follows a clear verb_noun snake_case convention and directly describes the action and object. There are no other names to create inconsistency.

Tool Count3/5

One tool is on the thin side for a server, though the narrow 'monitor' purpose makes it defensible. It is not trivial, but a richer suite might split watchlist management and baseline or change history into separate tools.

Completeness4/5

The tool covers the full monitoring loop: baseline creation, repeated comparison, multiple named watchlists, and an option to skip expensive rechecks. It does not expose watchlist CRUD or historical change retrieval, but those are minor gaps for a read-only monitor.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Monitors a company domain for changes in hiring, tech stack, funding, firmographics, and social presence, returning only the deltas as typed change events.
    1
    127 npm
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables tracking web page changes, detecting content modifications with structured diffs and snapshot history through MCP tools.
    53 PyPI
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables monitoring web pages for changes using Playwright, storing snapshots in SQLite, and optionally analyzing changes with an LLM for business impact assessment.
    5
    MIT