Skip to main content

MCP-native autonomous LinkedIn SDR. Your AI sales rep, one command to fill your pipeline.

Project description

HeyLead

Your AI sales rep. One command to fill your pipeline.

HeyLead is an MCP-native autonomous LinkedIn SDR that runs inside Cursor, Claude Code, or any MCP-compatible editor. No dashboard. No web app. Just chat with your AI and say "find me leads."


Getting Started

MCP (Model Context Protocol) lets AI assistants use external tools. HeyLead gives your AI the ability to do LinkedIn outreach for you.

You need: Cursor or Claude Code — any MCP-compatible AI editor.

Step 1: Install HeyLead

Install in Cursor

Click the link above and Cursor installs it automatically.

Manual install or using another editor?

Cursor (manual): Settings > MCP > "Add new MCP server" > Name: heylead, Command: uvx heylead

Claude Code: claude mcp add heylead -- uvx heylead

OpenClaw: Add to your openclaw.json:

{
  "mcp": {
    "servers": [
      {
        "name": "heylead",
        "command": "uvx",
        "args": ["heylead"]
      }
    ]
  }
}

Or install from ClawHub: search "HeyLead"

Step 2: Set up your account

Open your AI chat and say:

"Set up my HeyLead profile"

You'll get a link — sign in with Google, connect LinkedIn, copy your token, paste it back. ~1 minute, no API keys needed.

Step 3: Find leads

"Find me CTOs at fintech startups in New York"
"Send outreach to the campaign"
"Check my replies"
"How's my outreach doing?"

How It Works

  1. Define your ICP — "Generate an ICP for AI SaaS founders" → RAG-powered personas with pain points, barriers, and LinkedIn targeting
  2. Create a campaign — "Find me fintech CTOs" → searches LinkedIn, scores prospects by fit
  3. Warm up prospects — Engages with their posts (comments, likes) before reaching out
  4. Send personalized invitations — Voice-matched messages that sound like you, not a bot
  5. Follow up automatically — Multi-touch sequences after connections are accepted
  6. Handle replies — Detects sentiment, advances positive leads toward meetings, answers questions
  7. Track outcomes — Won/lost/opted-out tracking with conversion analytics

Two modes:

  • Copilot (default) — review every message before it sends
  • Autopilot — AI handles outreach within your rate limits and working hours

Tools

HeyLead gives your AI 31 specialized tools:

Core Workflow

Tool What it does
setup_profile Connects LinkedIn and creates your voice signature
generate_icp Creates rich Ideal Customer Profiles with buyer personas, pain points, and LinkedIn targeting
create_campaign Finds prospects matching your target and builds a campaign
generate_and_send Writes personalized invitations and sends (or queues for review)
check_replies Checks for new replies, classifies sentiment, surfaces hot leads
show_status Your dashboard — campaigns, stats, hot leads, account health

Multi-Touch Outreach

Tool What it does
send_followup Sends follow-up DMs after a connection is accepted
reply_to_prospect Auto-replies adapting to sentiment — advance meetings, answer questions, or gracefully close
engage_prospect Comments on or reacts to a prospect's LinkedIn posts for warm-up

Copilot Review

Tool What it does
approve_outreach Approve, edit, skip, or stop a proposed message
suggest_next_action AI recommends what to do next, prioritized by impact
show_conversation View the full message thread with a prospect

Campaign Management

Tool What it does
edit_campaign Update name, mode, booking link, offerings, or messaging preferences
pause_campaign Pause outreach on a campaign
resume_campaign Resume a paused campaign
archive_campaign Mark a campaign as completed
skip_prospect Remove a bad-fit prospect from the queue
retry_failed Retry outreaches that failed with errors
emergency_stop Immediately pause all active campaigns

Analytics

Tool What it does
campaign_report Detailed analytics — funnel, outcomes, stale leads, engagement ROI
export_campaign Export campaign results as a formatted table
compare_campaigns Side-by-side comparison of multiple campaigns
close_outreach Record outcome — won, lost, or opted out

Automation

Tool What it does
toggle_scheduler Enable autonomous outreach (local or cloud 24/7)
scheduler_status View scheduler state, pending jobs, recent activity

Account

Tool What it does
list_linkedin_accounts List connected LinkedIn accounts (read-only)
switch_account List accounts and switch flow
switch_account_to Switch to a different LinkedIn account
unlink_account Disconnect LinkedIn and clear local account

Key Features

Voice Matching — Analyzes your LinkedIn profile and posts to capture your writing style. Every message sounds like you wrote it.

ICP Generation — RAG-powered pipeline that crawls company context, generates buyer personas with pain points, fears, barriers, and maps them to LinkedIn search parameters.

Autonomous Scheduler — Runs in the background, respects working hours and rate limits. Enable cloud scheduling for 24/7 operation even when your laptop is off.

Engagement Warm-ups — Automatically engages with prospect posts before sending connection requests, building familiarity.

Adaptive Rate Limiting — Starts conservative, ramps up when acceptance rate is high, pulls back when it drops. Respects LinkedIn safety limits.

Outcome Tracking — Mark deals as won/lost, track conversion rates, identify stale leads, measure engagement ROI.


