Usage
| Tool | What it does |
|---|---|
get_usage_summary | Credit balance, plan tier, and usage against tier limits |
CRM records
Accounts (companies) and contacts (people) share one tool set via arecord_type parameter.
| Tool | What it does |
|---|---|
list_crm_records | List accounts or contacts, with free-text search |
get_crm_record | One record with all fields |
create_crm_record | Create an account or contact |
update_crm_record | Partial update of a record |
enrich_crm_record 💳 | Enrich with external data (~20 credits) |
get_crm_record_activity | Activity timeline (emails, LinkedIn touches, notes) |
Find people & companies
| Tool | What it does |
|---|---|
search_people 💳 | B2B database search by title/seniority/location/company (~5 credits per result) |
import_sales_nav_search 💳 | Import a LinkedIn Sales Navigator search URL into a list (~5 credits per lead) |
find_prospects_with_ai 💳 | AI web research against plain-English match criteria (~10 credits per match) |
save_findall_results_as_list | Persist a completed AI discovery run as a list |
Lists
| Tool | What it does |
|---|---|
list_lists | All lists in the workspace |
create_list | New list (manual, search, or Sales Nav source) |
get_list_contacts | List members + fields; also the progress check for background imports |
add_contact_to_list | Manually add one person |
find_email_for_list_member 💳 | Waterfall email finder (~5 credits) |
Signal agents
| Tool | What it does |
|---|---|
list_signal_agents | All signal agents |
create_signal_agent 💳 | AI-generated targeting config from a plain-English description |
run_signal_agent_now 💳 | Trigger a run (~500 credits): scrape → ICP filter → enrich engagers |
get_signal_agent_runs | Latest run status per agent |
Campaigns
| Tool | What it does |
|---|---|
list_campaigns | Campaigns with status and recipient counts |
get_campaign | One campaign + engagement analytics |
draft_campaign_with_ai 💳 | Generate a draft sequence from a prompt (draft only) |
create_campaign | Persist a campaign in draft state |
update_campaign | Change settings (never status) |
attach_lists_to_campaign | Set recipient lists and sync members |
get_campaign_recipients | Per-person send status — the progress tracker |
review_campaign_recipient | Approve/reject one recipient in review mode |
start_campaign 💳 ✉️ | Activates real outreach (paid plan required) |
pause_campaign | Stop queued sends immediately |
| Tool | What it does |
|---|---|
list_linkedin_accounts | Connected seats with status and send limits |
connect_linkedin_account | Returns a hosted sign-in URL (browser flow) |
send_linkedin_invitation 💳 ✉️ | Connection request, optional note (~20 credits) |
send_linkedin_message 💳 ✉️ | DM, thread reply, or InMail; optional file attachment or voice note via attachment_url (~20–30 credits) |
get_linkedin_profile 💳 | Profile fetch; visit=true makes it a visible profile visit |
search_linkedin_people 💳 | Live LinkedIn search through the seat (classic / Sales Nav / Recruiter; ~5 credits per result, unused refunded) |
list_linkedin_conversations | LinkedIn inbox: chats, or one chat’s messages |
list_linkedin_network | 1st-degree connections, or pending sent invitations (check before re-inviting) |
list_linkedin_posts | A person’s recent posts (personalization research) |
engage_linkedin_post 💳 ✉️ | Comment or react as the connected seat (~5 credits) |
| Tool | What it does |
|---|---|
list_email_accounts | Connected Gmail/Outlook senders |
connect_email_account | Returns an OAuth URL (browser flow) |
Coverage notes
The MCP surface is a curated subset designed to stay within AI-client context limits and exclude destructive operations. Notable capabilities that are REST-only today (same API key works — see REST API):- CRM notes/tasks/meetings/files, CSV import/export, bulk enrichment, custom columns
- Campaign step-level editing, schedules, per-recipient force-send, deletes/archives
- Inbox email reading/reply/compose
- Parallel research sessions, Komo web research, AI Worker (agent) runs
- LinkedIn seat disconnect
Security model
Every LinkedIn tool takes alinkedin_account_id that must be a seat owned
by the workspace behind your API key — the server resolves it against your
account before any Unipile call, and chat-level operations additionally verify
the conversation belongs to that seat. Komo’s Unipile credentials never leave
the server, and no tool can act through another customer’s seat.