# Lemlist MCP connector

The Lemlist connector brings your outreach campaigns, sequence steps, sending schedules, senders and campaign stats into Claude, ChatGPT, Cursor or any MCP client, so your team can run and report on Lemlist outreach by asking in plain language.

Source: https://elaichi.ai/connectors/lemlist/

## Facts

| | |
| --- | --- |
| Application | Lemlist |
| Category | Sales Enablement |
| AI tools | 81 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 81 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Lemlist is connected

- Which Lemlist campaigns are paused across the sales team?
- Summarize last week's Lemlist campaign reports by sender.
- List sequences and schedules for our EMEA outbound campaign.

## Connect Lemlist in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Lemlist.
2. Optionally set Share with, then press Connect.
3. Paste a Lemlist API key. One person generates a token in Lemlist and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Lemlist tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Lemlist to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Lemlist to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Lemlist to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Lemlist to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Lemlist tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Lemlist through Elaichi

### Pause a campaign before a big announcement

Sales. Ask which Lemlist campaigns are still sending to a target account and pause them in one go, so nobody gets a cold email the morning your contract lands.

### Rewrite a sequence step that is underperforming

Sales development. Pull the stats for a Lemlist campaign, spot the step where replies drop off, and update that step's copy without opening the campaign editor.

### Set up a new campaign for an event

Marketing. Create the Lemlist campaign, add the sequence steps and attach a sending schedule for a conference follow-up, all from one conversation.

### Report on outreach stats every Monday

Revenue operations. Ask for opens, replies and bounces across every active Lemlist campaign and get a summary you can paste into the pipeline review.

### Check who is sending and how much

Sales leadership. List the senders on each Lemlist team, see how many credits are left, and find out which reps have campaigns running before the quarter closes.

### Move sending schedules for a holiday week

Operations. Update the Lemlist schedules so outreach skips the days the office is closed and picks up again on the right time zone.

## Frequently asked questions

### How do I connect Lemlist to Claude?

Connect Lemlist in Elaichi first, which asks you to paste the API key from your Lemlist settings, and that is the whole sign-in step. There is no OAuth application to register and no client ID or secret to generate. Then in Claude go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Sign in as yourself and your Lemlist campaigns, schedules and stats are available in the chat.

### Does Lemlist work with ChatGPT and Cursor as well as Claude?

Yes. Once Lemlist is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Lemlist once and every client picks it up, with the same person-level access and the same audit log.

### What can an AI agent actually do with my Lemlist data?

It can list your Lemlist campaigns, pull their stats and reports, create or update a campaign, pause one, and add, rewrite or remove sequence steps. It can also create and change sending schedules, and show you the senders, credits and CRM users on each Lemlist team. Short, specific asks such as "pause the Q3 partner campaign" get better results than long paragraphs, because the agent searches for the right action rather than reading a menu.

### Does connecting Lemlist give the AI access to every team and campaign?

No. Every call to Lemlist runs as the person who signed in, so the AI only sees the Lemlist teams, campaigns and senders that person can already reach. Elaichi can narrow that further, for example to viewing stats only, but it can never widen it beyond what Lemlist itself allows that person.

### Can my team share one Lemlist connection?

Yes. One person connects Lemlist in Elaichi and shares the connection with a team, and nobody else ever handles the Lemlist API key. Each teammate still signs in to Elaichi as themselves, so the audit log names the person who paused a campaign or edited a sequence step, not a shared account.

### Can I stop an agent from deleting or changing things in Lemlist?

Yes. Restrictions in Elaichi work per action, so you can allow reading Lemlist campaign stats while blocking deleting schedules or editing sequence steps. A blocked action is never advertised to Claude, ChatGPT, Cursor or any other client, so no prompt, however worded, can reach it.

### What happens to a Lemlist connection when someone leaves?

Offboarding that person in Elaichi ends their Lemlist access at once across every client they used. If they had shared a Lemlist connection with a team, it keeps working for everyone else. Disconnecting Lemlist once in Elaichi removes it from Claude, ChatGPT, Cursor and every other connected client at the same time.

## All 81 Lemlist tools

