Quickstart

One line, one sign-in, then one sentence. The hosted connection needs no Python, uv or API key, and nothing is sent to anyone during setup.

1. Connect the server

Paste this into Claude Code or your AI chat and it follows the setup for your client:

Set up HeyLead using https://heylead.dev/llms.txt

Or do it by hand.

Claude Code, terminal

claude mcp add --transport http --scope user heylead https://heylead.dev/mcp

Open /mcp, select heylead and sign in in the browser. If the server is not listed, start a new session and open /mcp again.

Claude Code desktop, without the CLI

If claude is not on PATH, paste the one-line setup into the Code tab. Your agent adds the remote server to your Claude Code configuration, keeping your existing settings. Start a new session, open /mcp and sign in.

Claude Desktop chat, Cowork and claude.ai

Open Customize → Connectors (or Settings → Connectors), choose Add custom connector, and enter:

https://heylead.dev/mcp

Click Add, then Connect, complete the browser sign-in and enable HeyLead in your conversation.

Cursor

Merge this into .cursor/mcp.json (or ~/.cursor/mcp.json for every project), keeping your other servers, then enable the server in Cursor's MCP settings and sign in:

{"mcpServers": {"heylead": {"url": "https://heylead.dev/mcp"}}}

VS Code

Merge this into .vscode/mcp.json in the project (the key is servers, not mcpServers), then start the server from the MCP panel and sign in:

{"servers": {"heylead": {"type": "http", "url": "https://heylead.dev/mcp"}}}

Any other MCP client

Remote Streamable HTTP at https://heylead.dev/mcp with OAuth browser sign-in. Follow that client's remote-server format; do not reuse a stdio command entry. Discovery: oauth-protected-resource and oauth-authorization-server. A client that cannot do remote HTTP with OAuth can use the dashboard or the local client.

2. Sign in and connect LinkedIn

  1. Sign in with Google when your client opens HeyLead in the browser. The consent page asks for two scopes: reading your workspace, and writing and sending as you. See Authentication.
  2. Connect LinkedIn in the dashboard. The seat connects through Unipile; your LinkedIn password never touches HeyLead.

3. Verify

Ask your AI: "Show my HeyLead status." It should call show_status and report your workspace, even if it is empty. A saved configuration is not a connection; a tool call that answers is. Then accounts shows whether LinkedIn is connected.

4. The first campaign

Describe what you sell and who you want to reach. generate_icp returns two to four buyer personas grounded in your website. create_campaign finds matching people and saves a draft; nothing is sent. Read the draft. Outreach starts only with campaign(action="launch").

A new workspace holds opening messages and follow-ups for your approval: inspect(action="waiting") lists them, and the text you approve is the text that is sent. Invitations are not held. Autopilot is one switch away in Settings → Sending, or scheduler(action="approval_mode"). campaign(action="emergency_stop") pauses everything.

Sends run from the cloud with your laptop closed, Monday to Friday 08:00 to 22:00 in your time zone by default, inside the invitation ceiling of your LinkedIn plan. See pricing for the ceilings in numbers.