> ## Documentation Index
> Fetch the complete documentation index at: https://docs.heymcp.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> Install the heymcp CLI, and control where it goes.

## The one-liner

```bash theme={null}
curl -fsSL https://heymcp.dev/install.sh | sh
```

That's the whole thing. macOS and Linux, Intel and ARM.

<Note>
  Homebrew and npm packages don't exist yet. If you see a `brew install heymcp`
  or `npm install -g heymcp` in an older writeup, it won't work — the installer
  above is the only supported route today.
</Note>

## What the installer does

It is POSIX `sh`, and it is short enough to read before you pipe it anywhere —
`curl -fsSL https://heymcp.dev/install.sh` on its own prints it.

1. **Detects your platform** and refuses clearly on anything unsupported.
   Windows is not published.
2. **Picks a directory that's already on your `PATH`** and writable without
   `sudo`, trying `~/.local/bin`, `~/bin`, `/opt/homebrew/bin`, `/usr/local/bin`
   in that order, and falling back to `~/.local/bin`.
3. **Downloads** `heymcp-{darwin|linux}-{arm64|x86_64}.tar.gz` from
   `https://heymcp.dev/dl`.
4. **Verifies the SHA-256** against the published `checksums.txt` and refuses to
   install on a mismatch.
5. **Installs the binary**, moving rather than copying so an upgrade over a
   running binary doesn't hit `ETXTBSY`.
6. **Fixes your `PATH`** if it had to use a directory that isn't on it — it
   appends a line to `.zshrc`, `.bashrc` or `.profile` rather than printing an
   instruction and hoping. Re-running never duplicates the line.

## Controlling the install

<ParamField path="HEYMCP_INSTALL_DIR" type="string" default="a writable directory already on PATH, else ~/.local/bin">
  Where to put the binary. Set this and the auto-detection is skipped entirely.
</ParamField>

<ParamField path="HEYMCP_VERSION" type="string" default="the latest published version">
  Install a specific version instead of the current one.
</ParamField>

<ParamField path="HEYMCP_DOWNLOAD_BASE" type="string" default="https://heymcp.dev/dl">
  Where to fetch binaries and checksums from. Mostly of interest if you mirror
  releases internally.
</ParamField>

```bash theme={null}
HEYMCP_INSTALL_DIR=/usr/local/bin curl -fsSL https://heymcp.dev/install.sh | sh
```

## Verifying it worked

```bash theme={null}
heymcp version
```

If your shell says `command not found`, the installer told you which file it
edited — open a new terminal, or source it.

## Upgrading

Re-run the one-liner. It overwrites the existing binary in place.

## Uninstalling

Delete the binary and the config directory:

```bash theme={null}
rm "$(command -v heymcp)"
rm -rf ~/.config/heymcp
```

The `PATH` line the installer may have added to your shell rc file is marked
with a `# Added by the heymcp installer` comment; remove it if that directory
is now empty.

<Tip>
  Running `heymcp logout` before you uninstall revokes the CLI token server-side
  as well as deleting it locally. Just deleting the config file leaves the token
  valid until you roll it from your profile page.
</Tip>