Every tool below is callable through https://api.elaichi.ai/mcp once Lemlist is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Lemlist teams** (List). Get the lemlist team associated with the authenticated account. Returns: _id, userIds, createdBy, createdAt, hooks, beta, slackWebhook, invitedUsers, agency, pictureId, example.
- **List all Lemlist team senders** (List). List team senders in lemlist with their associated campaigns. Returns: userId, campaigns. An optional state filter narrows results by campaign state (running, paused, draft, ended, archived, errors).
- **List all Lemlist team credits** (List). Get the lemlist team credit balance and its breakdown by source. Returns: credits, details, example.remaining with total, freemium, subscription, gifted, and paid credit counts.
- **List all Lemlist team CRM users** (List). List CRM integrations connected by team users in lemlist. Returns: userId, crm, example. No required parameters.
- **Get single Lemlist user by ID** (Get). Get a single lemlist user by id. Returns the user object including _id, email, role, linkedIn connection status and limits, and associated mailboxes with provider and warmup settings. Required: id.
- **List all Lemlist campaigns** (List). List all lemlist campaigns with optional filtering by status and sorting. Returns: _id, name, labels, createdAt, createdBy, status, archived, isEnded, hasError. Supports filtering by status (running, draft, archived, ended, paused, errors) and sorting by createdAt.
- **Create a Lemlist campaign** (Create). Create a new lemlist campaign. Returns the created campaign object including _id, name, sequenceId, scheduleIds, teamId, state, createdAt, and CRM configuration.
- **Get single Lemlist campaign by ID** (Get). Get a single lemlist campaign by id. Returns the campaign object including _id, name, labels, createdAt, createdBy, status, state, scheduleIds, and CRM configuration. Required: id.
- **Update a Lemlist campaign by ID** (Update). Update a lemlist campaign's configuration including name, stop conditions, and tracking settings. Returns: name, stopOnEmailReplied. Required: id.
- **Lemlist campaigns pause** (Pause). Pause a running lemlist campaign. Returns: _id, state. Required: campaign_id.
- **List all Lemlist campaigns reports** (List). Retrieve campaign report export status from lemlist, optionally filtered by campaign IDs. Returns a status object containing campaignId, campaignName, status, startedAt, endedAt, progress, total, and a download url for the exported report file.
- **List all Lemlist campaign sequences** (List). List all sequences for a lemlist campaign, returned as a map keyed by sequence id. Each sequence value includes _id, steps (each with _id, type, delay, emailTemplateId, index, message, and a conditions array for branching steps), level, parentId, and conditionalStepIndex. Required: campaign_id.
- **List all Lemlist campaign schedules** (List). List all schedules associated with a lemlist campaign. Returns: _id, name, secondsToWait, timezone, start, end, weekdays, teamId, createdBy, createdAt. Required: campaign_id.
- **Create a Lemlist campaign schedule** (Create). Associate a schedule with a lemlist campaign. Returns: scheduleId, campaignId. Required: campaign_id, schedule_id.
- **List all Lemlist campaign stats** (List). Get lemlist campaign statistics for a specific campaign, optionally filtered by date range and timezone. Returns: leadTotal, leadToLaunch, leadReadyToSend, leadInProgress, leadCompleted, sentCount, deliveredCount, openedCount, clickedCount, repliedCount, interestedCount. Required: campaign_id.
- **Lemlist campaign stats list v 2** (List). Get lemlist campaign statistics via the v2 API, with optional filters for date range, sender, A/B variant, and channels. Returns: _id, name, labels, createdAt, createdBy, status. Required: campaign_id.
- **List all Lemlist schedules** (List). List all lemlist schedules. Returns: _id, name, secondsToWait, timezone, start, end, weekdays, teamId, createdBy, createdAt. Sorting is limited to the createdAt field.
- **Create a Lemlist schedule** (Create). Create a new schedule in lemlist. Returns the created schedule including _id, name, secondsToWait, timezone, start, end, weekdays, public, teamId, createdBy, and createdAt.
- **Get single Lemlist schedule by ID** (Get). Get a single lemlist schedule by id. Returns: _id, name, secondsToWait, timezone, start, end, weekdays, teamId, createdBy, createdAt, public. Required: id.
- **Update a Lemlist schedule by ID** (Update). Update a lemlist schedule by id. Returns the updated schedule including _id, name, secondsToWait, timezone, start, end, weekdays, public, teamId, createdBy, and createdAt. Required: id.
- **Delete a Lemlist schedule by ID** (Delete). Delete a lemlist schedule by id. Returns: _id. Required: id.
- **Create a Lemlist sequence step** (Create). Add a step to a lemlist sequence. Returns the created step including its _id, type, delay, emailTemplateId, and message. Required: sequence_id.
- **Update a Lemlist sequence step by ID** (Update). Update a step in a lemlist sequence. Returns the updated step including its _id, type, delay, emailTemplateId, and message. Required: id, sequence_id.
- **Delete a Lemlist sequence step by ID** (Delete). Delete a step from a lemlist sequence. Returns: ok. Required: id, sequence_id.
- **Get single Lemlist lead by ID** (Get). Get a single lemlist lead by id. Returns: email, firstName, lastName, picture, phone, linkedinUrl, companyName, companyDomain, icebreaker, jobTitle, _id, isPaused, campaignId, emailStatus. Required: id.
- **Lemlist leads search** (Search). Search for a lemlist lead by email or id. Returns: email, firstName, lastName, picture, phone, linkedinUrl, companyName, companyDomain, icebreaker, jobTitle, _id, isPaused, campaignId, emailStatus. At least one of email or id must be supplied.
- **Create a Lemlist campaign lead** (Create). Create a new lead in a lemlist campaign by email address. Returns: campaignId, campaignName, email, firstName, lastName, picture, phone, linkedinUrl, companyName, companyDomain, icebreaker, jobTitle, _id, isPaused, leadUrl. Required: campaign_id, email.
- **Update a Lemlist campaign lead by ID** (Update). Update a lead in a lemlist campaign, such as setting the preferred contact method. Returns: campaignId, campaignName, email, firstName, lastName, picture, phone, linkedinUrl, companyName, companyDomain, icebreaker, jobTitle, preferredContactMethod, _id, isPaused, leadUrl. Required: id, campaign_id.
- **Lemlist campaign leads bulk delete** (Delete). Unsubscribe a lead from a lemlist campaign by email address. Returns: email, firstName, lastName, picture, phone, linkedinUrl, companyName, companyDomain, icebreaker, jobTitle, _id, isPaused, campaignId. Required: campaign_id, email.
- **Create a Lemlist leads start** (Create). Resume a paused lead in lemlist by start_id. Returns an array of lead objects each containing _id, email, firstName, lastName, isPaused, and campaignId. Required: start_id.
- **Create a Lemlist leads pause** (Create). Pause a lead in lemlist across all campaigns or within a specific campaign. Returns an array of lead objects including _id, email, firstName, lastName, companyName, campaignId, and isPaused (set to true). Optional: campaignId to limit the pause to a single campaign. Required: pause_id.
- **Create a Lemlist leads interested** (Create). Mark a lead as interested in lemlist by lead ID or email. Returns an array of lead objects including _id, email, firstName, lastName, companyName, campaignId, and isPaused. Required: lead_id_or_email.
- **Create a Lemlist leads notinterested** (Create). Mark a lemlist lead as not interested using the lead's id or email address. Returns an array of updated lead records including _id, email, firstName, lastName, companyName, companyDomain, isPaused, and campaignId for each campaign the lead belongs to. Required: lead_id_or_email.
- **Create a Lemlist lead interested** (Create). Mark a lemlist lead as interested in a specific campaign. Returns the lead object including _id, email, firstName, lastName, phone, companyName, companyDomain, jobTitle, isPaused, and campaignId. Required: campaign_id, lead_id_or_email.
- **Create a Lemlist lead notinterested** (Create). Mark a lemlist lead as not interested in a specific campaign. Returns the lead object including _id, email, firstName, lastName, companyName, and campaignId. Required: campaign_id, lead_id_or_email.
- **Create a Lemlist lead variable** (Create). Add custom variables to a lemlist lead. Variable names and values (e.g. company, preferredContactMethod) are passed as query parameters. Returns: ok. Required: lead_id.
- **Lemlist lead variables bulk update** (Update). Update custom variables on a lemlist lead. Variable names and values (e.g. favoriteColor, company) are passed as query parameters. Returns: ok. Required: lead_id.
- **Lemlist lead variables bulk delete** (Delete). Delete custom variables from a lemlist lead. Variable names (e.g. company, favoriteColor) are passed as query parameters to identify which variables to remove. Returns an empty 204 response on success. Required: lead_id.
- **Create a Lemlist leads audio** (Create). Upload an audio file to a lemlist voice message step. Returns: ok, status.
- **List all Lemlist hooks** (List). List all webhooks in your lemlist workspace. Returns: _id, targetUrl, createdAt, zapId, campaignId, type.
- **Create a Lemlist hook** (Create). Create a new webhook in lemlist to receive real-time event callbacks. Returns: _id, targetUrl, createdAt, type, campaignId, zapId.
- **Delete a Lemlist hook by ID** (Delete). Delete a webhook from your lemlist workspace by id. Returns: _id, targetUrl, createdAt, type, campaignId, zapId. Required: id.
- **List all Lemlist unsubscribes** (List). List lemlist unsubscribes. Returns: _id, createdAt, value, source, example.
- **Get single Lemlist unsubscribe by ID** (Get). Get a single lemlist unsubscribe by id. Returns: _id, createdAt, value, source. Required: id.
- **Create a Lemlist unsubscribe** (Create). Add an email or domain to the lemlist unsubscribe list. Returns: _id, createdAt, value, source. Required: unsubscribe_id.
- **Delete a Lemlist unsubscribe by ID** (Delete). Delete a lemlist unsubscribe by id. Returns an empty 204 response on success. Required: id.
- **List all Lemlist unsubs exports** (List). Export unsubscribe records from lemlist. Returns an array of unsubscribe objects including _id, createdAt, value, and source.
- **Get single Lemlist enrich by ID** (Get). Get a single lemlist enrichment result by id. Returns: enrichmentId, enrichmentStatus, input, data, example. Required: id.
- **Create a Lemlist enrich** (Create). Create a lemlist enrichment to find verified emails, verify existing emails, find phone numbers, or run LinkedIn enrichment. Returns: id. At least one enrichment action (findEmail, findPhone, linkedinEnrichment, or verifyEmail) must be enabled.
- **Create a Lemlist lead enrich** (Create). Enrich a lemlist lead by triggering email search, email verification, LinkedIn enrichment, or phone number lookup. Returns: id. Required: lead_id.
- **List all Lemlist export starts** (List). Start a campaign stats export in lemlist. Returns the export job object including _id, id, campaignId, status, startedAt, progressType, progress, and total. Required: campaign_id.
- **List all Lemlist export status** (List). Get the status of a campaign export in lemlist. Returns the export status object including ok, id, teamId, campaignId, campaignName, status, startedAt, endedAt, progress, total, and the download url. Required: campaign_id, export_id.
- **Lemlist export emails bulk update** (Export). Export a lemlist campaign's send status for a specific email address. Returns: ok, status. Required: campaign_id, export_id, email.
- **List all Lemlist export leads** (List). Export leads from a lemlist campaign, optionally filtered by lead state. Returns lead records with email, firstName, lastName, _id, campaignId, emailStatus, companyName, companyDomain, jobTitle, phone, linkedinUrl, picture, icebreaker, isPaused. Supports json or csv output format. Required: campaign_id.
- **List all Lemlist CRM filters** (List). List CRM filters from lemlist. Returns: id, name. Results can be narrowed by CRM name, connected user ID, or Salesforce filter type (lead, contact, report).
- **Create a Lemlist leads import** (Create). Import leads from a CRM into a lemlist campaign. Returns: ok. Required: campaign_id.
- **List all Lemlist activities** (List). List lemlist activities with optional filters by activity type, campaign, lead, or version. Returns: _id, type, emailId, messageId, emailTemplateId, isFirst, stopped, createdAt, bot, teamId, leadId, campaignId, sequenceId, sequenceStep, createdBy, sendUserId, totalSequenceStep, sendUserName, sendUserEmail, sendUserMailboxId, sendUserMailboxProviderId, leadFirstName, leadLastName, leadEmail,…
- **Lemlist enrichments bulk create** (Create). Create bulk enrichment requests in lemlist by submitting an array of enrichment jobs with input data (LinkedIn URL, email, company name, domain, first/last name) and desired enrichment types. Returns an array of enrichment results, each containing id, metadata, and error (on failed items). Enrichment types include find_email, find_phone, verify, and linkedin_enrichment.
- **List all Lemlist database filters** (List). List lemlist database filters available for the People database. Returns: filterId, description, mode, type, helper, example.
- **Create a Lemlist database people** (Create). Search the lemlist people database by applying filter criteria in the request body. Returns: results, total, took, search, limitation, team. No required parameters.
- **List all Lemlist schema peoples** (List). Retrieve the people schema definition in lemlist, describing the field structure for person records including lead_id, full_name, country, experiences, education, skills, interests, and lead_quality_score. Returns: example.
- **Create a Lemlist database company** (Create). Search the lemlist companies database by applying filters such as technologies, country, or industry to find matching company records. Returns: company_id, company_name, company_website_url, company_domain, company_industry, company_location, techno_used_array, and additional company attributes.
- **List all Lemlist schema companies** (List). Get the companies schema from lemlist's people database, describing all available company attributes and their types. Returns: example.
- **List all Lemlist tasks** (List). List lemlist tasks. Returns each task with _id, type, leadId, campaignId, contactId, dueDate, and userId.
- **Create a Lemlist task** (Create). Create a new task in lemlist. Returns the created task object including _id, type, leadId, campaignId, contactId, dueDate, and userId.
- **Lemlist tasks bulk update** (Update). Update an existing task in lemlist. Returns the updated task object including _id, type, leadId, campaignId, contactId, dueDate, and userId.
- **Create a Lemlist tasks ignore** (Create). Ignore lemlist tasks associated with a lead. Returns an empty 204 response on success.
- **List all Lemlist inboxes** (List). List lemlist inbox conversations. Returns: _id, opportunities, lastActivityAt, createdBy, teamId, contactId, users, createdAt, channels, haveReplies, lastRepliedAt, lastRepliedChannel, example.
- **Get single Lemlist inbox by ID** (Get). Get messages for a lemlist inbox contact conversation by id. Returns: _id, type, messageId, cc, createdAt, teamId, leadId, campaignId, sendUserId, sendUserName, sendUserEmail, sendUserMailboxId, leadEmail, contactId, message, subject, attachments. Required: id.
- **Create a Lemlist inbox email** (Create). Send an email from a lemlist inbox to a contact or lead. Returns: ok. Provide the sender's user ID/email/mailbox, the recipient's contactId or leadId, a subject, a message body, and an optional cc list.
- **Create a Lemlist inbox linkedin** (Create). Send a LinkedIn message to a lead or contact in lemlist. Returns: ok.
- **Create a Lemlist inbox whatsapp** (Create). Send a WhatsApp message to a contact in lemlist. Returns: ok.
- **List all Lemlist contacts** (List). List lemlist contacts. Returns: _id, teamId, email, fullName, fields, campaigns, ownerId, createdAt, createdBy.
- **Get single Lemlist contact by ID** (Get). Get a single lemlist contact by id or email. Returns: _id, teamId, email, fullName, fields, campaigns, ownerId, createdAt, createdBy. Required: id.
- **Lemlist lemwarms start** (Start). Start lemwarm email warmup for a specific mailbox in lemlist. Returns: ok. Required: user_mailbox_id.
- **Lemlist lemwarms pause** (Pause). Pause lemwarm email warmup for a specific mailbox in lemlist. Returns: ok. Required: user_mailbox_id.
- **List all Lemlist lemwarm settings** (List). Get lemwarm warm-up settings and deliverability diagnostics for a specific mailbox in lemlist. Returns: warmEmailRampup, warmEmailMax, activeAt, warmNextEmailAt, lastWarmAt, deliverability. Required: user_mailbox_id.
- **Lemlist lemwarm settings bulk update** (Update). Update lemwarm warm-up settings for a specific mailbox in lemlist. Returns: ok. Required: user_mailbox_id.
- **List all Lemlist companies** (List). List lemlist companies with optional search, sorting, and field selection. Returns: createdAt. Max 100 per page.
- **List all Lemlist company notes** (List). List notes for a lemlist company. Returns: _id, note, createdAt. Supports optional sorting by createdAt in ascending or descending order. Required: company_id.
- **Create a Lemlist company note** (Create). Create a note on a lemlist company. Returns: _id, note, createdAt. Required: company_id.
