Poly

by opencorp2030-ctrl

Not rated
GitHub

About

One command, every package manager. Installs from pip, npm, and verified binary releases on macOS, Linux, and Windows.(server at https://iuymslcbbrbahxbfuzrr.supabase.co/functions/v1/mcp)

Details

Author
opencorp2030-ctrl
Categories
Developer Tools, Other, Productivity

Setup

Install Poly in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/opencorp2030-ctrl/poly

Follow the installation instructions in the repository README, then restart your MCP client.

One command, every package manager.polyinstalls from pip, npm, Homebrew, and checksum-verified binary releases behind a single unified command, on macOS, Linux, and Windows.

Site + account management:poly.candygate.eu

$ poly install ripgrep downloading ripgrep [############################] 100% 1.7MiB/1.7MiB installed ripgrep 15.1.0 (via tap) note: tap binaries are installed to ~/.poly/bin — make sure it's on your PATH $ poly install requests@2.31.0 installed requests 2.31.0 (via pip) $ poly install npm:cowsay installed cowsay 1.6.0 (via npm) $ poly install brew:jq installed jq 1.8.2 (via brew) $ poly list NAME VERSION ADAPTER INSTALLED cowsay 1.6.0 npm 2026-07-11 15:52 jq 1.8.2 brew 2026-07-11 17:30 requests 2.31.0 pip 2026-07-11 15:52 ripgrep 15.1.0 tap 2026-07-11 15:52

macOS— downloadpoly-macos.pkg, open it, click through the installer. Installs a universal (Intel + Apple Silicon) binary to/usr/local/bin/poly. It's unsigned/unnotarized (no Apple Developer account yet), so Gatekeeper will warn on first open — right-click → Open, orSystem Settings → Privacy & Security → Open Anyway.

Windows— downloadpoly-setup.exe, run it. Installs to%LOCALAPPDATA%\Polyand adds it to your userPATH(no admin rights needed). It's unsigned, so SmartScreen will warn — "More info" → "Run anyway".(Built cross-platform via NSIS; not yet verified on a real Windows machine — please report issues.)

git clone https://github.com/opencorp2030-ctrl/poly.git cd poly go build -o poly . ./poly version # sanity check: runs the binary in place # put it on PATH, e.g.: cp poly /opt/homebrew/bin/poly # macOS (Homebrew's bin, no sudo needed) # or: sudo cp poly /usr/local/bin/poly # macOS/Linux, needs sudo # or: add this folder to PATH yourself poly version # now works from anywhere

Rebuild the installers yourself withVERSION=x.y.z installers/build.sh(needsmakensisfor the Windows one:brew install makensis).

Cross-compile for another OS/arch withGOOS/GOARCH, or runscripts/build-all.shto build all five targets (darwin/linux/windows × amd64/arm64) intodist/.

poly install <name>tries each adapter'sSearchin order —tap → brew → pip → npm → cargo → go— and installs through the first one that reports the package exists. Force a specific backend with a prefix:

Append@versionto pin:poly install requests@2.31.0. pip, npm, and cargo pass that straight through; the tap adapter only offers the version pinned in its formula and errors if you ask for a different one;gotreats it as the module's version/tag.

State lives in~/.poly/manifest.json. Tap binaries land in~/.poly/bin(add it to yourPATH). Login credentials live in~/.poly/credentials.json(mode 0600).poly self-updateand, for Pro accounts,poly upgradealso run automatically in the background (throttled to ~once/day, logged to~/.poly/auto-update.log) so you don't have to remember to run them.

poly initwrites apoly.jsonin the current directory listing every package poly has installed, pinned to its exact version:

{ "packages": [ "tap:ripgrep@15.1.0", "npm:eslint@9.2.0", "pip:requests@2.31.0" ] }

Commit it, and anyone (or any CI machine) can reproduce the same set with a plainpoly install— no arguments needed.

Poly is and stays 100% free and open source — the whole built-in tap catalog (ripgrep,fd,jq, ...) is free too, on purpose: Pro isn't about withholding tools people expect for free. The one real, measurable perk today:

- poly install a b c(multiple packages in one command) installs themsequentiallyon the free tier; signed in with an active Pro plan (poly login), the same command installs themconcurrently, andpoly upgraderuns automatically in the background instead of only on demand.

Manage your account (sign up, check your plan) atpoly.candygate.eu/account.html, backed by Supabase Auth — seeinternal/account/account.gofor the client-side logic and thepublic.profilestable for where plan status lives.

- pip— shells out topip3/pip, streaming its output live so you see pip's own download progress. Search hits the PyPI JSON API (pypi.org/pypi/<name>/json), an exact-name lookup — PyPI has no public free-text search API anymore.
- npm— shells out tonpm install -g, same live-streamed output. Search hitsregistry.npmjs.org/<name>/latest.
- brew— shells out to a localbrew install/brew uninstall, same live-streamed output. Search hits the publicformulae.brew.sh/api/formula/<name>.json, so it works even without brew installed (only actually installing needs it).
- cargo— shells out tocargo install --force/cargo uninstall. Search hits the publiccrates.io/api/v1/crates/<name>API.
- go— shells out togo install <module>@version. Packages here are full module import paths, not short names (e.g.golang.org/x/tools/cmd/goimports), so this one is realistically only used via an explicitgo:prefix. Search walks the path upward against the public Go module proxy until it finds the enclosing module, the same resolutiongo installdoes internally.
- tap— installs prebuilt binaries directly from a pinned URL, with a live byte-progress bar during download, verified against a SHA-256 checksum, then extracted (.tar.gz/.zip) or copied into~/.poly/bin. No Python, Node, Rust, or Homebrew needed.

Drop a YAML file into~/.poly/taps/<name>.yaml(this overrides any built-in formula of the same name — seeinternal/registry/embedded/tapsfor the ones that ship with poly):

name: ripgrep description: "Line-oriented search tool that recursively searches directories for a regex pattern" homepage: "https://github.com/BurntSushi/ripgrep" version: "15.1.0" binary: rg tier: free # omit for free, or "pro" to gate it behind an active Pro plan artifacts: darwin_arm64: url: "https://github.com/BurntSushi/ripgrep/releases/download/15.1.0/ripgrep-15.1.0-aarch64-apple-darwin.tar.gz" sha256: "378e973289176ca0c6054054ee7f631a065874a352bf43f0fa60ef079b6ba715" darwin_amd64: { url: "...", sha256: "..." } linux_amd64: { url: "...", sha256: "..." } linux_arm64: { url: "...", sha256: "..." } windows_amd64: { url: "...", sha256: "..." }

The artifact key is<GOOS>_<GOARCH>.poly install <name>picks the entry matching the machine it's running on. Built-in formulas today, all free:ripgrep,fd,jq— seeinternal/registry/embedded/taps.

main.go entrypoint cmd/ cobra commands (install, upgrade, init, info, account, self-update, ...) internal/manifest/ ~/.poly/manifest.json read/write internal/lockfile/ poly.json read/write internal/adapters/ Adapter interface + pip, npm, brew, cargo, go, tap implementations internal/registry/embedded/ tap formulas built into the binary internal/account/ Supabase Auth client (login/plan/profile) internal/selfupdate/ downloads + verifies + replaces the poly binary installers/ macOS .pkg and Windows .exe installer sources site/ marketing site, docs, account, community pages scripts/build-all.sh cross-platform release build

Working: install/remove/list/search/info/upgrade/init across pip, npm, brew, cargo, go, and tap; version pinning; automatic self-update and (Pro) automatic package upgrades; macOS/Windows installers; a Supabase- backed account system with a community directory. Not yet built: signed/ notarized installers, a package search UI covering every adapter's full catalog (vs. exact-name lookups), and Linux distro package managers (apt/dnf/pacman).

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

Drive a real iPhone via macOS iPhone Mirroring, taps, swipes, OCR, plus Xcode build/test automation on simulators and devices. No jailbreak.

Store secrets in the OS keychain (macOS/Linux/Windows) and expose them to AI coding agents through 44 policy-governed MCP tools.

Caches large tool responses to files and returns compact resource links to save LLM context window space.

Query live Mac system metrics, listening ports, and Claude Code and Codex session history.

A VS Code extension with a GUI for the agentic-tools-mcp server, enhancing task and memory management.

Receive system notifications in your code editor when an AI response is complete.

Provides utility functions for common tasks like text processing, encoding, decoding, hashing, and system information.

Hebbian memory for AI agents — learns file access patterns, builds neural pathways, predicts next tools/files, saves tokens

Paid remote MCP for AI browser purchase approval checks, spend thresholds, merchant evidence, risk notes, and audit receipts.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.