Lusha MCP
Vendor MCP42 toolsAPI KeyCRM & SalesMarketingAIConnect to Lusha MCP. Search and enrich B2B contacts and companies, find lookalikes, run prospecting searches, and access intent and activity signals from...
Lusha MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Set up the connector
Section titled “Set up the connector”Register your Lusha MCP credentials with Scalekit so it can authenticate requests on your behalf. You do this once per environment.
Dashboard setup steps
Register your Lusha API key with Scalekit so it stores it securely and injects it into every request. Lusha uses API key authentication — there is no redirect URI or OAuth flow.
-
Get your Lusha API key
- Sign in to Lusha and go to API & connectors → Manage API Keys.
- Click + Create new Key to generate a new key, or copy the key value from an existing entry.

-
Create a connection in Scalekit
- In Scalekit dashboard, go to AgentKit → Connections → Create Connection. Find Lusha MCP and click Create.
- Note the Connection name — you will use this as
connection_namein your code (e.g.,lushamcp). - Click Save.
-
Add a connected account
Connected accounts link a specific user identifier in your system to their Lusha API key. Add them via the dashboard for testing, or via the Scalekit API in production.
Via dashboard (for testing)
- Open the connection you created and click the Connected Accounts tab → Add account.
- Fill in:
- Your User’s ID — a unique identifier for this user in your system (e.g.,
user_123) - API Key — the Lusha API key from step 1
- Your User’s ID — a unique identifier for this user in your system (e.g.,
- Click Create Account.
Via API (for production)
import { Scalekit } from '@scalekit-sdk/node';const scalekit = new Scalekit(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,);// Never hard-code credentials — read from secure storage or user inputconst lushaApiKey = getUserLushaApiKey(); // retrieve from your secure storeawait scalekit.actions.upsertConnectedAccount({connectionName: 'lushamcp',identifier: 'user_123',credentials: {username: lushaApiKey,},});import osfrom scalekit import ScalekitClientscalekit_client = ScalekitClient(env_url=os.environ["SCALEKIT_ENV_URL"],client_id=os.environ["SCALEKIT_CLIENT_ID"],client_secret=os.environ["SCALEKIT_CLIENT_SECRET"],)# Never hard-code credentials — read from secure storage or user inputlusha_api_key = get_user_lusha_api_key() # retrieve from your secure storescalekit_client.actions.upsert_connected_account(connection_name="lushamcp",identifier="user_123",credentials={"username": lusha_api_key},)
-
-
Make your first call
Section titled “Make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'lushamcp'const identifier = 'user_123'// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'lushamcp_contacts_search',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "lushamcp"identifier = "user_123"# Make your first callresult = actions.execute_tool(tool_input={},tool_name="lushamcp_contacts_search",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Search website visits, prospecting contact, prospecting company — Rank companies that visited the account’s tracked websites by visit engagement
- Update table — Rename a Workspace table, change its visibility, or archive/unarchive it
- Status table — Return one Workspace table’s entity count and per-column run aggregates (processing/success/failed rows)
- Run table — Run (populate) a Workspace table column across all, missing-only, or specific rows
- Entities table remove, table add — Remove rows (by Lusha entity id) from a Workspace table
- Column table remove, table add — Remove a non-default column from a Workspace table
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
lushamcp_account_usage#Retrieve account credit balance, rate-limit status, plan info, and per-action credit pricing.2 params
Retrieve account credit balance, rate-limit status, plan info, and per-action credit pricing.
conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_buying_group_search#Rank buying committee members for given companies, optionally filtered by persona.6 params
Rank buying committee members for given companies, optionally filtered by persona.
companiesarrayrequiredCompanies to find buying group members for (1-25). Each entry must include exactly one of 'domain' or 'id', plus an optional clientReferenceId echoed back per result.contactsLimitintegeroptionalMaximum number of buying group contacts to return per company (1-100). Defaults to 100. Billing is per contact returned, so keep this as low as the task allows.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.paginationobjectoptionalOptional pagination over the ranked buying group members (0-based `page`, `size` 10-100). Omit to receive the provider default page.personasarrayoptionalPersona filter — return only contacts whose primary role matches one of the supplied values. Omit to return all personas. Allowed values: 'decision_maker', 'potential_champion', 'end_user'.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_companies_search#Look up known companies in the Lusha database by name, domain, or FQDN, supporting batches of up to 25.4 params
Look up known companies in the Lusha database by name, domain, or FQDN, supporting batches of up to 25.
companiesarrayrequiredNo description.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.enrichbooleanoptionalAuto-enrich the results. When true (default) the response includes firmographics, technologies and intent in one call and consumes reveal credits. When false only the search preview is returned (no premium fields, no reveal credits); follow up with prospecting_company_enrich on the returned ids when reveals are needed.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_contacts_search#Look up a known business contact in Lusha by name, company, LinkedIn URL, or email.8 params
Look up a known business contact in Lusha by name, company, LinkedIn URL, or email.
company_namestringoptionalCompany name the contact works at. Required when looking up by name (first_name + last_name + company_name).conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.emailstringoptionalContact's email address. Standalone lookup path.enrichbooleanoptionalAuto-enrich the result. When true (default) the response includes emails and phones in one call and consumes reveal credits. When false only the search preview is returned (no emails/phones, no reveal credits); follow up with prospecting_contact_enrich on the returned id when reveals are needed.first_namestringoptionalContact's first name. Use with last_name + company_name as one of the supported lookup paths.last_namestringoptionalContact's last name. Use with first_name + company_name as one of the supported lookup paths.linkedin_urlstringoptionalContact's LinkedIn profile URL. Standalone lookup path.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_conversations_search#Find the account's recorded sales calls by keyword, date, participant, domain, or title.12 params
Find the account's recorded sales calls by keyword, date, participant, domain, or title.
companyDomainsarrayoptionalDomains of the external participants, such as acme.com (up to 10 values, ORed). This matches on domain rather than display name; companies_search resolves a company name to its domain.contactNamesarrayoptionalPartial, case-insensitive match on participant names (up to 10 values, ORed).conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.conversationIdsarrayoptionalRestricts results to these conversation ids (1-25). Unknown ids are omitted from the response rather than erroring.dateFromstringoptionalEarliest meeting date, inclusive, as YYYY-MM-DD.dateTostringoptionalLatest meeting date, inclusive, as YYYY-MM-DD.detailstringoptionalResponse depth. 'compact' (default) returns the summary and flags whether coaching and chapters exist; 'full' includes them and limits pageSize to 5.meetingTitlesarrayoptionalPartial, case-insensitive match on the meeting title (up to 10 values, ORed).pageintegeroptional1-based page index. Defaults to 1.pageSizeintegeroptionalConversations per page (1-25, default 10). Capped at 25 so a page costs a single credit and fits the 25k-token response budget.querystringoptionalFree-text search over what was said on the call, ranked by relevance. It overrides the structural filters, so one search uses either this or them.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_conversations_transcript_get#Return the speaker-attributed transcript of one recorded call, in windows.5 params
Return the speaker-attributed transcript of one recorded call, in windows.
conversationIdstringrequiredId of the recorded call, as returned in conversations[].id by conversations_search. This is the call identifier and is unrelated to the chat-session conversation_id field.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.segmentLimitintegeroptionalSegments per window (1-200, default 100). A window is shortened further when its text would exceed the 25k-token response budget.segmentOffsetintegeroptional0-based index of the first transcript segment in the window. Defaults to 0.lushamcp_lookalike_companies#Discover companies similar to a set of seed companies, returning paginated lookalike candidates.6 params
Discover companies similar to a set of seed companies, returning paginated lookalike candidates.
seedsobjectrequiredSeed companies to find lookalikes for. Total unique identifiers across both arrays must be 5-100.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.dedupeSessionIdstringoptionalOpaque pagination/dedupe token (UUID). Omit on first call to start a new run; the response includes a dedupeSessionId to pass back on subsequent calls for the same seeds. Sessions expire after 30 days of inactivity.excludeobjectoptionalOptional companies to exclude from results (e.g., existing customers). Total identifiers max 500. Distinct from dedupeSessionId, which excludes companies already returned by prior pagination calls.limitintegeroptionalNumber of results per call (1-100). Defaults to 25 when omitted.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_lookalike_contacts#Discover contacts similar to a set of seed contacts, returning paginated lookalike candidates.6 params
Discover contacts similar to a set of seed contacts, returning paginated lookalike candidates.
seedsobjectrequiredSeed contacts to find lookalikes for. Total unique identifiers across all arrays must be 5-100.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.dedupeSessionIdstringoptionalOpaque pagination/dedupe token (UUID). Omit on first call to start a new run; the response includes a dedupeSessionId to pass back on subsequent calls for the same seeds. Sessions expire after 30 days of inactivity.excludeobjectoptionalOptional contacts to exclude from results (e.g., existing customers). Total identifiers max 500. Distinct from dedupeSessionId, which excludes contacts already returned by prior pagination calls.limitintegeroptionalNumber of results per call (1-50). Defaults to 25 when omitted.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_prospecting_company_enrich#Reveal full firmographic details for one or more Lusha company IDs.4 params
Reveal full firmographic details for one or more Lusha company IDs.
idsarrayrequiredLusha company IDs to enrich (from prospecting_company_search or companies_search results). Each id is a numeric string. Capped at 25 per request — split larger batches to fit the 25k-token response budget.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.revealarrayoptionalCompany premium fields to reveal. Source of truth: the prior search response's `canReveal[].field` (typically a subset of 'employeesByDepartment', 'employeesByLocation', 'employeesBySeniority', 'competitors', 'intent'); per-field credit cost for this account is in `canReveal[].credits`. When omitted, V3 returns only the free 'intent' field — chargeable firmographics require an explicit list of fields. Values not present in the prior response's `canReveal` are rejected by V3 — `canReveal` reflects this account's entitlements and per-company data availability.lushamcp_prospecting_company_filters#[STALE: upstream tool 'prospecting_company_filters' is no longer present in the live MCP tool list as of 2026-08-19; no equivalent replacement tool was found] Resolve valid filter values accepted by the company prospecting search.4 params
[STALE: upstream tool 'prospecting_company_filters' is no longer present in the live MCP tool list as of 2026-08-19; no equivalent replacement tool was found] Resolve valid filter values accepted by the company prospecting search.
typestringrequiredType of Lusha company filter to resolve. Large result types (naics, sics) return all available values; pass 'q' to narrow names, locations, and technologies.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.qstringoptionalNarrowing query. Required for: names, locations, technologies. Ignored for other types.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_prospecting_company_search#[STALE: upstream tool 'prospecting_company_search' is no longer present in the live MCP tool list as of 2026-08-19; it appears to have been renamed to 'prospecting_company_search_by_text' (see lushamcp_prospecting_company_search_by_text)] Find companies by firmographic filters such as industry, size, location, and technology.18 params
[STALE: upstream tool 'prospecting_company_search' is no longer present in the live MCP tool list as of 2026-08-19; it appears to have been renamed to 'prospecting_company_search_by_text' (see lushamcp_prospecting_company_search_by_text)] Find companies by firmographic filters such as industry, size, location, and technology.
conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.domainsarrayoptionalLusha prospecting: company domains to include (e.g., 'lusha.com').excludeobjectoptionalOptional filters that exclude matching companies. Mirrors the include-side filters. Signals are not supported on the exclude side.intentTopicsarrayoptionalLusha prospecting: intent topics. Use values from prospecting_company_filters (type='intent_topics').locationsarrayoptionalLusha prospecting: company locations. Use values from prospecting_company_filters (type='locations').mainIndustriesIdsarrayoptionalLusha prospecting: main industry IDs. Use values from prospecting_company_filters (type='industries_labels').naicsCodesarrayoptionalLusha prospecting: NAICS codes. Use values from prospecting_company_filters (type='naics').namesarrayoptionalLusha prospecting: company names to include. Use values from prospecting_company_filters (type='names').pageintegeroptionalPage number for pagination (0-based).page_sizeintegeroptionalItems per page (min 10, max 50, default 20).reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.revenuesarrayoptionalLusha prospecting: revenue ranges (annual USD). Use values from prospecting_company_filters (type='revenues').searchTextstringoptionalLusha prospecting: free-text relevance hint across company data. Layered on top of structured filters; not an exact match - broad or unrelated text can still return a large company population. Prefer structured filters (industries, sizes, locations, technologies) for precision.sicsCodesarrayoptionalLusha prospecting: SIC codes. Use values from prospecting_company_filters (type='sics').signalsobjectoptionalPremium filter: narrow results to companies with recent signal activity. Charges Lusha credits per signal type that returns results, in addition to base prospecting credits.sizesFilterOptionarrayoptionalLusha prospecting: company size ranges (employee count). Valid min/max ranges are returned by prospecting_company_filters (type='sizes'); custom ranges are not supported.subIndustriesIdsarrayoptionalLusha prospecting: sub industry IDs. Use values from prospecting_company_filters (type='industries_labels').technologiesarrayoptionalLusha prospecting: technologies. Use values from prospecting_company_filters (type='technologies').lushamcp_prospecting_company_search_by_text#Find companys by describing the target audience in plain language; Lusha converts the text into structured prospecting filters server-side.4 params
Find companys by describing the target audience in plain language; Lusha converts the text into structured prospecting filters server-side.
conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.pagination_tokenstringoptionalOpaque token returned by a prior call to this tool. Pass it back verbatim to fetch the NEXT page of that same search. Do not construct, edit, or guess it; only ever echo one this tool returned. When a response has no pagination_token, there are no more results.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.textstringoptionalLusha prospecting: a natural-language description of the target audience (e.g., 'CMOs from Apple and Google in California'). Lusha's server converts this text into structured prospecting filters and runs the search. 2-1024 characters. Provide this for a NEW search; omit it when paging with pagination_token.lushamcp_prospecting_contact_enrich#Reveal emails and phone numbers for one or more Lusha contact IDs.4 params
Reveal emails and phone numbers for one or more Lusha contact IDs.
idsarrayrequiredLusha contact IDs to enrich (from prospecting_contact_search or contacts_search results). Each id is a numeric string. Capped at 50 per request — split larger batches to fit the 25k-token response budget.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.revealarrayoptionalContact premium fields to reveal. Source of truth: the prior search response's `canReveal[].field` (typically 'emails', 'phones'); per-field credit cost for this account is in `canReveal[].credits`. When omitted, V3 returns every field listed in each contact's `canReveal`. Values not present in the prior response's `canReveal` are rejected by V3 — `canReveal` reflects this account's entitlements and per-contact data availability.lushamcp_prospecting_contact_filters#[STALE: upstream tool 'prospecting_contact_filters' is no longer present in the live MCP tool list as of 2026-08-19; no equivalent replacement tool was found] Resolve valid filter values accepted by the contact prospecting search.4 params
[STALE: upstream tool 'prospecting_contact_filters' is no longer present in the live MCP tool list as of 2026-08-19; no equivalent replacement tool was found] Resolve valid filter values accepted by the contact prospecting search.
typestringrequiredType of Lusha contact filter to resolve.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.locationSearchTextstringoptionalNarrowing text for location-based searches. Required when type='locations'.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_prospecting_contact_search#[STALE: upstream tool 'prospecting_contact_search' is no longer present in the live MCP tool list as of 2026-08-19; it appears to have been renamed to 'prospecting_contact_search_by_text' (see lushamcp_prospecting_contact_search_by_text)] Find business contacts by filters such as job title, seniority, department, and company attributes.25 params
[STALE: upstream tool 'prospecting_contact_search' is no longer present in the live MCP tool list as of 2026-08-19; it appears to have been renamed to 'prospecting_contact_search_by_text' (see lushamcp_prospecting_contact_search_by_text)] Find business contacts by filters such as job title, seniority, department, and company attributes.
companyDomainsarrayoptionalLusha prospecting: filter by company domains (e.g., 'lusha.com').companyLocationsarrayoptionalLusha prospecting: filter by company locations. Use values from prospecting_company_filters (type='locations').companyNamesarrayoptionalLusha prospecting: filter by company names.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.countriesarrayoptionalLusha prospecting: ISO-2 country codes. Use values from prospecting_contact_filters (type='all_countries').departmentsarrayoptionalLusha prospecting: department names. Use values from prospecting_contact_filters (type='departments').excludeobjectoptionalOptional filters that exclude matching contacts/companies. Mirrors the include-side filters; any contact/company matching any exclude filter is dropped. Signals are not supported on the exclude side.existing_data_pointsarrayoptionalLusha prospecting: required data types on contacts. Use values from prospecting_contact_filters (type='existing_data_points').intentTopicsarrayoptionalLusha prospecting: filter by company intent topics. Use values from prospecting_company_filters (type='intent_topics').jobTitlesarrayoptionalLusha prospecting: contact job titles (free-form strings, e.g., 'VP of Sales').locationsarrayoptionalLusha prospecting: contact locations. Use values from prospecting_contact_filters (type='locations').mainIndustriesIdsarrayoptionalLusha prospecting: main industry IDs. Use values from prospecting_company_filters (type='industries_labels').naicsCodesarrayoptionalLusha prospecting: NAICS codes. Use values from prospecting_company_filters (type='naics').namesarrayoptionalLusha prospecting: contact names to include.pageintegeroptionalPage number for pagination (0-based) - use with page_size.page_sizeintegeroptionalItems per page (min 10, max 50, default 20) - use with page.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.revenuesarrayoptionalLusha prospecting: company revenue ranges (annual USD). Use values from prospecting_company_filters (type='revenues').searchTextstringoptionalLusha prospecting: free-text relevance hint across contact data. Layered on top of structured filters; not an exact match - broad or unrelated text can still return a large contact population. Prefer structured filters (jobTitles, seniority, departments, countries) for precision.seniorityarrayoptionalLusha prospecting: seniority level IDs. Use values from prospecting_contact_filters (type='seniority').sicsCodesarrayoptionalLusha prospecting: SIC codes. Use values from prospecting_company_filters (type='sics').signalsobjectoptionalPremium filter: narrow results to contacts with recent signal activity. Charges Lusha credits per signal type that returns results, in addition to base prospecting credits.sizesFilterOptionarrayoptionalLusha prospecting: company size ranges (employee count). Valid min/max ranges are returned by prospecting_company_filters (type='sizes').subIndustriesIdsarrayoptionalLusha prospecting: sub industry IDs. Use values from prospecting_company_filters (type='industries_labels').technologiesarrayoptionalLusha prospecting: filter by company technologies. Use values from prospecting_company_filters (type='technologies').lushamcp_prospecting_contact_search_by_text#Find contacts by describing the target audience in plain language; Lusha converts the text into structured prospecting filters server-side.4 params
Find contacts by describing the target audience in plain language; Lusha converts the text into structured prospecting filters server-side.
conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.pagination_tokenstringoptionalOpaque token returned by a prior call to this tool. Pass it back verbatim to fetch the NEXT page of that same search. Do not construct, edit, or guess it; only ever echo one this tool returned. When a response has no pagination_token, there are no more results.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.textstringoptionalLusha prospecting: a natural-language description of the target audience (e.g., 'CMOs from Apple and Google in California'). Lusha's server converts this text into structured prospecting filters and runs the search. 2-1024 characters. Provide this for a NEW search; omit it when paging with pagination_token.lushamcp_prospecting_search_guide#[STALE: upstream tool 'prospecting_search_guide' is no longer present in the live MCP tool list as of 2026-08-19; no equivalent replacement tool was found] Return a step-by-step guide for structuring Lusha prospecting searches.3 params
[STALE: upstream tool 'prospecting_search_guide' is no longer present in the live MCP tool list as of 2026-08-19; no equivalent replacement tool was found] Return a step-by-step guide for structuring Lusha prospecting searches.
conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.targetstringoptionalTarget entity type for Lusha search guidance (companies or contacts). If not specified, provides guidance for both.lushamcp_recommendations_companies#Return recommended companys ranked by lead, signal, and ICP-fit scores. OAuth-only; API key sessions receive a 403.5 params
Return recommended companys ranked by lead, signal, and ICP-fit scores. OAuth-only; API key sessions receive a 403.
conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.filtersobjectoptionalNo description.paginationobjectoptional0-based page index (0-1000) and page size (10-100); defaults to page 0 / size 25.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.sortarrayoptionalOrdering for the recommendations, up to 4 entries; all entries share a single direction (mixed asc/desc returns a 400).lushamcp_recommendations_companies_filters#Return the target ICPs and signal types accepted by recommendations_companys filters. OAuth-only; API key sessions receive a 403.2 params
Return the target ICPs and signal types accepted by recommendations_companys filters. OAuth-only; API key sessions receive a 403.
conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_recommendations_contacts#Return recommended contacts ranked by lead, signal, and ICP-fit scores. OAuth-only; API key sessions receive a 403.5 params
Return recommended contacts ranked by lead, signal, and ICP-fit scores. OAuth-only; API key sessions receive a 403.
conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.filtersobjectoptionalNo description.paginationobjectoptional0-based page index (0-1000) and page size (10-100); defaults to page 0 / size 25.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.sortarrayoptionalOrdering for the recommendations, up to 4 entries; all entries share a single direction (mixed asc/desc returns a 400).lushamcp_recommendations_contacts_filters#Return the target ICPs and signal types accepted by recommendations_contacts filters. OAuth-only; API key sessions receive a 403.2 params
Return the target ICPs and signal types accepted by recommendations_contacts filters. OAuth-only; API key sessions receive a 403.
conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_signal_score_companies#Score known companies (batch of 1-50) by their currently active buying signals.3 params
Score known companies (batch of 1-50) by their currently active buying signals.
companiesarrayrequiredCompanies to score (1-50). Each entry has exactly one identifier (id, domain, name, or email) plus an optional clientReferenceId.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_signal_score_contacts#Score known contacts (batch of 1-50) by their currently active buying signals.3 params
Score known contacts (batch of 1-50) by their currently active buying signals.
contactsarrayrequiredContacts to score (1-50). Each entry uses one lookup path (id | linkedinUrl | email | firstName + lastName + (companyName | companyDomain)) plus an optional clientReferenceId.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_signals_companies_get#Return recent activity signals (hiring, headcount, IT spend, news) for known Lusha company IDs.8 params
Return recent activity signals (hiring, headcount, IT spend, news) for known Lusha company IDs.
companyIdsarrayrequiredLusha company IDs (1-25 per request). Capped at 25 to fit the 25k-token response budget once signal events are merged; split larger lists into multiple calls.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.filtersobjectoptionalOptional filters narrowing news/hiring company signal results. Pair with 'riskNews', 'commercialActivityNews', etc. (newsEventTypes) and 'surgeInHiringByDepartment' / 'surgeInHiringByLocation' (hiringByDepartments / hiringByLocations).maxResultsPerSignalintegeroptionalMaximum number of signal instances per signal type per company (1-100). Defaults to 10 when omitted.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.signalsarrayoptionalDeprecated: use 'signalTypes'. Kept for backward compatibility; will be removed in a future release.signalTypesarrayoptionalCompany signal type identifiers (e.g., 'surgeInHiring', 'headcountIncrease3m', 'riskNews'); 'allSignals' selects every supported type. Source of truth: signals_company_filters - resolve valid values from there before calling. Invalid values return a 400 from the Lusha API.startDatestringoptionalStart date for signal retrieval (YYYY-MM-DD). Must be a valid calendar date and not in the future. Defaults to last 6 months when omitted.lushamcp_signals_companies_search#Resolve companies by domain or name and return their recent activity signals.8 params
Resolve companies by domain or name and return their recent activity signals.
companiesarrayrequiredCompanies to identify and enrich with signals (1-25 per request). Capped at 25 to fit the 25k-token response budget once signal events are merged.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.filtersobjectoptionalOptional filters narrowing news/hiring company signal results. Pair with 'riskNews', 'commercialActivityNews', etc. (newsEventTypes) and 'surgeInHiringByDepartment' / 'surgeInHiringByLocation' (hiringByDepartments / hiringByLocations).maxResultsPerSignalintegeroptionalMaximum number of signal instances per signal type per company (1-100). Defaults to 10 when omitted.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.signalsarrayoptionalDeprecated: use 'signalTypes'. Kept for backward compatibility; will be removed in a future release.signalTypesarrayoptionalCompany signal type identifiers (e.g., 'surgeInHiring', 'headcountIncrease3m', 'riskNews'); 'allSignals' selects every supported type. Source of truth: signals_company_filters - resolve valid values from there before calling. Invalid values return a 400 from the Lusha API.startDatestringoptionalStart date for signal retrieval (YYYY-MM-DD). Must be a valid calendar date and not in the future. Defaults to last 6 months when omitted.lushamcp_signals_company_filters#Discover available company signal types and filter values for signals searches.4 params
Discover available company signal types and filter values for signals searches.
conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.filterTypestringoptionalOptional. Omit to discover signal types and the directory of available filter types. Set to fetch values for a single filter (e.g., 'newsEventTypes', 'hiringByDepartments', 'hiringByLocations').querystringoptionalSearch text. Required when filterType is 'hiringByLocations' (locations are not enumerable). Not supported for other filterTypes or when filterType is omitted.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_signals_contact_filters#Return available contact signal types accepted by contacts signals tools.2 params
Return available contact signal types accepted by contacts signals tools.
conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_signals_contacts_get#Return recent activity signals (promotions, company changes) for known Lusha contact IDs.7 params
Return recent activity signals (promotions, company changes) for known Lusha contact IDs.
contactIdsarrayrequiredLusha contact IDs (1-25 per request). Capped at 25 to fit the 25k-token response budget once signal events are merged; split larger lists into multiple calls.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.maxResultsPerSignalintegeroptionalMaximum number of signal instances per signal type per contact (1-100). Defaults to 10 when omitted.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.signalsarrayoptionalDeprecated: use 'signalTypes'. Kept for backward compatibility; will be removed in a future release.signalTypesarrayoptionalContact signal type identifiers (e.g., 'allSignals', 'promotion', 'companyChange'). Source of truth: signals_contact_filters - resolve valid values from there before calling. Invalid values return a 400 from the Lusha API.startDatestringoptionalStart date for signal retrieval (YYYY-MM-DD). Must be a valid calendar date and not in the future. Defaults to last 6 months when omitted.lushamcp_signals_contacts_search#Resolve contacts by LinkedIn URL, email, or name and return their recent activity signals.7 params
Resolve contacts by LinkedIn URL, email, or name and return their recent activity signals.
contactsarrayrequiredContacts to identify and enrich with signals (1-25 per request). Capped at 25 to fit the 25k-token response budget once signal events are merged.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.maxResultsPerSignalintegeroptionalMaximum number of signal instances per signal type per contact (1-100). Defaults to 10 when omitted.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.signalsarrayoptionalDeprecated: use 'signalTypes'. Kept for backward compatibility; will be removed in a future release.signalTypesarrayoptionalContact signal type identifiers (e.g., 'allSignals', 'promotion', 'companyChange'). Source of truth: signals_contact_filters - resolve valid values from there before calling. Invalid values return a 400 from the Lusha API.startDatestringoptionalStart date for signal retrieval (YYYY-MM-DD). Must be a valid calendar date and not in the future. Defaults to last 6 months when omitted.lushamcp_table_add_column#Add a column (Lusha datapoint, CRM, signal, AI, or score) to a Workspace table, optionally running it immediately.11 params
Add a column (Lusha datapoint, CRM, signal, AI, or score) to a Workspace table, optionally running it immediately.
entity_typestringrequiredWhich Lusha entity the table holds: 'contacts' or 'companies'. Routes the call to /v3/contacts/* or /v3/companies/*; a table only ever holds one entity type.namestringrequiredDisplay name of the column (1-255 chars).table_idstringrequiredTarget Workspace table id (UUID). Resolve it from table_list or a create response.typestringrequiredColumn category: 'lusha' (a Lusha datapoint via `key`), 'crm', 'signal', 'ai' (prompt in `meta`), or 'score'.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.emailstringoptionalOwner email: the user in the account that owns the table (the API resolves it to a userId). Needed only when the credential has no associated user, such as an API key that does not resolve to a specific user. With OAuth, or an API key already scoped to a user, the caller's own userId identifies the owner and email can be omitted; it may still be passed to act on behalf of another owner.entity_idsarrayoptionalEntity ids to run when run_scope='specific'.keystringoptionalData key/datapoint for a 'lusha' column (e.g. 'jobTitle', 'emailAddress').metaobjectoptionalExtra column configuration (AI prompt, signal id, score config, etc.).reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.run_scopestringoptionalRun the column immediately after creation (defaults to 'none').lushamcp_table_add_entities#Add known Lusha entity ids (contacts or companies) to a Workspace table; duplicates are deduped.7 params
Add known Lusha entity ids (contacts or companies) to a Workspace table; duplicates are deduped.
entity_idsarrayrequiredLusha entity ids to add (deduped automatically). Up to 500 per call.entity_typestringrequiredWhich Lusha entity the table holds: 'contacts' or 'companies'. Routes the call to /v3/contacts/* or /v3/companies/*; a table only ever holds one entity type.table_idstringrequiredTarget Workspace table id (UUID). Resolve it from table_list or a create response.company_idsarrayoptionalContacts tables only: lushaCompanyId per contact, index-aligned with entity_ids, so the workspace can enrich the contact (person + company pair). Ignored for companies tables.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.emailstringoptionalOwner email: the user in the account that owns the table (the API resolves it to a userId). Needed only when the credential has no associated user, such as an API key that does not resolve to a specific user. With OAuth, or an API key already scoped to a user, the caller's own userId identifies the owner and email can be omitted; it may still be passed to act on behalf of another owner.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_table_create#Create an empty Workspace table (contacts or companies) to collect and enrich saved records.6 params
Create an empty Workspace table (contacts or companies) to collect and enrich saved records.
entity_typestringrequiredWhich Lusha entity the table holds: 'contacts' or 'companies'. Routes the call to /v3/contacts/* or /v3/companies/*; a table only ever holds one entity type.namestringrequiredTable name (1-255 chars).conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.emailstringoptionalOwner email: the user in the account that owns the table (the API resolves it to a userId). Needed only when the credential has no associated user, such as an API key that does not resolve to a specific user. With OAuth, or an API key already scoped to a user, the caller's own userId identifies the owner and email can be omitted; it may still be passed to act on behalf of another owner.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.visibilitystringoptionalTable visibility: 'private' (default) or 'shared' with the account.lushamcp_table_delete#Permanently delete a Workspace table and its rows/columns.5 params
Permanently delete a Workspace table and its rows/columns.
entity_typestringrequiredWhich Lusha entity the table holds: 'contacts' or 'companies'. Routes the call to /v3/contacts/* or /v3/companies/*; a table only ever holds one entity type.table_idstringrequiredTarget Workspace table id (UUID). Resolve it from table_list or a create response.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.emailstringoptionalOwner email: the user in the account that owns the table (the API resolves it to a userId). Needed only when the credential has no associated user, such as an API key that does not resolve to a specific user. With OAuth, or an API key already scoped to a user, the caller's own userId identifies the owner and email can be omitted; it may still be passed to act on behalf of another owner.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_table_get_entities#Read a page of a Workspace table's rows, including populated column values.7 params
Read a page of a Workspace table's rows, including populated column values.
entity_typestringrequiredWhich Lusha entity the table holds: 'contacts' or 'companies'. Routes the call to /v3/contacts/* or /v3/companies/*; a table only ever holds one entity type.table_idstringrequiredTarget Workspace table id (UUID). Resolve it from table_list or a create response.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.emailstringoptionalOwner email: the user in the account that owns the table (the API resolves it to a userId). Needed only when the credential has no associated user, such as an API key that does not resolve to a specific user. With OAuth, or an API key already scoped to a user, the caller's own userId identifies the owner and email can be omitted; it may still be passed to act on behalf of another owner.pageintegeroptionalPage number (0-based, max 100).page_sizeintegeroptionalItems per page (1-100, default 100).reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_table_list#List the caller's Workspace contacts or companies tables with pagination and name/status filters.8 params
List the caller's Workspace contacts or companies tables with pagination and name/status filters.
entity_typestringrequiredWhich Lusha entity the table holds: 'contacts' or 'companies'. Routes the call to /v3/contacts/* or /v3/companies/*; a table only ever holds one entity type.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.emailstringoptionalFilter to tables owned by this email. REQUIRED when authenticating with an API key (there is no signed-in user to default to); with OAuth the caller is identified by the token, so it is optional and defaults to the caller.namestringoptionalFilter by name (substring match).pageintegeroptionalPage number (0-based, max 100).page_sizeintegeroptionalItems per page (1-100, default 100).reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.statusstringoptionalFilter tables by lifecycle status.lushamcp_table_list_columns#List a Workspace table's columns with per-status row counts.5 params
List a Workspace table's columns with per-status row counts.
entity_typestringrequiredWhich Lusha entity the table holds: 'contacts' or 'companies'. Routes the call to /v3/contacts/* or /v3/companies/*; a table only ever holds one entity type.table_idstringrequiredTarget Workspace table id (UUID). Resolve it from table_list or a create response.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.emailstringoptionalOwner email: the user in the account that owns the table (the API resolves it to a userId). Needed only when the credential has no associated user, such as an API key that does not resolve to a specific user. With OAuth, or an API key already scoped to a user, the caller's own userId identifies the owner and email can be omitted; it may still be passed to act on behalf of another owner.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_table_remove_column#Remove a non-default column from a Workspace table.6 params
Remove a non-default column from a Workspace table.
column_idstringrequiredColumn id to remove (from table_list_columns).entity_typestringrequiredWhich Lusha entity the table holds: 'contacts' or 'companies'. Routes the call to /v3/contacts/* or /v3/companies/*; a table only ever holds one entity type.table_idstringrequiredTarget Workspace table id (UUID). Resolve it from table_list or a create response.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.emailstringoptionalOwner email: the user in the account that owns the table (the API resolves it to a userId). Needed only when the credential has no associated user, such as an API key that does not resolve to a specific user. With OAuth, or an API key already scoped to a user, the caller's own userId identifies the owner and email can be omitted; it may still be passed to act on behalf of another owner.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_table_remove_entities#Remove rows (by Lusha entity id) from a Workspace table.6 params
Remove rows (by Lusha entity id) from a Workspace table.
entity_idsarrayrequiredLusha entity ids to remove. Up to 500 per call.entity_typestringrequiredWhich Lusha entity the table holds: 'contacts' or 'companies'. Routes the call to /v3/contacts/* or /v3/companies/*; a table only ever holds one entity type.table_idstringrequiredTarget Workspace table id (UUID). Resolve it from table_list or a create response.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.emailstringoptionalOwner email: the user in the account that owns the table (the API resolves it to a userId). Needed only when the credential has no associated user, such as an API key that does not resolve to a specific user. With OAuth, or an API key already scoped to a user, the caller's own userId identifies the owner and email can be omitted; it may still be passed to act on behalf of another owner.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_table_run_column#Run (populate) a Workspace table column across all, missing-only, or specific rows.8 params
Run (populate) a Workspace table column across all, missing-only, or specific rows.
column_idstringrequiredColumn id to run (from table_list_columns).entity_typestringrequiredWhich Lusha entity the table holds: 'contacts' or 'companies'. Routes the call to /v3/contacts/* or /v3/companies/*; a table only ever holds one entity type.run_scopestringrequiredWhich rows to run: 'all', 'missing', or 'specific' (requires entity_ids).table_idstringrequiredTarget Workspace table id (UUID). Resolve it from table_list or a create response.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.emailstringoptionalOwner email: the user in the account that owns the table (the API resolves it to a userId). Needed only when the credential has no associated user, such as an API key that does not resolve to a specific user. With OAuth, or an API key already scoped to a user, the caller's own userId identifies the owner and email can be omitted; it may still be passed to act on behalf of another owner.entity_idsarrayoptionalEntity ids to run when run_scope='specific'.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_table_status#Return one Workspace table's entity count and per-column run aggregates (processing/success/failed rows).5 params
Return one Workspace table's entity count and per-column run aggregates (processing/success/failed rows).
entity_typestringrequiredWhich Lusha entity the table holds: 'contacts' or 'companies'. Routes the call to /v3/contacts/* or /v3/companies/*; a table only ever holds one entity type.table_idstringrequiredTarget Workspace table id (UUID). Resolve it from table_list or a create response.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.emailstringoptionalOwner email: the user in the account that owns the table (the API resolves it to a userId). Needed only when the credential has no associated user, such as an API key that does not resolve to a specific user. With OAuth, or an API key already scoped to a user, the caller's own userId identifies the owner and email can be omitted; it may still be passed to act on behalf of another owner.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.lushamcp_table_update#Rename a Workspace table, change its visibility, or archive/unarchive it.8 params
Rename a Workspace table, change its visibility, or archive/unarchive it.
entity_typestringrequiredWhich Lusha entity the table holds: 'contacts' or 'companies'. Routes the call to /v3/contacts/* or /v3/companies/*; a table only ever holds one entity type.table_idstringrequiredTarget Workspace table id (UUID). Resolve it from table_list or a create response.archivedbooleanoptionalArchive (true) or unarchive (false) the table.conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.emailstringoptionalOwner email: the user in the account that owns the table (the API resolves it to a userId). Needed only when the credential has no associated user, such as an API key that does not resolve to a specific user. With OAuth, or an API key already scoped to a user, the caller's own userId identifies the owner and email can be omitted; it may still be passed to act on behalf of another owner.namestringoptionalNew table name (1-255 chars).reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.visibilitystringoptionalTable visibility: 'private' (default) or 'shared' with the account.lushamcp_website_visits_search#Rank companies that visited the account's tracked websites by visit engagement.8 params
Rank companies that visited the account's tracked websites by visit engagement.
conversation_idstringoptionalConversation correlation ID. Present only when an earlier tool response in this conversation returned one; that value is carried unchanged on subsequent calls. Omitted on the first call.domainsarrayoptionalTracked domains configured in the dashboard. Omit to use all configured tracked sites for the account.endDatestringoptionalWindow end (YYYY-MM-DD). Optional; defaults to today (UTC). The resolved range cannot exceed 3 months.filtersobjectoptionalOptional behavioral filters applied to the ranking.paginationobjectoptionalPagination. Defaults to page 0, size 25.reason_for_invocationstringoptionalBrief explanation of why you chose this tool for the current task. Optional audit field; max 500 characters (longer values are truncated). Plain text only.sortobjectoptionalOptional sort field and direction.startDatestringoptionalWindow start (YYYY-MM-DD). Optional; defaults to 30 days before endDate.