You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#247 was closed as completed, but four of its five distribution channels do not exist — and install friction is now a competitive position, not a convenience #501
#247 ("Multiplatform Distribution Channels — npm/npx, Homebrew, deb/apt, curl, Nix") was closed as completed on 2026-06-20. Measured against the v0.8.9 release on 2026-08-25, what actually exists is:
no — no npm package; nothing in the release assets
Homebrew tap
yes
no
Debian / apt
yes
no — no .deb asset
Nix flake
yes
partial/unknown — a flake.nix exists in the tree, but whether it exposes an installable package output rather than a dev shell was not checked
The v0.8.9 release assets are: four raw binaries (linux-x86_64, macos-aarch64, macos-x86_64, windows-x86_64.exe), one .mcpb, one CycloneDX SBOM, plus .sha256 and .cosign.bundle for each. Good artifacts, narrow channels.
README.md:114 still tells readers these channels are "tracked in #247" — a link to a closed issue. So the README currently points a reader at a completed ticket for work that was not done.
That is the same pattern #493 and #472 are about: a status claim that outran the thing it described. Reopening or superseding #247 is the smaller half of this issue; the larger half is below.
Why this stopped being a convenience item
The comparable MCP server in this niche (openags/paper-search-mcp, 2.5k stars, 249 forks, Python/MIT, actively maintained) ships seven install paths: Smithery, uvx, uv, pip, npx, Docker, and clone-from-source.
doiget's equivalent for a non-Rust user is: download a binary and put it on PATH, or install a C toolchain and cargo install doiget-cli. README.md:101-110 spends ten lines explaining that Windows users need Visual Studio Build Tools or MinGW-w64 before cargo install will link. That paragraph is an accurate description of a real barrier.
For an MCP server specifically, the channel that matters most is the one an agent config can name inline. npx -y <pkg> and uvx <pkg> are single lines in a config file with no prior install step; a downloaded binary is not. Every Claude Desktop / agent-runner config example in the ecosystem is written in that shape, and a tool that cannot be written that way is compared unfavourably before its behaviour is ever evaluated.
Suggested priority, highest first
npx — the MCP ecosystem's default invocation shape. A thin npm wrapper that downloads the matching signed release binary on first run, verifying the existing .sha256 / .cosign.bundle, keeps the Rust build out of the user's path while preserving the supply-chain story.
Docker — what enterprise and CI environments ask for, and the shape in which a security team can pin and scan an artifact. Also the natural answer to "run it inside our network with our own credentials", which is the only architecture the Tier-3 features can legally be used in.
Homebrew tap — macOS developer default; a tap is cheap to maintain from existing assets.
.deb — lower value; most Linux users will take the binary or the container.
cargo binstall deserves a mention: it needs no new channel, only correctly-named release assets, and may already work or nearly work. Worth checking before building anything.
Constraints worth stating up front
Whatever is added must not weaken the release posture. Every current asset is cosign-keyless signed with a published SBOM; a wrapper that downloads a binary must verify it, not merely fetch it.
ADR-0015 forbids self-update and phone-home. A first-run downloader is close enough to that boundary that it needs an explicit decision rather than an assumption — it downloads on install, not on use, and never checks for versions afterwards.
What #247 promised and what shipped
#247 ("Multiplatform Distribution Channels — npm/npx, Homebrew, deb/apt, curl, Nix") was closed as completed on 2026-06-20. Measured against the v0.8.9 release on 2026-08-25, what actually exists is:
scripts/install.sh,scripts/install.ps1.debassetflake.nixexists in the tree, but whether it exposes an installable package output rather than a dev shell was not checkedThe v0.8.9 release assets are: four raw binaries (
linux-x86_64,macos-aarch64,macos-x86_64,windows-x86_64.exe), one.mcpb, one CycloneDX SBOM, plus.sha256and.cosign.bundlefor each. Good artifacts, narrow channels.README.md:114still tells readers these channels are "tracked in #247" — a link to a closed issue. So the README currently points a reader at a completed ticket for work that was not done.That is the same pattern #493 and #472 are about: a status claim that outran the thing it described. Reopening or superseding #247 is the smaller half of this issue; the larger half is below.
Why this stopped being a convenience item
The comparable MCP server in this niche (
openags/paper-search-mcp, 2.5k stars, 249 forks, Python/MIT, actively maintained) ships seven install paths: Smithery, uvx, uv, pip, npx, Docker, and clone-from-source.doiget's equivalent for a non-Rust user is: download a binary and put it on PATH, or install a C toolchain and
cargo install doiget-cli.README.md:101-110spends ten lines explaining that Windows users need Visual Studio Build Tools or MinGW-w64 beforecargo installwill link. That paragraph is an accurate description of a real barrier.For an MCP server specifically, the channel that matters most is the one an agent config can name inline.
npx -y <pkg>anduvx <pkg>are single lines in a config file with no prior install step; a downloaded binary is not. Every Claude Desktop / agent-runner config example in the ecosystem is written in that shape, and a tool that cannot be written that way is compared unfavourably before its behaviour is ever evaluated.Suggested priority, highest first
.sha256/.cosign.bundle, keeps the Rust build out of the user's path while preserving the supply-chain story..deb— lower value; most Linux users will take the binary or the container.cargo binstalldeserves a mention: it needs no new channel, only correctly-named release assets, and may already work or nearly work. Worth checking before building anything.Constraints worth stating up front
Refs #247, #483, ADR-0015.