# Quickstart

> Connect HeyLead's hosted MCP server from Claude Code, Claude Desktop, claude.ai, Cursor or any MCP client, sign in with Google, connect LinkedIn, and draft the first campaign. No Python, uv or API key.

This is the Markdown twin of https://heylead.dev/docs/quickstart (the page, in text). Index for agents: https://heylead.dev/llms.txt

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](https://heylead.dev/.well-known/oauth-protected-resource) and [oauth-authorization-server](https://heylead.dev/.well-known/oauth-authorization-server). A client that cannot do remote HTTP with OAuth can use the [dashboard](https://heylead.dev/dashboard/login) or the [local client](https://heylead.dev/docs/self-hosted).

## 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](https://heylead.dev/docs/auth).
2. Connect LinkedIn in the [dashboard](https://heylead.dev/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](https://heylead.dev/pricing) for the ceilings in numbers.
