Connectors · CRM & sales
Lusha MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Lusha and the rest of your systems. It gives your agent 72 Lusha actions (50 reads, 15 writes and 7 that wait for a confirmation) and holds the Lusha credential itself, so the agent never does. It paces Lusha's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "lusha.audit_logs.list", intent: "check which Lusha account is connected"}# Get Audit Logs · read · 1 upstream call- 72actionsin one signed file
- 50readlook, never change
- 15writecreate and update
- 7wait for a yesdestructive, confirmed first
Set up
Connect Lusha in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Lusha.
API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
api_keyLusha API key from the API dashboard (dashboard.lusha.com/api/manage-api-keys; admins and managers with API access)
account { op: "connections.requirements", service: "lusha" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "lusha.audit_logs.list" }# get audit logs · read · 1 upstream callcheck { action: "lusha.subscriptions.test", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Lusha at a glance
- Sign-in
- API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
api_key- Limits we pace to
- 25 calls a second, per connection
- API covered
- Lusha API v3 (OpenAPI 3.0.3)
api.lusha.com - Built from
- Lusha's documentation, read 23 October 2026docs.lusha.comdocs.lusha.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 49 of 50 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 2, so ask can line Lusha up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Lusha.
72 actions in 17 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 50readlook, never change
- 15writecreate and update
- 7destructivewait for a confirmation
Companies
1515 read · 0 write · 0 destructive
Search and Enrich Companies · Enrich Companies · Score Companies by ICP Fit · Company Lookalikes
Contacts
1414 read · 0 write · 0 destructive
Search and Enrich Contacts · Get Buying Group Contacts · Enrich Contacts · Score Contacts by ICP Fit
Company tables
63 read · 2 write · 1 destructive
List Companies Tables · Get Companies Column Catalog · Get Companies Table · Create Companies Table
Contact tables
63 read · 2 write · 1 destructive
List Contacts Tables · Get Contacts Column Catalog · Get Contacts Table · Create Contacts Table
Subscriptions
62 read · 3 write · 1 destructive
List Subscriptions · Get Subscription by ID · Create Subscription · Test Subscription
Company table columns
41 read · 2 write · 1 destructive
List Companies Table Columns · Add Columns to Companies Table · Run Column on Companies Table · Remove Column from Companies Table
Contact table columns
41 read · 2 write · 1 destructive
List Contacts Table Columns · Add Columns to Contacts Table · Run Column on Contacts Table · Remove Column from Contacts Table
Company table entities
31 read · 1 write · 1 destructive
Get Companies Table Entities · Add Entities to Companies Table · Remove Entities from Companies Table
9 more areas · 14 actions
- Contact table entities 3
- Account secret 2
- Audit logs 2
- Conversations 2
- Account 1
- Contact enrich jobs 1
- Icp profiles 1
- Opt out subscriptions 1
- Website visits 1
Top actions
The Lusha API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
lusha.contacts.search_and_enrichSearch and Enrich Contacts | Find contacts and reveal their full data in a single call. | read | this connector |
lusha.companies.search_and_enrichSearch and Enrich Companies | Find companies and reveal their full data in a single call. | read | this connector |
lusha.audit_logs.listGet Audit Logs | Retrieve webhook delivery logs for your account. | read | this connector |
lusha.contacts.enrichEnrich Contacts | Reveal full contact data for contacts you've already found via Search Contacts. | read | this connector |
lusha.companies.enrichEnrich Companies | Reveal full company data for companies you've already found via Search Companies. | read | this connector |
lusha.icp_profiles.listList Target Profiles | Returns the Target Profiles (ICPs) you can see: your own, plus any an admin has shared with the account. | read | this connector |
lusha.subscriptions.listList Subscriptions | Returns all webhook subscriptions for your account with pagination support. | read | this connector |
lusha.company_tables.listList Companies Tables | List companies tables owned by the given user, plus any tables shared with the account. | read | this connector |
lusha.subscriptions.testTest Subscription | Test a webhook subscription by sending a test signal. | write | this connector |
lusha.subscriptions.createCreate Subscription | Creates one or more webhook subscriptions for real-time signal notifications. | write | this connector |
lusha.company_tables.createCreate Companies Table | Create a new, empty companies table, optionally seeded with an initial list of company IDs. | write | this connector |
lusha.subscriptions.deleteDelete Subscriptions | Delete one or more webhook subscriptions. | destructive | this connector |
Try it
Prompts to paste into Claude.
Each one names the Lusha actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Find the Lusha contacts with no email address, so we can clean them up.
calls
lusha.contacts.search_and_enrich - Writewrite
Test Subscription in Lusha. Show me exactly what you will send before you save it.
calls
lusha.subscriptions.test
Governance for Lusha
Destructive actions wait for a yes.
7 Lusha actions are destructive. These are all of them:
- Delete Subscriptions
lusha.subscriptions.delete - Delete Companies Table
lusha.company_tables.delete - Delete Contacts Table
lusha.contact_tables.delete - Remove Column from Companies Table
lusha.company_table_columns.remove - Remove Column from Contacts Table
lusha.contact_table_columns.remove - Remove Entities from Companies Table
lusha.company_table_entities.remove - Remove Entities from Contacts Table
lusha.contact_table_entities.remove
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete Subscriptions?
intent: the user asked me to delete Subscriptions
account { op: "keys.create", name: "lusha-agent", allowed_actions: ["lusha.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "lusha.subscriptions.delete", approver: "[email protected]" }, { match: "lusha.company_tables.delete", approver: "[email protected]" }, { match: "lusha.contact_tables.delete", approver: "[email protected]" } ]}Cost
What Lusha costs on actionlake.
Every Lusha action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Lusha refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 72 Lusha actions
- 72actions pageeach page of a long list is one call
- 49reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Lusha action.
72 actions by area: the id your agent calls, what it does, and its effect.
Companies15
lusha.companies.enrichEnrich Companiesreadlusha.companies.icp_fit_scoresScore Companies by ICP Fitreadlusha.companies.lookalikesCompany Lookalikesreadlusha.companies.prospectProspecting Companiesreadlusha.companies.prospecting_filter_valuesGet Company Filter Valuesreadlusha.companies.prospecting_filtersGet Company Filter Types (Discovery)readlusha.companies.recommendation_filtersCompany Recommendation Filtersreadlusha.companies.recommendationsCompany Recommendationsreadlusha.companies.searchSearch Companiesreadlusha.companies.search_and_enrichSearch and Enrich Companiesreadlusha.companies.signal_filter_valuesGet Company Signal Filter Valuesreadlusha.companies.signal_filtersGet Company Signal Filters (Discovery)readlusha.companies.signal_scoresScore Companies by Signal Activityreadlusha.companies.signal_typesGet Company Signal Typesreadlusha.companies.signalsCompany Signalsread
Contacts14
lusha.contacts.buying_groupGet Buying Group Contactsreadlusha.contacts.enrichEnrich Contactsreadlusha.contacts.icp_fit_scoresScore Contacts by ICP Fitreadlusha.contacts.lookalikesContact Lookalikesreadlusha.contacts.prospectProspecting Contactsreadlusha.contacts.prospecting_filter_valuesGet Contact Filter Valuesreadlusha.contacts.prospecting_filtersGet Contact Filter Types (Discovery)readlusha.contacts.recommendation_filtersContact Recommendation Filtersreadlusha.contacts.recommendationsContact Recommendationsreadlusha.contacts.searchSearch Contactsreadlusha.contacts.search_and_enrichSearch and Enrich Contactsreadlusha.contacts.signal_scoresScore Contacts by Signal Activityreadlusha.contacts.signal_typesGet Contact Signal Typesreadlusha.contacts.signalsContact Signalsread
Company tables6
lusha.company_tables.column_catalogGet Companies Column Catalogreadlusha.company_tables.createCreate Companies Tablewritelusha.company_tables.deleteDelete Companies Tabledestructivelusha.company_tables.getGet Companies Tablereadlusha.company_tables.listList Companies Tablesreadlusha.company_tables.updateUpdate Companies Tablewrite
Contact tables6
lusha.contact_tables.column_catalogGet Contacts Column Catalogreadlusha.contact_tables.createCreate Contacts Tablewritelusha.contact_tables.deleteDelete Contacts Tabledestructivelusha.contact_tables.getGet Contacts Tablereadlusha.contact_tables.listList Contacts Tablesreadlusha.contact_tables.updateUpdate Contacts Tablewrite
Subscriptions6
lusha.subscriptions.createCreate Subscriptionwritelusha.subscriptions.deleteDelete Subscriptionsdestructivelusha.subscriptions.getGet Subscription by IDreadlusha.subscriptions.listList Subscriptionsreadlusha.subscriptions.testTest Subscriptionwritelusha.subscriptions.updateUpdate Subscriptionwrite
Company table columns4
lusha.company_table_columns.addAdd Columns to Companies Tablewritelusha.company_table_columns.listList Companies Table Columnsreadlusha.company_table_columns.removeRemove Column from Companies Tabledestructivelusha.company_table_columns.runRun Column on Companies Tablewrite
Contact table columns4
lusha.contact_table_columns.addAdd Columns to Contacts Tablewritelusha.contact_table_columns.listList Contacts Table Columnsreadlusha.contact_table_columns.removeRemove Column from Contacts Tabledestructivelusha.contact_table_columns.runRun Column on Contacts Tablewrite
Company table entities3
lusha.company_table_entities.addAdd Entities to Companies Tablewritelusha.company_table_entities.listGet Companies Table Entitiesreadlusha.company_table_entities.removeRemove Entities from Companies Tabledestructive
Contact table entities3
lusha.contact_table_entities.addAdd Entities to Contacts Tablewritelusha.contact_table_entities.listGet Contacts Table Entitiesreadlusha.contact_table_entities.removeRemove Entities from Contacts Tabledestructive
Account secret2
lusha.account_secret.getGet Account Secretreadlusha.account_secret.regenerateRegenerate Account Secretwrite
Audit logs2
lusha.audit_logs.listGet Audit Logsreadlusha.audit_logs.statsGet Audit Log Statisticsread
Conversations2
lusha.conversations.searchSearch Conversationsreadlusha.conversations.transcriptGet Conversation Transcriptread
Account1
lusha.account.usageGet Account Usageread
Contact enrich jobs1
lusha.contact_enrich_jobs.getGet Contacts Enrich Jobread
Icp profiles1
lusha.icp_profiles.listList Target Profilesread
Opt out subscriptions1
lusha.opt_out_subscriptions.createCreate Opt-Out Subscriptionwrite
Website visits1
lusha.website_visits.searchGet Website Visitorsread
Questions
The Lusha MCP server, answered.
Is there a Lusha MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 72 Lusha actions across companies, contacts, company tables and contact tables, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Lusha.
What do I need to connect Lusha?
Lusha API key from the API dashboard (dashboard.lusha.com/api/manage-api-keys; admins and managers with API access). The free call account { op: "connections.requirements", service: "lusha" } lists exactly what to paste.
Can an AI agent delete or change things in Lusha?
Only if its key allows it, and only with an explicit confirmation. 7 Lusha actions are destructive, including delete Subscriptions, delete Companies Table and delete Contacts Table. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Lusha API limit?
actionlake paces every call to the limits in the Lusha service file: 25 calls a second per connection. Repeated reads are answered from cache (49 Lusha actions can be), which never reaches Lusha.
What does a Lusha action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (72 Lusha actions page). Cache hits, searches, dry runs and calls Lusha refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Lusha API does it cover?
The Lusha API v3 (OpenAPI 3.0.3) at api.lusha.com. It is built from Lusha's documentation as read on 23 October 2026. 72 actions in 17 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Lusha data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Lusha credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Lusha today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.