Installing mcptest
mcptest ships as a single static binary. The fastest path is the install script served at https://download.mcptest.sh/install.sh, which detects your platform, fetches the right release tarball from download.mcptest.sh, verifies its SHA256, and drops the binary into a user-writable directory.
Quickstart
curl -fsSL https://download.mcptest.sh/install.sh | sh
That command will:
- Detect your OS (Linux, macOS, or WSL) and architecture (
x86_64oraarch64). - Resolve the latest release from
https://github.com/soapbucket/mcptest/releases/latest. - Download the matching
mcptest-<version>-<target>.tar.gztarball fromdownload.mcptest.sh. - Verify it against the published
SHA256SUMS. - Install the binary to
~/.local/bin/mcptestby default. - Print PATH guidance and a
mcptest --versioncheck.
When the script finishes, run:
mcptest --version
If the command is not found, your install dir is not on PATH. The script's "next steps" footer prints the exact line to add to your shell rc file.
Environment overrides
The install script is configured through environment variables, not flags. Set them before the pipe:
curl -fsSL https://download.mcptest.sh/install.sh | MCPTEST_VERSION=v1.2.0 sh
| Variable | Purpose | Default |
|---|---|---|
MCPTEST_VERSION | Install a specific release tag (for example v1.2.0). | latest |
MCPTEST_PREFIX | Override the install directory. | ~/.local/bin (or /usr/local/bin under sudo) |
MCPTEST_NO_VERIFY | Set to 1 to skip SHA256 verification (not recommended). | off |
Examples:
# Pin to a specific version.
curl -fsSL https://download.mcptest.sh/install.sh | MCPTEST_VERSION=v1.2.0 sh
# Install to /usr/local/bin (may need sudo, depending on your setup).
curl -fsSL https://download.mcptest.sh/install.sh | sudo env MCPTEST_PREFIX=/usr/local/bin sh
If you want to read the script before running it, you can:
curl -fsSL https://download.mcptest.sh/install.sh -o /tmp/mcptest-install.sh
less /tmp/mcptest-install.sh
sh /tmp/mcptest-install.sh
Where the binary lands
By default the binary is installed to ~/.local/bin/mcptest. That path is on PATH by default in most modern Linux distributions and on macOS when using shells that follow the XDG base directory spec.
If you set MCPTEST_PREFIX, the script honors it. Otherwise the lookup order is:
$MCPTEST_PREFIX, if set./usr/local/binwhen running under sudo (uid 0).~/.local/bin.
The script creates the directory if it does not exist. It does not modify your shell rc file. Editing your rc file is left to you so the script does not surprise you on re-runs.
Supported platforms
| OS | Architecture | Target triple |
|---|---|---|
| Linux | x86_64 | x86_64-unknown-linux-gnu |
| Linux | aarch64 | aarch64-unknown-linux-gnu |
| macOS | x86_64 (Intel) | x86_64-apple-darwin |
| macOS | aarch64 (Apple Silicon) | aarch64-apple-darwin |
| Windows (WSL) | x86_64 / aarch64 | same as Linux |
Native Windows (PowerShell) is not yet supported by this script. Homebrew support ships through a separate tap; see the next section.
Homebrew (macOS and Linuxbrew)
Homebrew users can install mcptest from the soapbucket/tap in two commands:
brew tap soapbucket/tap
brew install mcptest
Or as a single line:
brew install soapbucket/tap/mcptest
The formula is generated on every GitHub Release by .github/workflows/release-homebrew.yml, which:
- Downloads the four release archives (macOS arm64, macOS x86_64, Linux arm64, Linux x86_64).
- Computes SHA256 sums for each.
- Renders
Formula/mcptest.rbfromexamples/homebrew-tap/Formula/mcptest.rb.tmpl. - Opens a PR against
soapbucket/homebrew-taptitledmcptest <version>for human review and merge.
You can preview the formula layout the workflow will publish by reading examples/homebrew-tap/Formula/mcptest.rb in this repo. That file is a scaffold; the live tap repo holds the real, version-stamped formula.
Upgrading is the usual Homebrew dance:
brew update
brew upgrade mcptest
Uninstalling is brew uninstall mcptest. Tap removal (brew untap soapbucket/tap) is optional and only matters if you no longer want Homebrew to fetch updates from this tap.
Upgrading
Re-run the install command. The script overwrites the binary already in the prefix with the resolved version:
curl -fsSL https://download.mcptest.sh/install.sh | sh
To move to a specific release rather than the latest, pin it with MCPTEST_VERSION:
curl -fsSL https://download.mcptest.sh/install.sh | MCPTEST_VERSION=v1.2.0 sh
Uninstalling
mcptest does not write outside the binary, so uninstall is one command:
rm "$(command -v mcptest)"
If you also want to clear the user config dir (cassettes, cached schemas, recent reports), remove ~/.config/mcptest and ~/.cache/mcptest. Both follow the XDG base directory spec.
Verifying the checksum yourself
The install script verifies the download against SHA256SUMS before placing the binary on disk. If you prefer to do it by hand:
VERSION=v1.2.0
TARGET=x86_64-unknown-linux-gnu
BASE="https://download.mcptest.sh/${VERSION}"
curl -fsSLO "${BASE}/mcptest-${VERSION#v}-${TARGET}.tar.gz"
curl -fsSLO "${BASE}/SHA256SUMS"
sha256sum --ignore-missing -c SHA256SUMS
On macOS, swap sha256sum --ignore-missing -c for shasum -a 256 -c.
Building from source
If you prefer a source build, you need a stable Rust toolchain (see rust-toolchain.toml):
git clone https://github.com/soapbucket/mcptest
cd mcptest
cargo install --path crates/mcptest
cargo install drops the binary into ~/.cargo/bin/mcptest. Make sure that directory is on your PATH.
Troubleshooting
mcptest: command not found after install. Your install dir is not on PATH. The script prints the exact line to add to ~/.bashrc or ~/.zshrc. After editing, run exec $SHELL -l to reload.
checksum mismatch during install. The download was corrupted or tampered with in transit. Re-run the install. If it keeps failing, open an issue at https://github.com/soapbucket/mcptest/issues with the version and target shown in the script output.
unsupported architecture. We publish prebuilt binaries for x86_64 and aarch64. For other architectures (riscv64, armv7, ppc64le), build from source.
Reference
- Install script source:
scripts/install.sh. This is the file served byte-for-byte athttps://download.mcptest.sh/install.sh. - Release process:
docs/release-process.md.