mcptest docs GitHub

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:

  1. Detect your OS (Linux, macOS, or WSL) and architecture (x86_64 or aarch64).
  2. Resolve the latest release from https://github.com/soapbucket/mcptest/releases/latest.
  3. Download the matching mcptest-<version>-<target>.tar.gz tarball from download.mcptest.sh.
  4. Verify it against the published SHA256SUMS.
  5. Install the binary to ~/.local/bin/mcptest by default.
  6. Print PATH guidance and a mcptest --version check.

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
VariablePurposeDefault
MCPTEST_VERSIONInstall a specific release tag (for example v1.2.0).latest
MCPTEST_PREFIXOverride the install directory.~/.local/bin (or /usr/local/bin under sudo)
MCPTEST_NO_VERIFYSet 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:

  1. $MCPTEST_PREFIX, if set.
  2. /usr/local/bin when running under sudo (uid 0).
  3. ~/.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

OSArchitectureTarget triple
Linuxx86_64x86_64-unknown-linux-gnu
Linuxaarch64aarch64-unknown-linux-gnu
macOSx86_64 (Intel)x86_64-apple-darwin
macOSaarch64 (Apple Silicon)aarch64-apple-darwin
Windows (WSL)x86_64 / aarch64same 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:

  1. Downloads the four release archives (macOS arm64, macOS x86_64, Linux arm64, Linux x86_64).
  2. Computes SHA256 sums for each.
  3. Renders Formula/mcptest.rb from examples/homebrew-tap/Formula/mcptest.rb.tmpl.
  4. Opens a PR against soapbucket/homebrew-tap titled mcptest <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