Built by an Australian recruiter who replaced their entire prospecting stack with one platform. This MCP server gives Claude access to Kolvera's sales intelligence engine: search and enrich contacts with verified emails and direct dials, run AI email campaigns, scrape hiring signals from SEEK, Indeed, and LinkedIn, manage pipeline and hot lists, and run deep research that discovers companies matching your ICP. Over 100 MCP tools exposing contact search, enrichment, campaign management, and market research. Useful when you're doing outbound sales or recruitment and want your AI assistant to handle prospecting without switching between ten different browser tabs. Works with your existing Kolvera credits, no separate API charge.
Public tool metadata for what this MCP can expose to an agent.
search_contactsSearch your Kolvera contacts by name, title, email, or company. Filters: has_email (yes/no), has_phone (yes/no), is_prospect (true/false), is_candidate (true/false), state (AU state abbreviation: NSW, VIC, QLD, SA, WA, TAS, ACT, NT). sort: field to sort by (default: created_at...10 paramsSearch your Kolvera contacts by name, title, email, or company. Filters: has_email (yes/no), has_phone (yes/no), is_prospect (true/false), is_candidate (true/false), state (AU state abbreviation: NSW, VIC, QLD, SA, WA, TAS, ACT, NT). sort: field to sort by (default: created_at...
pageintegersortstringorderstringquerystringstatestringper_pageintegerhas_emailstringhas_phonestringis_prospectvalueis_candidatevalueget_contactGet full details for a single contact by ID.1 paramsGet full details for a single contact by ID.
contact_idstringcreate_contactCreate a new contact. Auto-links or creates company if company_name provided. Use this when enrichment providers return 0 contacts for a company. Manually create contacts from LinkedIn profiles or team pages, then call find_contact_email to discover their email. This is the hi...9 paramsCreate a new contact. Auto-links or creates company if company_name provided. Use this when enrichment providers return 0 contacts for a company. Manually create contacts from LinkedIn profiles or team pages, then call find_contact_email to discover their email. This is the hi...
emailstringphonestringtitlestringlocationstringlast_namestringfirst_namestringis_prospectbooleancompany_namestringlinkedin_urlstringupdate_contactUpdate a contact's fields. Only pass fields you want to change.13 paramsUpdate a contact's fields. Only pass fields you want to change.
emailvaluenotesvaluephonevaluestatevaluetitlevaluelocationvaluelast_namevaluecontact_idstringfirst_namevalueis_prospectvaluetarget_rolevalueis_candidatevaluelinkedin_urlvaluedelete_contactDelete a contact and clean up all foreign key references. WARNING: This is destructive and cannot be undone. The contact is permanently removed along with their campaign enrollments, email logs, and other linked records.1 paramsDelete a contact and clean up all foreign key references. WARNING: This is destructive and cannot be undone. The contact is permanently removed along with their campaign enrollments, email logs, and other linked records.
contact_idstringfind_contact_emailFind email for a contact via multi-provider waterfall enrichment. Works best when the contact has first_name + last_name + company (with domain). The enrichment waterfall uses name + domain to guess and verify email patterns (e.g. john.smith@agency.com.au). For companies where...1 paramsFind email for a contact via multi-provider waterfall enrichment. Works best when the contact has first_name + last_name + company (with domain). The enrichment waterfall uses name + domain to guess and verify email patterns (e.g. john.smith@agency.com.au). For companies where...
contact_idstringfind_contact_phoneFind phone number for a contact via waterfall enrichment. Cost varies: 6cr direct dial, 2cr company line, 0cr if cached/BYOK.1 paramsFind phone number for a contact via waterfall enrichment. Cost varies: 6cr direct dial, 2cr company line, 0cr if cached/BYOK.
contact_idstringget_credit_balanceCheck your current credit balance (plan + addon).Check your current credit balance (plan + addon).
No parameter schema in public metadata yet.
get_credit_historyGet credit transaction history. Shows every credit charge and grant. Filter by action type: email_enrichment, phone_direct_dial, phone_company_line, deep_research, icp_generation, mpc_generation, monthly_grant, top_up.3 paramsGet credit transaction history. Shows every credit charge and grant. Filter by action type: email_enrichment, phone_direct_dial, phone_company_line, deep_research, icp_generation, mpc_generation, monthly_grant, top_up.
pageintegeractionstringper_pageintegerlist_business_contextsList all business contexts for the current user. Each has a name, context text, language, and is_primary flag. The primary context is used by default for ICP generation, campaigns, and AI messages unless overridden.List all business contexts for the current user. Each has a name, context text, language, and is_primary flag. The primary context is used by default for ICP generation, campaigns, and AI messages unless overridden.
No parameter schema in public metadata yet.
create_business_contextCreate a new business context for a recruitment agency. IMPORTANT: populate ALL fields, not just 'what'. Each field drives AI email generation and ICP targeting. - name: business/agency name - what: what they sell (e.g. "Permanent IT recruitment across Sydney and Melbourne") -...10 paramsCreate a new business context for a recruitment agency. IMPORTANT: populate ALL fields, not just 'what'. Each field drives AI email generation and ICP targeting. - name: business/agency name - what: what they sell (e.g. "Permanent IT recruitment across Sydney and Melbourne") -...
edgestringnamestringwhatstringvoicestringbuyersstringpricingstringworkflowstringset_as_primarybooleancontent_languagestringcompetitive_alternativestringcreate_business_context_from_websiteCreate a business context by importing from a website URL. Fetches the page, extracts content with AI, and populates all 7 structured fields automatically. - name: business/agency name - url: website URL (e.g. "apexrecruitment.com.au" — https:// added if missing)4 paramsCreate a business context by importing from a website URL. Fetches the page, extracts content with AI, and populates all 7 structured fields automatically. - name: business/agency name - url: website URL (e.g. "apexrecruitment.com.au" — https:// added if missing)
urlstringnamestringset_as_primarybooleancontent_languagestringupdate_business_contextUpdate a business context by name or ID. Pass the current name or ID in the business_context parameter to identify which context to update. Only provided non-empty fields are updated. Context text is auto-reassembled. Fields: what, buyers, workflow, competitive_alternative, pr...10 paramsUpdate a business context by name or ID. Pass the current name or ID in the business_context parameter to identify which context to update. Only provided non-empty fields are updated. Context text is auto-reassembled. Fields: what, buyers, workflow, competitive_alternative, pr...
edgestringnamestringwhatstringvoicestringbuyersstringpricingstringworkflowstringbusiness_contextstringcontent_languagestringcompetitive_alternativestringdelete_business_contextDelete a business context by name or ID. Cannot delete the primary if it's the only one — set another as primary first.1 paramsDelete a business context by name or ID. Cannot delete the primary if it's the only one — set another as primary first.
name_or_idstringset_primary_business_contextSet a business context as primary by name or ID. The primary context is used by default for all AI generation (ICP, campaigns, messages, briefs).1 paramsSet a business context as primary by name or ID. The primary context is used by default for all AI generation (ICP, campaigns, messages, briefs).
name_or_idstringsearch_companiesSearch your companies by name, domain, industry, or location. Multi-word queries match across fields (e.g. "Sydney manufacturing" finds manufacturing companies in Sydney). Filters: industry, location (city/suburb), state (e.g. NSW/VIC), bd_status (prospect/contacted/client).7 paramsSearch your companies by name, domain, industry, or location. Multi-word queries match across fields (e.g. "Sydney manufacturing" finds manufacturing companies in Sydney). Filters: industry, location (city/suburb), state (e.g. NSW/VIC), bd_status (prospect/contacted/client).
pageintegerquerystringstatestringindustrystringlocationstringper_pageintegerbd_statusstringget_companyGet full details for a single company by ID, including contact count.1 paramsGet full details for a single company by ID, including contact count.
company_idstringget_company_contactsList all contacts at a specific company.3 paramsList all contacts at a specific company.
pageintegerper_pageintegercompany_idstringupdate_companyUpdate a company's fields. Only pass fields you want to change.14 paramsUpdate a company's fields. Only pass fields you want to change.
abnvaluenamevaluenotesvaluephonevaluedomainvaluewebsitevaluehq_statevalueindustryvaluebd_statusvaluecompany_idstringhq_locationvaluelinkedin_urlvaluedo_not_contactvalueemployee_countvalueresearch_companyRun AI research on a company (1 credit). Uses web search + AI to discover hiring signals, growth indicators, industry context, and company info. Fills in empty profile fields (industry, location, employee count, domain, phone, LinkedIn).1 paramsRun AI research on a company (1 credit). Uses web search + AI to discover hiring signals, growth indicators, industry context, and company info. Fills in empty profile fields (industry, location, employee count, domain, phone, LinkedIn).
company_idstringfind_company_contactsFind contacts (decision-makers) at a company — dispatches async, poll with get_enrichment_job. Searches LinkedIn + enrichment providers for people at the company. Creates contacts with verified emails. 2 credits per contact with verified email. Returns a job_key immediately. P...2 paramsFind contacts (decision-makers) at a company — dispatches async, poll with get_enrichment_job. Searches LinkedIn + enrichment providers for people at the company. Creates contacts with verified emails. 2 credits per contact with verified email. Returns a job_key immediately. P...
icp_idstringcompany_idstringfind_company_candidatesFind candidates at a company by searching LinkedIn — dispatches async, poll with get_enrichment_job. Searches LinkedIn for people matching target roles at the company. Returns a job_key immediately. Poll get_enrichment_job(job_key) every 30s until status is "complete". LinkedI...4 paramsFind candidates at a company by searching LinkedIn — dispatches async, poll with get_enrichment_job. Searches LinkedIn for people matching target roles at the company. Returns a job_key immediately. Poll get_enrichment_job(job_key) every 30s until status is "complete". LinkedI...
icp_idstringmpc_idstringcompany_idstringtarget_rolesarraybatch_find_contactsFind contacts at multiple companies — dispatches async, poll with get_enrichment_job. Pass up to 20 company IDs. Each company costs 2cr per contact found with a verified email. Returns a job_key immediately. Poll get_enrichment_job(job_key) every 15-30s until status is "comple...2 paramsFind contacts at multiple companies — dispatches async, poll with get_enrichment_job. Pass up to 20 company IDs. Each company costs 2cr per contact found with a verified email. Returns a job_key immediately. Poll get_enrichment_job(job_key) every 15-30s until status is "comple...
icp_idstringcompany_idsarraybatch_find_candidatesFind candidates at multiple companies — dispatches async, poll with get_enrichment_job. Pass up to 10 company IDs. LinkedIn scraping takes 30-60s per company. Returns a job_key immediately. Poll get_enrichment_job(job_key) every 30s. Specify target roles directly OR pass mpc_i...4 paramsFind candidates at multiple companies — dispatches async, poll with get_enrichment_job. Pass up to 10 company IDs. LinkedIn scraping takes 30-60s per company. Returns a job_key immediately. Poll get_enrichment_job(job_key) every 30s. Specify target roles directly OR pass mpc_i...
icp_idstringmpc_idstringcompany_idsarraytarget_rolesarraydelete_companyPermanently delete a company and all its contacts, jobs, and signals. WARNING: Destructive. Set confirm=True to execute. Without confirm, returns a preview with contact count.2 paramsPermanently delete a company and all its contacts, jobs, and signals. WARNING: Destructive. Set confirm=True to execute. Without confirm, returns a preview with contact count.
confirmbooleancompany_idstringlist_campaignsList your email campaigns with performance stats. Filter by status: draft, active, paused, completed.3 paramsList your email campaigns with performance stats. Filter by status: draft, active, paused, completed.
pageintegerstatusstringper_pageintegerget_campaignGet campaign details including email steps and performance stats.1 paramsGet campaign details including email steps and performance stats.
campaign_idstringget_campaign_statsGet campaign performance metrics: sent, opened, replied, bounced, rates. For A/B or A/B/C campaigns, returns a "variants" object with per-variant stats (enrolled, sent, opened, replied, open_rate, reply_rate) keyed by variant letter (A, B, C). Always compare variants individua...1 paramsGet campaign performance metrics: sent, opened, replied, bounced, rates. For A/B or A/B/C campaigns, returns a "variants" object with per-variant stats (enrolled, sent, opened, replied, open_rate, reply_rate) keyed by variant letter (A, B, C). Always compare variants individua...
campaign_idstringpause_campaignPause an active campaign. Stops all scheduled sends.1 paramsPause an active campaign. Stops all scheduled sends.
campaign_idstringresume_campaignResume a paused campaign. Resumes scheduled sends.1 paramsResume a paused campaign. Resumes scheduled sends.
campaign_idstringcreate_campaignCreate a new draft campaign. Optionally link an ICP for AI step generation. Verticals: recruitment, b2b_sales, it_msp, hr_consulting, commercial_cleaning, custom. variant_mode: "none" (single version), "ab" (A/B test), "abc" (A/B/C test). language: ISO 639-1 code to override a...9 paramsCreate a new draft campaign. Optionally link an ICP for AI step generation. Verticals: recruitment, b2b_sales, it_msp, hr_consulting, commercial_cleaning, custom. variant_mode: "none" (single version), "ab" (A/B test), "abc" (A/B/C test). language: ISO 639-1 code to override a...
namestringicp_idstringlanguagestringverticalstringdaily_limitintegertrack_opensbooleanvariant_modestringstop_on_replybooleanbusiness_contextstringupdate_campaignUpdate a draft or paused campaign's settings (name, daily limit, variant mode, ICP link, language). Only works on draft campaigns. Pass only the fields you want to change. variant_mode: "none", "ab", or "abc". language: ISO 639-1 code (e.g. "ja", "ko", "zh"). Pass "default" to...8 paramsUpdate a draft or paused campaign's settings (name, daily limit, variant mode, ICP link, language). Only works on draft campaigns. Pass only the fields you want to change. variant_mode: "none", "ab", or "abc". language: ISO 639-1 code (e.g. "ja", "ko", "zh"). Pass "default" to...
namestringicp_idstringlanguagestringcampaign_idstringdaily_limitintegertrack_opensvaluevariant_modestringstop_on_replyvalueduplicate_campaignClone a campaign with all steps into a new draft. No enrollments copied. Use for A/B testing different ICPs or audiences with the same email sequence.3 paramsClone a campaign with all steps into a new draft. No enrollments copied. Use for A/B testing different ICPs or audiences with the same email sequence.
new_namestringnew_icp_idstringcampaign_idstringupdate_campaign_stepEdit a single campaign step's subject line, body text, or send delay. Works on draft or paused campaigns. Pass only the fields you want to change. Use get_campaign to find step IDs first.4 paramsEdit a single campaign step's subject line, body text, or send delay. Works on draft or paused campaigns. Pass only the fields you want to change. Use get_campaign to find step IDs first.
bodystringstep_idstringsubjectstringdelay_daysintegercreate_campaign_stepCreate a single campaign step. Campaign must be draft or paused. Use after deleting a step to re-add it, or to add extra steps manually. If step_number conflicts with an existing step, auto-appends to the end.6 paramsCreate a single campaign step. Campaign must be draft or paused. Use after deleting a step to re-add it, or to add extra steps manually. If step_number conflicts with an existing step, auto-appends to the end.
bodystringsubjectstringvariantstringdelay_daysintegercampaign_idstringstep_numberintegerdelete_campaign_stepDelete a single campaign step. Works on draft or paused campaigns. Remaining steps in the same variant are renumbered automatically.1 paramsDelete a single campaign step. Works on draft or paused campaigns. Remaining steps in the same variant are renumbered automatically.
step_idstringgenerate_campaign_stepsGenerate AI email steps for a draft or paused campaign (async). Dispatches step generation in the background. Returns immediately with status: "generating" and retry_after_seconds. Poll get_campaign_generation_status to check when steps are ready. Creates a multi-step cold ema...3 paramsGenerate AI email steps for a draft or paused campaign (async). Dispatches step generation in the background. Returns immediately with status: "generating" and retry_after_seconds. Poll get_campaign_generation_status to check when steps are ready. Creates a multi-step cold ema...
num_stepsintegerstep_hintsvaluecampaign_idstringget_campaign_generation_statusCheck if campaign step generation is complete. Returns status (generating/complete/failed/idle) and steps when complete.1 paramsCheck if campaign step generation is complete. Returns status (generating/complete/failed/idle) and steps when complete.
campaign_idstringenrol_contacts_in_campaignEnrol contacts into a campaign. Skips duplicates, blocklisted, and DNC contacts. Returns count of enrolled vs skipped with skip reasons. Note: contacts without a first_name are fine to enrol. Kolvera automatically falls back to "Hi there," when first_name is empty — merge tags...2 paramsEnrol contacts into a campaign. Skips duplicates, blocklisted, and DNC contacts. Returns count of enrolled vs skipped with skip reasons. Note: contacts without a first_name are fine to enrol. Kolvera automatically falls back to "Hi there," when first_name is empty — merge tags...
campaign_idstringcontact_idsarrayactivate_campaignActivate a draft campaign so it starts sending emails. SAFETY: Call without confirm first — returns a preview with enrolled count and step count. Call again with confirm=True to actually activate and send. Prerequisites (checked automatically): at least one email step, at leas...2 paramsActivate a draft campaign so it starts sending emails. SAFETY: Call without confirm first — returns a preview with enrolled count and step count. Call again with confirm=True to actually activate and send. Prerequisites (checked automatically): at least one email step, at leas...
confirmbooleancampaign_idstringdelete_campaignDelete a campaign and all its steps, enrollments, and email logs. Only works on draft or paused campaigns. Active campaigns must be paused first. This is destructive and cannot be undone.1 paramsDelete a campaign and all its steps, enrollments, and email logs. Only works on draft or paused campaigns. Active campaigns must be paused first. This is destructive and cannot be undone.
campaign_idstringunenrol_from_campaignRemove contacts from a campaign. Sets their enrollment to 'removed'. Only affects active or paused enrollments. Completed or bounced enrollments are not changed. The enrollment record is preserved for audit trail — the contact is not deleted.2 paramsRemove contacts from a campaign. Sets their enrollment to 'removed'. Only affects active or paused enrollments. Completed or bounced enrollments are not changed. The enrollment record is preserved for audit trail — the contact is not deleted.
campaign_idstringcontact_idsarraylist_inboxesList your connected email inboxes available for campaign assignment. Returns inbox IDs, labels, emails, and types (smtp/oauth_gmail/oauth_microsoft). Use these IDs with assign_inbox_to_campaign before activating a campaign.List your connected email inboxes available for campaign assignment. Returns inbox IDs, labels, emails, and types (smtp/oauth_gmail/oauth_microsoft). Use these IDs with assign_inbox_to_campaign before activating a campaign.
No parameter schema in public metadata yet.
assign_inbox_to_campaignAssign email inboxes to a campaign for sending. At least one inbox must be assigned before a campaign can be activated. Replaces any existing inbox assignments. Use list_inboxes to find IDs.2 paramsAssign email inboxes to a campaign for sending. At least one inbox must be assigned before a campaign can be activated. Replaces any existing inbox assignments. Use list_inboxes to find IDs.
inbox_idsarraycampaign_idstringsearch_pipeline_jobsSearch scraped job listings in your pipeline. Multi-word queries are tokenised — each word must match (AND) across title, company, or location. Filter by status (new/shortlisted/applied), state (NSW/VIC), sector, source (seek_scrape/indeed_scrape/linkedin_scrape/reed_scrape)....9 paramsSearch scraped job listings in your pipeline. Multi-word queries are tokenised — each word must match (AND) across title, company, or location. Filter by status (new/shortlisted/applied), state (NSW/VIC), sector, source (seek_scrape/indeed_scrape/linkedin_scrape/reed_scrape)....
pageintegerquerystringstatevalueicp_idstringsectorvaluesourcevaluestatusvalueper_pageintegercreated_afterstringget_pipeline_jobGet full details for a pipeline job listing.1 paramsGet full details for a pipeline job listing.
job_idstringrun_job_scrapeScrape job boards for live listings. Creates a search config and starts the scrape. Sources: "seek", "indeed", "linkedin", "reed". Keywords: list of search terms, e.g. ["UX designer", "product designer"]. Locations: list like ["Sydney", "Melbourne"]. Defaults to all Australia....10 paramsScrape job boards for live listings. Creates a search config and starts the scrape. Sources: "seek", "indeed", "linkedin", "reed". Keywords: list of search terms, e.g. ["UX designer", "product designer"]. Locations: list like ["Sydney", "Melbourne"]. Defaults to all Australia....
namestringicp_idstringsectorstringsourcestringkeywordsvaluelocationsvalueexclude_keywordsvalueexclude_companiesvalueskip_agency_filterbooleanseek_classificationstringget_scrape_progressCheck progress of a running job scrape. Source: "seek", "indeed", "linkedin", or "reed". Leave empty to check all. Returns percent complete, jobs found so far, status, and retry_after_seconds.1 paramsCheck progress of a running job scrape. Source: "seek", "indeed", "linkedin", or "reed". Leave empty to check all. Returns percent complete, jobs found so far, status, and retry_after_seconds.
sourcestringlist_scrape_configsList saved search configurations (scrape presets). Returns configs with keywords, locations, last scrape time, and stats. Use include_archived=True to see archived configs too.3 paramsList saved search configurations (scrape presets). Returns configs with keywords, locations, last scrape time, and stats. Use include_archived=True to see archived configs too.
pageintegerper_pageintegerinclude_archivedbooleanget_scrape_configGet full details of a saved search configuration by ID.1 paramsGet full details of a saved search configuration by ID.
config_idstringupdate_scrape_configUpdate an existing search configuration. Only provided fields are changed. String list fields (keywords, exclude_keywords, exclude_companies, target_titles, locations) accept comma-separated values and REPLACE the existing list. exclude_keywords: matched against job TITLE only...12 paramsUpdate an existing search configuration. Only provided fields are changed. String list fields (keywords, exclude_keywords, exclude_companies, target_titles, locations) accept comma-separated values and REPLACE the existing list. exclude_keywords: matched against job TITLE only...
namestringactivevaluesectorstringkeywordsstringconfig_idstringlocationsstringdisciplinestringtarget_titlesstringexclude_keywordsstringexclude_companiesstringskip_agency_filtervalueseek_classificationstringarchive_scrape_configArchive (soft delete) a search configuration. Can be restored later.1 paramsArchive (soft delete) a search configuration. Can be restored later.
config_idstringdelete_scrape_configPermanently delete a search configuration. Irreversible. Set confirm=True to execute. Without confirm, returns a preview.2 paramsPermanently delete a search configuration. Irreversible. Set confirm=True to execute. Without confirm, returns a preview.
confirmbooleanconfig_idstringrun_saved_configRun a scrape using an existing saved search configuration. Use list_scrape_configs to find config IDs. This preserves all config fields (exclude_keywords, seek_classification, sector, etc.) that were set in the UI or by the ICP generator. Source: "seek", "indeed", "linkedin",...2 paramsRun a scrape using an existing saved search configuration. Use list_scrape_configs to find config IDs. This preserves all config fields (exclude_keywords, seek_classification, sector, etc.) that were set in the UI or by the ICP generator. Source: "seek", "indeed", "linkedin",...
sourcestringconfig_idstringtrigger_deep_researchRun Deep Research to discover companies matching a profile (3 credits). Pass icp_id to find companies to SELL TO (client acquisition). Pass mpc_id to find companies that would HIRE a candidate (reverse marketing). When either ID is provided, the brief is auto-generated from st...4 paramsRun Deep Research to discover companies matching a profile (3 credits). Pass icp_id to find companies to SELL TO (client acquisition). Pass mpc_id to find companies that would HIRE a candidate (reverse marketing). When either ID is provided, the brief is auto-generated from st...
briefstringicp_idstringmpc_idstringprecisionstringexpand_deep_researchExpand an existing Deep Research report — find MORE companies (2 credits). Re-runs the same brief with different query angles, excluding companies already found. New results are appended to the same report. Uses the linked ICP if one was set on the original research run. IMPOR...1 paramsExpand an existing Deep Research report — find MORE companies (2 credits). Re-runs the same brief with different query angles, excluding companies already found. New results are appended to the same report. Uses the linked ICP if one was set on the original research run. IMPOR...
report_idstringget_research_reportGet Deep Research results including discovered companies. When status is running/expanding, poll every 30 seconds (NOT faster). Broad ICPs may take 3-5 minutes. Check _polling_hint in response. Pass fields="status" for a lightweight poll that returns only {status, companies_fo...2 paramsGet Deep Research results including discovered companies. When status is running/expanding, poll every 30 seconds (NOT faster). Broad ICPs may take 3-5 minutes. Check _polling_hint in response. Pass fields="status" for a lightweight poll that returns only {status, companies_fo...
fieldsstringreport_idstringlist_research_reportsList your Deep Research reports.2 paramsList your Deep Research reports.
pageintegerper_pageintegerlist_hot_listsList your curated hot lists (contact/prospect/candidate collections).List your curated hot lists (contact/prospect/candidate collections).
No parameter schema in public metadata yet.
get_hot_listGet a hot list with its members (contacts, prospects, or candidates).3 paramsGet a hot list with its members (contacts, prospects, or candidates).
pageintegerlist_idstringper_pageintegercreate_hot_listCreate a new hot list. Types: contacts, prospects, candidates.3 paramsCreate a new hot list. Types: contacts, prospects, candidates.
namestringlist_typestringdescriptionstringupdate_hot_listRename a hot list or update its description. Only pass fields to change.3 paramsRename a hot list or update its description. Only pass fields to change.
namestringlist_idstringdescriptionvalueadd_to_hot_listAdd contacts/prospects/candidates to a hot list. Skips duplicates. Optional metadata: - tier: "s", "a", or "b" only (S=highest priority, B=lowest). Never use tier_1/tier_2/TIER_3 etc. - status: "not_started", "connected", "replied", "meeting_booked", or "converted" - source: "...7 paramsAdd contacts/prospects/candidates to a hot list. Skips duplicates. Optional metadata: - tier: "s", "a", or "b" only (S=highest priority, B=lowest). Never use tier_1/tier_2/TIER_3 etc. - status: "not_started", "connected", "replied", "meeting_booked", or "converted" - source: "...
tierstringnotesstringsourcestringstatusstringlist_idstringsource_idsarraysource_typestringremove_from_hot_listRemove contacts/prospects/candidates from a hot list by their IDs. The contacts themselves are NOT deleted — only their membership in this hot list is removed.2 paramsRemove contacts/prospects/candidates from a hot list by their IDs. The contacts themselves are NOT deleted — only their membership in this hot list is removed.
list_idstringsource_idsarraydelete_hot_listDelete a hot list. Members are NOT deleted — only the list itself. This is destructive and cannot be undone.1 paramsDelete a hot list. Members are NOT deleted — only the list itself. This is destructive and cannot be undone.
list_idstringupdate_hot_list_memberUpdate tier, status, or notes on a hot list member.5 paramsUpdate tier, status, or notes on a hot list member.
tierstringnotesstringstatusstringlist_idstringmember_idstringbuild_target_hotlistScore all companies in an ICP and build a ranked hot list with S/A/B tiers. Presets: 'recruitment' (weights hiring urgency), 'saas_sales' (weights prospect density + triggers), 'balanced' (equal). Leave preset empty to use the ICP's stored weights or auto-detect.4 paramsScore all companies in an ICP and build a ranked hot list with S/A/B tiers. Presets: 'recruitment' (weights hiring urgency), 'saas_sales' (weights prospect density + triggers), 'balanced' (equal). Leave preset empty to use the ICP's stored weights or auto-detect.
top_nintegericp_idstringpresetstringlist_namestringlist_icp_profilesList your Ideal Client Profiles with company and prospect counts.List your Ideal Client Profiles with company and prospect counts.
No parameter schema in public metadata yet.
list_profile_suggestionsList pending profile update suggestions extracted from call transcripts. Returns suggestions where candidate transcripts revealed signals that contradict or expand the current ICP profile (e.g. location flexibility, comp floor, role openness). Each suggestion includes the tran...1 paramsList pending profile update suggestions extracted from call transcripts. Returns suggestions where candidate transcripts revealed signals that contradict or expand the current ICP profile (e.g. location flexibility, comp floor, role openness). Each suggestion includes the tran...
profile_idstringget_icp_profileGet ICP profile with company map and prospect count. Paginated company list — default 50 per call (max 200). Use companies_offset for subsequent pages. Set include_companies=false for the full profile WITHOUT the company map or pipeline-match scans. Set count_only=true for the...5 paramsGet ICP profile with company map and prospect count. Paginated company list — default 50 per call (max 200). Use companies_offset for subsequent pages. Set include_companies=false for the full profile WITHOUT the company map or pipeline-match scans. Set count_only=true for the...
count_onlybooleanprofile_idstringcompanies_limitintegercompanies_offsetintegerinclude_companiesbooleanlist_icp_prospectsList prospects linked to an ICP profile. Filter by email_status: "valid", "catch_all", "has_email", or leave empty for all. Paginated — use offset for subsequent pages. Max 1000 per call. Returns prospect IDs that can be passed to enrol_contacts_in_campaign.4 paramsList prospects linked to an ICP profile. Filter by email_status: "valid", "catch_all", "has_email", or leave empty for all. Paginated — use offset for subsequent pages. Max 1000 per call. Returns prospect IDs that can be passed to enrol_contacts_in_campaign.
limitintegeroffsetintegerprofile_idstringemail_statusstringcreate_icp_profileCreate a new Ideal Client Profile manually with full field support. For AI-powered generation from a brief description, use generate_icp_profile instead. All list fields accept arrays of strings. Only title is required.19 paramsCreate a new Ideal Client Profile manually with full field support. For AI-powered generation from a brief description, use generate_icp_profile instead. All list fields accept arrays of strings. Only title is required.
titlestringpain_pointsvaluedisqualifiersvalueoutreach_tonestringseek_keywordsvaluetarget_titlesvalueoutreach_hooksvaluedifferentiatorsvaluelinkedin_keywordstringtarget_locationsvaluetarget_senioritystringtarget_industriesvaluevalue_propositionstringobjection_handlingvaluetarget_departmentsvaluetarget_company_sizesvaluetarget_funding_stagestringtarget_revenue_rangestringexcluded_company_sizesvaluegenerate_icp_profileGenerate an Ideal Client Profile using AI (2 credits). Provide a brief description (e.g. "AU Managed Service Providers" or "Melbourne-based SaaS companies with 50-200 staff"). AI generates the full profile: target titles, industries, locations, company sizes, pain points, valu...3 paramsGenerate an Ideal Client Profile using AI (2 credits). Provide a brief description (e.g. "AU Managed Service Providers" or "Melbourne-based SaaS companies with 50-200 staff"). AI generates the full profile: target titles, industries, locations, company sizes, pain points, valu...
titlestringcontextstringbusiness_contextstringupdate_icp_profileUpdate fields on an existing ICP profile. Only pass the fields you want to change — omitted fields are unchanged. Accepts all ICP fields: targeting (titles, industries, locations, sizes), content (pain_points, value_proposition, differentiators, objection_handling), and outrea...20 paramsUpdate fields on an existing ICP profile. Only pass the fields you want to change — omitted fields are unchanged. Accepts all ICP fields: targeting (titles, industries, locations, sizes), content (pain_points, value_proposition, differentiators, objection_handling), and outrea...
titlestringprofile_idstringpain_pointsvaluedisqualifiersvalueoutreach_tonestringseek_keywordsvaluetarget_titlesvalueoutreach_hooksvaluedifferentiatorsvaluelinkedin_keywordstringtarget_locationsvaluetarget_senioritystringtarget_industriesvaluevalue_propositionstringobjection_handlingvaluetarget_departmentsvaluetarget_company_sizesvaluetarget_funding_stagestringtarget_revenue_rangestringexcluded_company_sizesvaluearchive_icp_profileArchive an ICP profile (soft delete — can be restored). Prospects linked to this ICP are preserved but the ICP is hidden from active lists. Use for superseded or test ICPs.1 paramsArchive an ICP profile (soft delete — can be restored). Prospects linked to this ICP are preserved but the ICP is hidden from active lists. Use for superseded or test ICPs.
profile_idstringdelete_icp_profilePermanently delete an ICP profile. WARNING: This is destructive. Prospects linked to this ICP will have their ICP link removed (set to null) but are NOT deleted. Company map entries ARE deleted. Use archive_icp_profile for soft delete.1 paramsPermanently delete an ICP profile. WARNING: This is destructive. Prospects linked to this ICP will have their ICP link removed (set to null) but are NOT deleted. Company map entries ARE deleted. Use archive_icp_profile for soft delete.
profile_idstringlink_prospect_to_icpLink (or re-link) a prospect/contact to an ICP profile. Moves the prospect's ICP association. The prospect is NOT duplicated — its ideal_client_id is updated in place. Use for merging prospects from multiple ICPs into one.2 paramsLink (or re-link) a prospect/contact to an ICP profile. Moves the prospect's ICP association. The prospect is NOT duplicated — its ideal_client_id is updated in place. Use for merging prospects from multiple ICPs into one.
icp_idstringcontact_idstringunlink_prospect_from_icpUnlink a prospect/contact from their ICP profile. Clears the ideal_client_id FK. Does NOT change is_prospect — the contact remains a prospect, just unassociated with any ICP. Pass is_prospect=false via update_contact to fully remove from prospect views.1 paramsUnlink a prospect/contact from their ICP profile. Clears the ideal_client_id FK. Does NOT change is_prospect — the contact remains a prospect, just unassociated with any ICP. Pass is_prospect=false via update_contact to fully remove from prospect views.
contact_idstringlink_company_to_icpLink a company to an ICP's company map. Tier: "hot_lead", "target", "nurture", "cold". Default "target". Skips if company is already linked to this ICP.3 paramsLink a company to an ICP's company map. Tier: "hot_lead", "target", "nurture", "cold". Default "target". Skips if company is already linked to this ICP.
tierstringicp_idstringcompany_idstringunlink_company_from_icpRemove a company from an ICP's company map. Also unlinks any prospects at that company from this ICP. Returns count of removed map entries and unlinked prospects.2 paramsRemove a company from an ICP's company map. Also unlinks any prospects at that company from this ICP. Returns count of removed map entries and unlinked prospects.
icp_idstringcompany_idstringAustralian sales intelligence & BD platform for recruiters — 102 tools via MCP.
Search Australian companies (ASIC, ABR, SEEK, trades directories), enrich contacts with verified email and direct-dial phone (+61 validated), run multi-step AI outreach campaigns, trigger deep research that maps markets to your Ideal Client Profile, and manage your full pipeline — all from Claude, Cursor, Codex, or any MCP client.
Add to your MCP config:
{
"mcpServers": {
"kolvera": {
"type": "streamable-http",
"url": "https://mcp.kolvera.io/mcp"
}
}
}
OAuth will prompt you to log in and authorise on first use. Sign up free (50 credits, no card required).
Use the streamable-http endpoint:
https://mcp.kolvera.io/mcp
Authentication: OAuth 2.0 with Dynamic Client Registration (RFC 7591). No API key setup needed — your MCP client handles the flow automatically.
| Category | Tools | Examples |
|---|---|---|
| Contacts | 5 | Search, create, update, delete contacts |
| Companies | 7 | Search Australian companies, research hiring signals |
| Enrichment | 11 | Find email (2cr), find phone (2-6cr), bulk enrich, verify |
| Campaigns | 16 | Create multi-step email sequences, generate AI copy, enrol contacts |
| Pipeline | 2 | Search scraped job listings with tokenised queries |
| Scraping | 9 | Scrape SEEK/Indeed/LinkedIn/Reed, manage search configs |
| Deep Research | 4 | AI market research mapping companies to your ICP (3cr) |
| Hot Lists | 9 | Build tiered prospect/candidate lists, auto-score |
| ICP | 13 | Create/generate Ideal Client Profiles, link companies + prospects |
| MPC | 6 | Most Placeable Candidate profiles for recruiters |
| Meetings | 7 | Schedule, sync Fathom summaries, match to contacts |
| Credits | 2 | Check balance, view transaction history |
| Business Context | 5 | Define your agency for AI-generated messaging |
Find and enrich decision-makers:
"Search for IT recruitment agencies in Sydney with 10-50 employees, then find email and phone for the directors at the top 5 results."
Launch a campaign:
"Create a 3-step email campaign targeting my hot list 'Sydney IT Directors' — intro, case study follow-up, and meeting request. Space steps 3 days apart."
Deep-research a market:
"Run deep research on the aged care recruitment market in Melbourne — who are the key players, what's the hiring volume, and which companies fit my ICP?"
Kolvera's unique value is Australian-first data sources that global competitors don't have:
All enrichment runs against your Kolvera tenant using your existing plan credits.
Free trial: 50 credits (no card). Paid plans from A$69/mo (Starter, 750 credits).
Credit costs: email enrichment 2cr/contact, phone 2-6cr, deep research 3cr, company search 2cr. Full breakdown at kolvera.io/guide/credits.
| Property | Value |
|---|---|
| Transport | Streamable HTTP |
| Endpoint | https://mcp.kolvera.io/mcp |
| Auth | OAuth 2.0 (Dynamic Client Registration) |
| Scopes | Per-domain (contacts, companies, campaigns, etc.) |
| Privacy Policy | kolvera.io/privacy |
| Status | Production (GA) |
| Tool | Description |
|---|---|
search_contacts | Search contacts by name, title, email, or company |
get_contact | Get full details for a contact |
create_contact | Create a contact, auto-linking company |
update_contact | Update contact fields |
delete_contact | Delete a contact and clean up references |
| Tool | Description |
|---|---|
search_companies | Search by name, domain, industry, or location |
get_company | Get company details with contact count |
get_company_contacts | List all contacts at a company |
create_company | Create a company (deduplicates by name) |
update_company | Update company fields |
delete_company | Delete company and all dependents |
research_company | AI research on hiring signals (1cr) |
| Tool | Description |
|---|---|
find_contact_email | Multi-provider waterfall email enrichment (2cr) |
find_contact_phone | Waterfall phone enrichment (2-6cr) |
verify_contact_email | Verify email via MillionVerifier (free) |
bulk_find_emails | Bulk email enrichment (async, 2cr each) |
bulk_find_phones | Bulk phone enrichment (async) |
get_bulk_enrichment_status | Check bulk enrichment progress |
get_enrichment_job | Poll async enrichment job |
find_company_contacts | Find decision-makers at a company (2cr/contact) |
find_company_candidates | Find candidates via LinkedIn (recruitment only) |
batch_find_contacts | Find contacts at up to 20 companies |
batch_find_candidates | Find candidates at up to 10 companies |
| Tool | Description |
|---|---|
list_campaigns | List campaigns with stats |
get_campaign | Get campaign details + steps |
get_campaign_stats | Performance metrics and per-variant stats |
create_campaign | Create a draft campaign |
update_campaign | Update campaign settings |
duplicate_campaign | Clone a campaign |
activate_campaign | Start sending |
pause_campaign | Pause sends |
resume_campaign | Resume sends |
delete_campaign | Delete campaign and all data |
enrol_contacts_in_campaign | Enrol contacts (skips DNC) |
unenrol_from_campaign | Remove contacts |
get_campaign_enrollments | List enrolled contacts + status |
create_campaign_step | Add an email step |
update_campaign_step | Edit step subject/body/delay |
delete_campaign_step | Remove a step (auto-renumbers) |
generate_campaign_steps | AI-generate email steps (async) |
get_campaign_generation_status | Check generation complete |
list_inboxes | List connected sending inboxes |
assign_inbox_to_campaign | Assign inbox for sending |
| Tool | Description |
|---|---|
search_pipeline_jobs | Search job listings with tokenised queries |
get_pipeline_job | Get full job listing details |
| Tool | Description |
|---|---|
run_job_scrape | Scrape SEEK/Indeed/LinkedIn/Reed (async) |
run_saved_config | Run an existing search config |
get_scrape_progress | Check scrape progress |
list_scrape_configs | List saved search presets |
get_scrape_config | Get config details |
update_scrape_config | Update config settings |
archive_scrape_config | Soft-delete a config |
delete_scrape_config | Permanently delete a config |
analyze_scrape_quality | Quality gate stats for recent scrapes |
update_search_config_excludes | Add to exclude lists |
| Tool | Description |
|---|---|
trigger_deep_research | AI market research (3cr) |
expand_deep_research | Expand existing report (2cr) |
get_research_report | Get research results |
list_research_reports | List all reports |
| Tool | Description |
|---|---|
list_hot_lists | List curated collections |
get_hot_list | Get list with members |
create_hot_list | Create (contacts/prospects/candidates) |
update_hot_list | Rename or update description |
delete_hot_list | Delete list (members kept) |
add_to_hot_list | Add members with tier/status/notes |
remove_from_hot_list | Remove members |
update_hot_list_member | Update tier/status/notes |
build_target_hotlist | Auto-score and rank into S/A/B tiers |
| Tool | Description |
|---|---|
list_icp_profiles | List Ideal Client Profiles |
get_icp_profile | Get ICP with company map |
list_icp_prospects | List linked prospects |
list_profile_suggestions | Pending suggestions from calls |
create_icp_profile | Create ICP manually |
generate_icp_profile | AI-generate ICP from description (2cr) |
update_icp_profile | Update ICP fields |
archive_icp_profile | Soft-delete ICP |
delete_icp_profile | Permanently delete |
link_prospect_to_icp | Link a prospect |
unlink_prospect_from_icp | Unlink a prospect |
link_company_to_icp | Link company to map |
unlink_company_from_icp | Remove from map |
| Tool | Description |
|---|---|
list_mpc_profiles | List Most Placeable Candidate profiles |
get_mpc_profile | Get MPC with company map |
create_mpc_profile | Create MPC manually |
update_mpc_profile | Update MPC fields |
delete_mpc_profile | Permanently delete |
generate_mpc_profile | AI-generate from role title (1cr) |
| Tool | Description |
|---|---|
list_meetings | List meetings (filterable) |
get_meeting | Get meeting with contact info |
create_meeting | Create with ISO 8601 start |
update_meeting | Update details |
delete_meeting | Delete meeting |
sync_fathom_meetings | Pull Fathom summaries |
list_fathom_notes | List AI meeting summaries |
| Tool | Description |
|---|---|
get_credit_balance | Check plan + addon balance |
get_credit_history | Transaction history |
| Tool | Description |
|---|---|
list_business_contexts | List contexts with primary flag |
create_business_context | Create with 7 structured fields |
create_business_context_from_website | Import from URL via AI |
update_business_context | Update by name or ID |
delete_business_context | Delete by name or ID |
set_primary_business_context | Set as primary for AI generation |
https://mcp.kolvera.io/mcpPublished as io.kolvera/kolvera on the official MCP registry.
Built in Adelaide, Australia. Kolvera = Colligere (gather) + Vera (truth) = "gathered truth."
explorium-ai/vibeprospecting-mcp
io.github.compuute/lead-enrichment
dev.workers.selbyventurecap.cf-worker/apollo-salesforce-mapper
io.github.br0ski777/company-enrichment
com.mcparmory/apollo
mambalabsdev/mcp-gtm-tech-stack-signal-scraper