Skip to main content
Glama
Sequencer Event Poller MCP Server

Sequencer Event Poller MCP Server

Sequencer Event Poller MCP Server

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

An MCP server for the Mamba Labs Sequencer Event Poller actor on Apify. It reads replies, bounces, unsubscribes, meetings booked, interest changes, and LinkedIn replies from your own Instantly, Smartlead, HeyReach, and lemlist accounts, and returns one flat row per event.

What's Inside

Related MCP server: mcp-clay-to-instantly-smartlead-push

What it does

Pick a time window, for example the last 24 hours, and get every event from the sequencers you have keys for in one table: vendor, event type, when it happened, the lead's email, name, and company, the campaign, and the reply text where the vendor returns it. One free run summary row gives counts per vendor and event type and says whether each vendor was read, skipped, or refused the key. With only new events on, a scheduled run returns only events an earlier run has not returned.

The actor only reads. It never creates, edits, pauses, or sends anything in a sequencer, and it never creates a campaign.

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-sequencer-event-poller": {
      "command": "npx",
      "args": [
        "-y",
        "@mambalabsdev/mcp-sequencer-event-poller"
      ],
      "env": {
        "APIFY_TOKEN": "your-apify-token",
        "LEMLIST_API_KEY": "your-lemlist-key"
      }
    }
  }
}

Restart the client. The poll_sequencer_events tool appears.

Prerequisites

  • Node.js 18 or newer.

  • An Apify API token from console.apify.com/account/integrations, set as APIFY_TOKEN. The server lists its tool without a token; a call needs one.

  • At least one of your own vendor keys: INSTANTLY_API_KEY (API v2, read scope; Instantly API access needs a paid Instantly plan), SMARTLEAD_API_KEY, HEYREACH_API_KEY, LEMLIST_API_KEY. With none set, a call returns one summary row that says no key was given.

Example prompts

  • "Which leads replied in Smartlead or lemlist in the last 24 hours?"

  • "List every bounce and unsubscribe across my sequencers this week."

  • "Who replied on LinkedIn through HeyReach since Monday, and what did they say?"

Tool

poll_sequencer_events. One tool. Example arguments:

{
  "since_hours": "24",
  "event_types": ["reply", "linkedin_reply", "bounce", "meeting_booked"]
}

Inputs

Every buyer facing input of the actor except the four vendor keys, which are read from this server's environment, never from tool arguments. Omitted inputs take the actor's own defaults. Numbers and yes or no options are sent as text ("24", "true"), which is what the actor accepts; a value that does not parse comes back as one free row that names the field.

Input

Type

Required

Description

since_hours

string

no

Look back this many hours, 1 to 2160, as text such as "24". Default 24.

since, until

string

no

Optional exact window in UTC.

event_types

array

no

Any of reply, linkedin_reply, bounce, unsubscribe, meeting_booked, interested, not_interested, out_of_office, connection_accepted, open, click.

only_new

string

no

"true" or "false". Skip events an earlier run returned. Default true.

state_key

string

no

Name for the only new events memory.

instantly_campaign_ids, smartlead_campaign_ids, heyreach_campaign_ids, lemlist_campaign_ids

array

no

Read only these campaigns.

max_pages_per_query

string

no

Pages of 100 records per vendor query, 1 to 100, as text. Default 20.

max_events

string

no

Event rows per run, up to 50000, as text. Default 5000.

max_charge_usd

string

no

Optional cost cap for the run.

Pricing

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

Event

Free plan

Bronze

Silver

Gold

event-row, per sequencer event

$0.008

$0.0076

$0.0072

$0.0068

apify-actor-start, per run start

$0.001

$0.001

$0.001

$0.001

The run summary row and already delivered events are free. Mamba Labs pays the platform costs of the run.

Your keys

The actor stores no key. Each vendor key is your own: this server reads it from its environment and sends it in the run input of that run only. The vendor API calls run on your own vendor account, under that vendor's plan and rate limits.

Full actor documentation

apify.com/mambalabs/sequencer-event-poller

License

MIT. See LICENSE.

Available Tools

1 tool
poll_sequencer_eventsPoll sequencer eventsA
Read-only

Read replies, bounces, unsubscribes, meetings booked, interest changes, and LinkedIn replies from your own Instantly, Smartlead, HeyReach, and lemlist accounts for a time window. Returns one flat row per event (vendor, event type, time, lead email and name, company, campaign, reply text where the vendor returns it) plus one free run summary row with counts and the status of each vendor. Vendor keys are read from this server's environment (INSTANTLY_API_KEY, SMARTLEAD_API_KEY, HEYREACH_API_KEY, LEMLIST_API_KEY); vendors with no key are skipped. Read-only: it never creates, edits, pauses, or sends anything in a sequencer. A run that does not succeed is returned as an error with its run ID. Requires an APIFY_TOKEN and is billed per event row.

