A LinkedIn MCP server that does the outreach
Last updated 19 September 2026
HeyLead is an MCP server for LinkedIn outreach. Add it to Claude, Claude Code or Cursor, say who you want to reach, and it finds the people, writes to them in the voice of your own LinkedIn posts, follows up and handles the replies.
Most LinkedIn MCP servers give your AI raw access: read a profile, search people, send one message. HeyLead is built one level up, around the campaign. Your AI describes the audience, and HeyLead runs the outreach from start to finish.
Install
HeyLead is a Python package. It runs over stdio with uv:
# Claude Code
claude mcp add heylead -- uvx heylead
# Any MCP client (Cursor, Claude Desktop, ...)
{"heylead": {"command": "uvx", "args": ["heylead"]}}
Then sign in at heylead.dev, connect LinkedIn, and paste the setup message
from Settings → Integrations → Chat client into your chat. There is also a remote endpoint at
https://heylead.dev/mcp (streamable HTTP, signed in with the token from the same setup message).
What it does
- Finds the right people. Turns a plain description ("CTOs at Series A fintech in London") into buyer personas and LinkedIn searches, then scores each person for fit.
- Writes like you. Reads your LinkedIn profile and posts and writes connection requests and messages in that voice.
- Follows up. Sends follow-ups after a connection is accepted and stops when someone replies.
- Handles replies. Reads each reply, answers questions and moves interested people toward a meeting. You can set it to watch only, and answer by hand.
- Reports back. Pipeline, replies and outcomes in your chat or on the web dashboard.
It works for sales, recruiting, partner and investor outreach, job search and LinkedIn posts. Selling is the most developed of these.
The tools
HeyLead has 35 MCP tools. Each tool covers one area and takes an action argument. The ones you
will use most:
setup_profile: connect your account and learn your writing voicegenerate_icp: build buyer personas from a descriptioncreate_campaign: find prospects and save a draft campaigncampaign: launch, pause, resume or emergency-stopcheck_repliesandinbox: read and answer repliesshow_statusandanalytics: pipeline and results
The full list is in llms-full.txt.
How it reaches LinkedIn
Through Unipile, an independent connectivity provider. HeyLead is not a Chrome extension and does not drive a browser to use LinkedIn. On the hosted plan HeyLead provides the connection, and outreach runs from the cloud with your laptop closed. Self-hosted installs bring their own Unipile account and LLM key; see the open-source page.
What keeps it in check
- A campaign is a draft until you launch it, so you see the prospects first.
- Invitations and messages stay within daily and weekly limits for each account, with randomised timing.
- Sending happens on weekdays, 08:00 to 22:00 in your own time zone.
campaign(action="emergency_stop")pauses everything at once.
None of this removes the risk. LinkedIn's User Agreement prohibits automated invitations and messages, and LinkedIn can restrict an account that uses them. Our Terms say so plainly.
Source and listings
- GitHub (MIT): github.com/D4umak/linkedin-outreach-mcp
- PyPI: pypi.org/project/heylead
- Official MCP Registry:
io.github.D4umak/heylead - Glama: glama.ai/mcp/servers/D4umak/linkedin-outreach-mcp