# Self-hosting

> Run the MIT-licensed HeyLead client on your own machine with your own Unipile account and LLM key, data in local SQLite, with its monthly quotas stated in numbers.

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

The client is MIT-licensed on [GitHub](https://github.com/D4umak/linkedin-outreach-mcp) and on [PyPI](https://pypi.org/project/heylead/). The hosted backend, its prompts and its knowledge base are not part of it. Self-hosting means running the client on your own machine against your own Unipile account and your own LLM key, with data in a local SQLite file.

## Install

You need [uv](https://docs.astral.sh/uv/getting-started/installation/); check with `uvx --version`. Then, in Claude Code:

```
claude mcp add --scope user heylead -- uvx heylead
```

For a stdio client the command is `uvx` with the argument `heylead`; a desktop launcher may need the absolute path from `command -v uvx`. `uvx --refresh heylead` refreshes the package.

## Configure

Configuration lives in `~/.heylead/config.json`: the Unipile API URL and key, and the LLM key. Sending then happens from this machine only; the cloud scheduler is not involved.

## Quotas

Self-hosted free installs have monthly quotas: 50 invitations, 20 messages, 30 engagements, 1 active campaign, 3 ICP generations. Invitation pacing on a self-hosted install is 20 a day as a backstop; the ceiling that matters is your LinkedIn account's.

## Tools

The local client serves 22 tools by default and 47 with `HEYLEAD_TOOLS=all`. See the [tool reference](https://heylead.dev/docs/tools).

## A hosted account from the local client

The local client can also drive a hosted workspace: the setup message under Settings → Integrations → Chat client → Local Python client carries a sign-in token for `setup_profile(backend_jwt=...)`. Outreach then runs from the cloud like any hosted account.

HeyLead is not affiliated with LinkedIn. It reaches LinkedIn through Unipile, which is also not affiliated. LinkedIn's User Agreement prohibits automated messaging and may restrict an account; HeyLead's pacing lowers that risk and does not remove it.
