The one-liner
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.Windows, via WSL
There is no native Windows build yet. The installer mapsDarwin and Linux
to a binary and refuses everything else, so running it from a Windows shell
stops at unsupported OS.
Inside WSL you are on Linux, and the ordinary install is the whole answer:
heymcp login is a device flow — it prints a short code and a URL. If a
browser doesn’t open from inside WSL, paste that URL into your browser on
Windows and approve it there. The CLI waits either way.
What the installer does
It is POSIXsh, and it is short enough to read before you pipe it anywhere —
curl -fsSL https://heymcp.dev/install.sh on its own prints it.
- Detects your platform and refuses clearly on anything unsupported. Windows is not published.
- Picks a directory that’s already on your
PATHand writable withoutsudo, trying~/.local/bin,~/bin,/opt/homebrew/bin,/usr/local/binin that order, and falling back to~/.local/bin. - Works out the current version from
https://heymcp.dev/dl/latestunlessHEYMCP_VERSIONpins one, and downloadsheymcp-{darwin|linux}-{arm64|x86_64}.tar.gzfromhttps://heymcp.dev/dl. - Verifies the SHA-256 against the published
checksums.txtand refuses to install on a mismatch. - Installs the binary, moving rather than copying so an upgrade over a
running binary doesn’t hit
ETXTBSY. - Fixes your
PATHif it had to use a directory that isn’t on it — it appends a line to.zshrc,.bashrcor.profilerather than printing an instruction and hoping. Re-running never duplicates the line.
Controlling the install
string
Where to put the binary. Set this and the auto-detection is skipped entirely.
string
Pin a version instead of taking the newest one. Write it
0.2.0 or v0.2.0,
either works. Setting it skips the latest lookup entirely, so it is also how
you install when that lookup is unreachable.string
default:"https://heymcp.dev/dl"
Where to fetch binaries and checksums from. Mostly of interest if you mirror
releases internally — a mirror needs a
latest file naming the current
version alongside the v* directories, or set HEYMCP_VERSION and it is
never read.Verifying it worked
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: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.