NameRequiredDescriptionDefault
sinceNoOptional start of the window in UTC, for example 2026-10-20T00:00:00Z.
untilNoOptional end of the window in UTC. Default now.
only_newNoSkip events an earlier run already returned (free). Default true.
state_keyNoOptional name for the only new events memory, so two schedules keep separate memories.
max_eventsNoEvent rows per run, oldest first, up to 50000. Each event row is billed. Default 5000.
event_typesNoWhich events to return. Default: reply, linkedin_reply, bounce, unsubscribe, meeting_booked, interested, connection_accepted.
since_hoursNoRead events from this many hours before the run, 1 to 2160 (90 days). Default 24. Ignored when since is set.
max_charge_usdNoOptional. The run stops before a charge that would pass this amount.
max_pages_per_queryNoPages of 100 records per vendor query, 1 to 100. Default 20.
lemlist_campaign_idsNoRead only these lemlist campaigns (cam_ ids). Empty: all campaigns.
heyreach_campaign_idsNoRead only these HeyReach campaigns (numeric ids). Empty: all campaigns.
instantly_campaign_idsNoRead only these Instantly campaigns (UUIDs). Empty: all campaigns.
smartlead_campaign_idsNoRead only these Smartlead campaigns. Empty: all non draft campaigns.

TDQS

A4.4/5.0
Behavior5/5

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

Goes well past the readOnlyHint annotation: names the env-var keys, states that keyless vendors are skipped, discloses APIFY_TOKEN requirement, per-event-row billing, and that failed runs return an error with a run ID. These are exactly the operational facts an agent needs before spending money.

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?

One dense but well-ordered paragraph: what it reads, what it returns, how auth resolves, safety, billing. No filler sentences, though the single block makes the billing/requirement notes easy to miss.

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 13 optional parameters and no output schema, the description still specifies the row shape, the summary row, defaults for skipping and vendor selection, and cost implications. Nothing an agent needs to call it safely is absent.

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 coverage is 100% and each parameter already carries a clear description, so baseline is 3. The prose adds return-shape detail (flat rows, free summary row) and the billing implication of max_events, but no syntax or format guidance beyond the schema.

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?

States a specific verb (read/poll) and resource (sequencer events) plus the exact event categories and the four vendor sources. An agent knows precisely what comes back and from where 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 Guidelines4/5

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

Frames the tool as a time-window poll across the caller's own accounts and mentions the only_new default that skips already-returned events, which is real usage context. There are no sibling tools to differentiate against and no explicit when-not-to-use guidance, 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 update
    • Changedpoll_sequencer_events14 fields changed
      • changedInput schema / properties / max_events / description
        Previous value: -"Event rows per run, oldest first. Default 5000."New value: +"Event rows per run, oldest first, up to 50000. Each event row is billed. Default 5000."
      • removedInput schema / properties / max_events / maximum
        Removed value: -50000
      • removedInput schema / properties / max_events / minimum
        Removed value: -1
      • changedInput schema / properties / max_events / type
        Previous value: -"integer"New value: +"string"
      • changedInput schema / properties / max_pages_per_query / description
        Previous value: -"Pages of 100 records per vendor query. Default 20."New value: +"Pages of 100 records per vendor query, 1 to 100. Default 20."
      • removedInput schema / properties / max_pages_per_query / maximum
        Removed value: -100
      • removedInput schema / properties / max_pages_per_query / minimum
        Removed value: -1
      • changedInput schema / properties / max_pages_per_query / type
        Previous value: -"integer"New value: +"string"
      • addedInput schema / properties / only_new / enum
        Added value: +[
        +  "true",
        +  "false"
        +]
      • changedInput schema / properties / only_new / type
        Previous value: -"boolean"New value: +"string"
      • changedInput schema / properties / since_hours / description
        Previous value: -"Read events from this many hours before the run, at most 2160 (90 days). Default 24. Ignored when since is set."New value: +"Read events from this many hours before the run, 1 to 2160 (90 days). Default 24. Ignored when since is set."
      • removedInput schema / properties / since_hours / maximum
        Removed value: -2160
      • removedInput schema / properties / since_hours / minimum
        Removed value: -1
      • changedInput schema / properties / since_hours / type
        Previous value: -"integer"New value: +"string"
  2. 1 tool updatev1.0.0
    • First observedpoll_sequencer_events

TDQS

A4.4/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool in the server, there is no possibility of misselection or overlap. Its purpose is clearly stated and distinct.

Naming Consistency5/5

The single tool follows a clear snake_case verb_noun convention: poll_sequencer_events. There are no competing conventions to conflict with it.

Tool Count4/5

A single tool is reasonable for a narrow read-only event poller, and it consolidates multiple vendors into one operation. However, having only one tool is on the thin side for the apparent breadth of vendor/event-type handling.

Completeness4/5

The tool covers reading events across all supported vendors, includes summary/status information, and correctly excludes write operations since it is read-only. Minor gaps remain around filtering by vendor/event type and handling large result sets via pagination.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    Enables interaction with Instantly.ai email outreach platform through 31 tools across accounts, campaigns, leads, emails, and analytics. Supports both local and remote deployment with multi-tenant authentication.
    27
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables pushing enriched leads into Instantly or Smartlead campaigns with ICP score gating, deduplication, and dry-run previews via an Apify actor.
    1
    87 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables MCP clients to read Instantly.ai analytics and manage leads, campaigns, Unibox, sender accounts, blocklist, and webhooks, with write actions gated behind confirm prompts and configurable safety policies.
    40
    105 PyPI
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to manage cold-email infrastructure through natural language, covering domain and mailbox provisioning, DNS setup, email warming, inbox and reply triage, exports, pre-warmed domain purchases, and webhooks. Supports hosted OAuth or local stdio installs with scoped read, write, and purchase permissions, plus two-step confirmation for anything that charges a card.
    29 PyPI
    MIT