Pricing

Plan Price What you get
Free $0 50 invitations/month, 1 campaign, 2 follow-ups per prospect, 30 engagements/month
Pro $29/mo Unlimited campaigns, 5 follow-ups with multi-day schedule, 5 LinkedIn accounts, cloud scheduler

Privacy

Your data stays on your machine:

  • Contacts and messages — local SQLite database
  • AI calls — routed through HeyLead's backend (Gemini 2.0 Flash) or your own key
  • We don't store your messages or contacts on our servers

Power users: Pass your own LLM key (Gemini/Claude/OpenAI) during setup to use your own AI. Completely optional.


Backend mode & env

When the MCP client talks to a HeyLead backend (e.g. heylead-api), the backend uses these environment variables. Operators running their own backend should set them as required.

Purpose Example env vars
LLM GEMINI_API_KEY, or OPENAI_API_KEY / ANTHROPIC_API_KEY if using other providers
Search / crawl SERPER_API_KEY, FIRECRAWL_API_KEY (or similar) for ICP and company context
Auth / storage GOOGLE_* (OAuth), UNIPILE_* (LinkedIn provider), plus DB/Redis if used
Optional Feature flags, rate limits, logging — see backend repo

For full backend configuration and deployment, see the heylead-api (or backend) repo and its docs.


Optional Dependencies

The base install covers all core features. For advanced ICP generation:

pip install heylead[icp]    # Embeddings for RAG-powered ICP generation
pip install heylead[crawl]  # Web crawling for company context ingestion
pip install heylead[all]    # Both

Troubleshooting

"uvx: command not found" Install uv first: curl -LsSf https://astral.sh/uv/install.sh | sh (or brew install uv on Mac)

"MCP server not connecting" Restart your editor after adding the MCP server. In Cursor, check Settings > MCP — the server should show a green dot.

"Setup failed" or "LinkedIn not connected" Make sure you clicked "Connect LinkedIn Now" on the sign-in page and completed the LinkedIn login. Then run setup again.

Need help? Open an issue.


Publishing to PyPI (maintainers)

To make HeyLead available on PyPI (or to publish a new version):

Option A: Publish via GitHub Release (recommended)

  1. One-time: Create a PyPI account and an API token. In your repo: Settings → Secrets and variables → Actions → add secret PYPI_TOKEN with the token value.
  2. Bump version in pyproject.toml (version = "0.2.4").
  3. Commit, push, then create a GitHub Release (tag e.g. v0.2.4, release title optional). The workflow .github/workflows/publish.yml runs on release and publishes to PyPI.

Option B: Publish manually

pip install build twine
python -m build          # creates dist/
twine check dist/*       # optional: validate
twine upload dist/*      # prompts for PyPI username + password (use __token__ and your API token)

After publishing, anyone can install with pip install heylead or run with uvx heylead.


For AI Agents

HeyLead is designed as an MCP-native tool — built for AI agents, not humans clicking buttons.

Install as MCP server:

{
  "heylead": {
    "command": "uvx",
    "args": ["heylead"]
  }
}

OpenClaw: Add to your openclaw.json under mcp.servers:

{
  "name": "heylead",
  "command": "uvx",
  "args": ["heylead"]
}

Also available on ClawHub — search "HeyLead" for one-click install.

Capabilities: LinkedIn lead generation, cold outreach automation, ICP generation with buyer personas, voice-matched personalized messaging, multi-touch drip sequences, reply sentiment classification, engagement warm-ups, campaign analytics, and autonomous 24/7 scheduling.

31 tools covering the full SDR workflow: prospect discovery → outreach → follow-up → reply handling → deal closing.

See AGENTS.md for the full agent integration guide.


Links

License

MIT (code) — see LICENSE

Knowledge base and prompt configurations are proprietary.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

heylead-0.10.110.tar.gz (781.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

heylead-0.10.110-py3-none-any.whl (828.6 kB view details)

Uploaded Python 3

File details

Details for the file heylead-0.10.110.tar.gz.

File metadata

  • Download URL: heylead-0.10.110.tar.gz
  • Upload date:
  • Size: 781.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for heylead-0.10.110.tar.gz
Algorithm Hash digest
SHA256 29d846f892480ad12945b7ce6379e2421be1ca1dd04c5981e2309214f42c4195
MD5 2ec49cc3774c6a3ead741395d3cf72c9
BLAKE2b-256 e016992f853641089ff4da79c32cb3f843083e9cadac2c0f68312dc31fc09872

See more details on using hashes here.

File details

Details for the file heylead-0.10.110-py3-none-any.whl.

File metadata

  • Download URL: heylead-0.10.110-py3-none-any.whl
  • Upload date:
  • Size: 828.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for heylead-0.10.110-py3-none-any.whl
Algorithm Hash digest
SHA256 3a577e0d5863d0550d5ea47ac2275d04566f92a9bfb9e456a0bdaa0efcd1f48d
MD5 064179206758dc42f2f3417f3e306735
BLAKE2b-256 13ae3873ba02c02b64940fce146b6f4b697593e9beba6297ccdcd27faf00d34d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page