@updately/mcp-server
v1.1.2
Published
MCP server for Updately LinkedIn Outreach — exposes campaign management, contacts, inbox, signals, ICP and more as AI-callable tools.
Readme
Updately MCP Server
Model Context Protocol server for Updately LinkedIn Outreach. Lets AI assistants (Claude, Gemini, Cursor, etc.) manage your LinkedIn campaigns, contacts, signals, and ICP via natural language.
Setup
1. Install
npm install
npm run build2. Generate an API Key
curl -X POST https://api.updately.ai/org/api-key/generate \
-H "Authorization: Bearer YOUR_ORG_ID" \
-H "Content-Type: application/json" \
-d '{"name": "MCP Server"}'3. Configure your IDE
Option A: npx (Recommended) — zero install, works everywhere:
{
"mcpServers": {
"updately": {
"command": "npx",
"args": ["-y", "updately/updately-mcp-server"],
"env": {
"UPDATELY_API_KEY": "api_key_your-key-here",
"UPDATELY_API_URL": "https://api.updately.ai"
}
}
}
}Option B: HTTP (Streamable) — direct connection, no local process:
{
"mcpServers": {
"updately": {
"url": "https://api.updately.ai/mcp",
"headers": {
"Authorization": "Bearer api_key_your-key-here"
}
}
}
}Available Tools (37)
Campaigns
list_campaigns— List all campaignsget_campaign— Get campaign detailscreate_campaign— Create a campaignupdate_campaign_status— Activate/pause/stopdelete_campaign— Delete a campaignget_campaign_stats— Get metrics (invited, accepted, replied)
Workflow Steps
list_steps— List steps in a campaignupsert_step— Create/update a stepdelete_step— Delete a step
Contacts
list_contacts— List enrolled contactsenroll_contacts— Add LinkedIn profilesremove_contact— Remove a contact
Direct Outreach
reach_out— Send a LinkedIn message or connection invitation to one or more profiles. Auto-detects connection status: sends a DM if already connected, or a connection invite with the message as note if not. Auto-picks the org's LinkedIn account if not specified.
Lead Search
search_leads— Search for LinkedIn leads using natural language (e.g. "DevOps in SF, companies with 100+ employees", "VP of Sales at SaaS startups in NYC"). Returns matching profiles with name, headline, company, location, and LinkedIn URL.confirm_lead_action— Confirm and execute a suggested action from search_leads (e.g. create a signal, ICP, or campaign from the results)
Social Listening
list_keyword_groups— List all keyword groups configured for social listeningfetch_posts— Fetch social-media posts matching keyword groups and/or platforms (Reddit, Twitter, LinkedIn, Quora, HackerNews, GitHub, StackOverflow). Returns scored, ranked posts with engagement metrics, sentiment, priority, and lead-type tags.save_post— Save/bookmark a post for follow-upget_saved_posts— List saved posts
Scheduler
run_campaign— Trigger processingprocess_contact— Process one contact now
Inbox
get_contact_messages— Message history for a contactsend_message— Send a LinkedIn message
LinkedIn Accounts
list_accounts— List connected accountsget_account_usage— Daily usage stats
Lead Lists
list_lead_lists— List all listsget_leads_in_list— Get leads in a listcreate_lead_list— Create a list
Signals
list_signals— List signalsget_signal— Get signal detailscreate_signal— Create a signal (KEYWORD_GROUP, LINKEDIN_JOBS, PROFILE_SEARCH, or NETWORK)update_signal— Update configrun_signal— Trigger a rundelete_signal— Delete
ICP (Ideal Customer Profile)
list_icps— List ICPscreate_icp— Create an ICPupdate_icp— Update an ICPdelete_icp— Delete an ICP
Development
npm run dev # Watch mode
npm run inspect # Test with MCP Inspector