mcp-sequencer-event-poller
LocalAbout mcp-sequencer-event-poller
mcp-sequencer-event-poller is an MCP server for reading events from Instantly, Smartlead, HeyReach, and lemlist accounts. It returns event rows and run summaries through an Apify actor, without changing sequencer data.
Key features
- 01Polls replies, bounces, and unsubscribes
- 02Reads meetings and interest changes
- 03Collects LinkedIn replies
- 04Filters by time and event type
- 05Can omit previously returned events
Use cases
- 01Review recent replies across sequencers
- 02Track bounces and unsubscribes
- 03Find LinkedIn replies from HeyReach
- 04Run scheduled checks for new events
MCP support
Exposes the `poll_sequencer_events` tool to MCP clients. The local server starts the Apify actor run and returns its dataset rows.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
npx -y @mambalabsdev/mcp-sequencer-event-pollerAPIFY_TOKENSecretApify API token from https://console.apify.com/account/integrationsINSTANTLY_API_KEYSecretOptional. Your own Instantly API v2 key with a read scopeSMARTLEAD_API_KEYSecretOptional. Your own Smartlead API keyHEYREACH_API_KEYSecretOptional. Your own HeyReach API keyLEMLIST_API_KEYSecretOptional. Your own lemlist API keyLocal 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 today
| Parameter | Type | Required | Description |
|---|---|---|---|
| since | string | No | Optional start of the window in UTC, for example 2026-10-20T00:00:00Z. |
| until | string | No | Optional end of the window in UTC. Default now. |
| only_new | boolean | No | Skip events an earlier run already returned (free). Default true. |
| state_key | string | No | Optional name for the only new events memory, so two schedules keep separate memories. |
| max_events | integer | No | Event rows per run, oldest first. Default 5000. |
| event_types | array | No | Which events to return. Default: reply, linkedin_reply, bounce, unsubscribe, meeting_booked, interested, connection_accepted. |
| since_hours | integer | No | Read events from this many hours before the run, at most 2160 (90 days). Default 24. Ignored when since is set. |
| max_charge_usd | string | No | Optional. The run stops before a charge that would pass this amount. |
| max_pages_per_query | integer | No | Pages of 100 records per vendor query. Default 20. |
| lemlist_campaign_ids | array | No | Read only these lemlist campaigns (cam_ ids). Empty: all campaigns. |
| heyreach_campaign_ids | array | No | Read only these HeyReach campaigns (numeric ids). Empty: all campaigns. |
| instantly_campaign_ids | array | No | Read only these Instantly campaigns (UUIDs). Empty: all campaigns. |
| smartlead_campaign_ids | array | No | Read only these Smartlead campaigns. Empty: all non draft campaigns. |
Details
From the project READMESequencer Event Poller MCP Server
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
- What it does
- Quick start
- Prerequisites
- Example prompts
- Tool
- Inputs
- Pricing
- Your keys
- Full actor documentation
- License
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.
| Input | Type | Required | Description |
|---|---|---|---|
since_hours | integer | no | Look back this many hours, at most 2160. 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 | boolean | no | 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 | integer | no | Pages of 100 records per vendor query. Default 20. |
max_events | integer | no | Event rows per run. 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.
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.