HeyLead is an AI agent for LinkedIn outreach (an MCP-native tool) that lets AI assistants perform LinkedIn outreach work through MCP (Model Context Protocol). Users can use it in Claude Code, Cursor, any MCP client, or the web dashboard; first log in to the web app, then tell the AI "find me leads".
[Purpose and Goals] Each campaign corresponds to one of six goals, and the ICP, matching checks, and message content all follow that goal: selling a product or service; job seeking; recruiting; finding partners or investors; finding suppliers; research interviews. Among these, the recruiting, finding partners or investors, and research interview goals run in custom brief mode until a corresponding message set is available.
[Main Capabilities]
- Voice Matching: analyzes the user's LinkedIn profile and posts to capture their writing style so that every message sounds like the user wrote it.
- ICP Generation: a RAG-driven process that gathers company background, generates a buyer persona including pain points, concerns, and obstacles, and maps it to LinkedIn search parameters.
- Lead Discovery and Scoring: searches LinkedIn and scores prospects by match level.
- Engagement Warm-up: automatically engages with the target's posts (commenting, liking) before sending connection requests.
- Personalized Invitations: voice-matched messages rather than robotic content.
- Automatic Follow-ups: a multi-touch sequence after a connection is accepted.
- Handling Replies: detects sentiment, moves positive leads toward a meeting, and answers questions.
- Result Tracking: marks closed/won, lost, or opted out, and provides conversion analytics.
- Autonomous Scheduler: runs in the background, respecting working hours and rate limits. Hosted accounts use cloud sending by default and have cloud enabled on startup; local installations send only from the local machine. It provides a total of 22 tools, covering target customer discovery, ICP generation, connection invitations with notes, opening messages and follow-ups, warm-up (profile views, follows, comments), reply handling (holding back ambiguous content), and result tracking.
[How to Use] Prerequisites: an MCP-supporting AI editor such as Cursor or Claude Code. Step 1: Install HeyLead. Claude Code can be used as a plugin (hosted, no installation required): run /mcp, select heylead, and Authenticate to login. The plugin connects to the hosted server https://heylead.dev/mcp,并添加启动活动、审核等待消息、回复、每周回顾、暂停、添加人员列表等技能;源码在 plugins/heylead. The client can also be run locally via stdio, which requires uv: in Cursor, go to Settings > MCP > "Add new MCP server" and enter Name: heylead, Command: uvx heylead; the same applies to any MCP client. To update, use uvx --refresh heylead. Step 2: Set up the account.
- Option A (hosted, easiest): complete the 90-second quiz or log in at heylead.dev/dashboard/login; the quiz profile generates draft campaigns; connect LinkedIn in Settings → Connected accounts, then launch from the dashboard, or copy the setup message from Settings → Integrations → Chat client into the AI chat. Nothing is sent until launch. Hosted users share one professional directory, while campaigns and inboxes remain private.
- Option B (self-hosted): run the entire process against your own account. Prerequisites: a Unipile account (handles communication with LinkedIn; sign up at unipile.com, get the DSN and API key from the Access Tokens page, then run heylead config set unipile_api_url <DSN> and heylead secrets set unipile_api_key; the secret is stored in the operating system keychain rather than a config file); an LLM API key (AI calls are billed to the user; a free Gemini key is enough to start). Then, in the AI chat, say: "Set up my HeyLead profile with this Gemini key: YOUR_KEY"; you will get a LinkedIn authentication link; after connecting, say "finish setup", and HeyLead will scrape the profile and analyze the writing style. Step 3: Find prospects. You can say "Generate an ICP for AI SaaS founders" to generate an ICP; "Find me fintech CTOs" to create a campaign; after that, HeyLead handles warm-up, personalized invitations, automatic follow-ups, reply handling, and result tracking.
[Sending model and pacing] Campaigns are created as drafts and only begin after an explicit launch. Before every send, rate limits, working-hours checks, and first-degree connection protection are applied. HeyLead sends from the user's own LinkedIn account at a human pace: free LinkedIn accounts can send up to 20 invitations per day and up to 100 per week (more with Premium or Sales Navigator), Monday through Friday from 08:00 to 22:00 local time, with intervals measured in minutes. If LinkedIn pushes back, it backs off and recovers on its own. Any campaign can be paused at any time. Launching also enables cloud sending; in observe mode, nothing is delegated or sent.
[Approval modes] In hosted mode, workspaces that have not chosen otherwise hold all opening DMs and follow-ups until someone approves them, and the approved text is what gets sent. You can view pending items on the Approvals page in the dashboard or with inspect(action="waiting"), and decide with prospect(action="approve_message") or discard_message. Autopilot sends without reading, and it is just one switch away (Settings → Sending, or scheduler(action="approval_mode", mode="autopilot")). Invitations, InMails, and replies are never held.
[Quotas and plans] A connected account means one LinkedIn seat or one mailbox. The free version includes one of the two. Invitation limits follow the LinkedIn account (free, Premium, or Sales Navigator), not the HeyLead plan. Self-hosted free installations have monthly quotas: 50 invitations, 20 messages, 30 interactions, 1 active campaign, and 3 ICP generations.
[AI calls and data security] AI calls go through the HeyLead backend or the user's own key; cloud MCP processes data server-side and does not share it with third parties; in local mode, contacts and messages are stored in a local SQLite database. Tool-call telemetry: after login, the workspace records every tool call (tool, success or failure, error type, duration, calling app), but does not record parameters, results, target names, links, or messages. You can use heylead config telemetry off or DO_NOT_TRACK=1 to disable. Secrets are stored in the operating system credential store (macOS Keychain, Windows Credential Manager, Linux Secret Service), or when unavailable, in secrets.json readable only by the owner. The configuration file stores only ordinary settings. You can run heylead secrets status to see which secrets are stored (values are never displayed), and heylead secrets clean to clean up old configurations.
[Other] Optional dependencies: the basic installation covers all core functionality; advanced ICP generation has additional dependencies. Troubleshooting: if it prompts "uvx: command not found", install uv first (curl -LsSf https://astral.sh/uv/install.sh | sh or on Mac brew install uv); restart the editor after adding the MCP server; if "Setup failed" or "LinkedIn not connected", confirm that you have clicked Connect on the LinkedIn row on the login page and completed login, then retry. Supports OpenClaw (add an entry under mcp.servers in openclaw.json, search "HeyLead" in ClawHub). License: the code is MIT, and the knowledge base and prompt configuration are proprietary. For the complete agent integration guide, see AGENTS.md.