Skip to content

PyPI

The PyPI project arcane-mcp is six platform wheels, one per release binary, the way ruff and uv ship theirs: the installer picks the wheel for your system and puts the binary on the environment’s scripts path as the arcane-mcp command. That command is the release binary itself, byte for byte; no Python runs between your client and the server. Nothing is published until the first release; see Installation.

Python 3.9 or later, with uv for uvx (or pipx, or pip).

WheelFor
manylinux_2_17_x86_64 / musllinux_1_1_x86_64 (one wheel), and the aarch64 twinLinux on x86-64 or arm64, glibc or musl (Alpine)
macosx_13_0_x86_64, macosx_13_0_arm64macOS 13 or later, Intel or Apple Silicon
win_amd64, win_arm64Windows on x64 or arm64

There is no source distribution: building one would mean building the Go binary, which a Python installer cannot do.

Terminal window
ARCANE_URL=https://arcane.example.com ARCANE_API_KEY=… uvx arcane-mcp

or install it once, which puts an arcane-mcp command on your PATH:

Terminal window
uv tool install arcane-mcp # or: pipx install arcane-mcp
arcane-mcp --version

pip install arcane-mcp into a virtual environment works too, and python -m arcane_mcp runs the same binary (the wheel’s small arcane_mcp module also has find_binary(), which returns the binary’s path).

{
"mcpServers": {
"arcane": {
"command": "uvx",
"args": ["arcane-mcp==X.Y.Z"],
"env": {
"ARCANE_URL": "https://arcane.example.com",
"ARCANE_API_KEY": "<your Arcane API key>"
}
}
}
}

After uv tool install or pipx install, the command can be arcane-mcp, by its absolute path (uv tool dir --bin or pipx environment --value PIPX_BIN_DIR shows the directory) if the client does not see your shell’s PATH. Every client’s entry is on Client setup.

Name the version, arcane-mcp==X.Y.Z, as the entry above does (uv tool install arcane-mcp==X.Y.Z and pipx install arcane-mcp==X.Y.Z for an installed tool). PyPI has no dist-tags: an unpinned install takes the highest version, and a backport never displaces the newest release.

The command a wheel installs is the release binary listed in the signed checksums.txt, so GitHub’s build provenance for that asset verifies it:

Terminal window
# uv tool install, pipx or pip: the command on your PATH is the binary
gh attestation verify "$(command -v arcane-mcp)" -R jmrplens/arcane-mcp \
--signer-workflow jmrplens/arcane-mcp/.github/workflows/release.yml
# uvx: the binary sits in uv's cache, and the package says where
gh attestation verify "$(uvx --from arcane-mcp python -c 'import arcane_mcp; print(arcane_mcp.find_binary())')" \
-R jmrplens/arcane-mcp --signer-workflow jmrplens/arcane-mcp/.github/workflows/release.yml

Each file on PyPI also carries PyPI’s own publish attestation (PEP 740), shown on its page. The rest is under Verifying a release.

The server never updates itself.

Terminal window
uv tool upgrade arcane-mcp # or: pipx upgrade arcane-mcp, pip install -U arcane-mcp
uv tool uninstall arcane-mcp # or: pipx uninstall arcane-mcp, pip uninstall arcane-mcp

With uvx, change the version in the client’s entry; uv cache clean arcane-mcp removes the cached copies.