Pharos CLI
A single Go binary with 33 commands for searching, installing, and managing MCP servers across 7 connected registries (133,000+ indexed packages). No Node, no npx, no sandbox.
For Developers
Package and publish MCP servers with pharos publish. Sign builds, attach SBOMs, and push to the registry. Manage versions: unpublish a broken release, republish to restore, or purge with --all.
For Power Users
Search the registry, install servers into any of 16 MCP clients, audit for known vulnerabilities, run health checks with pharos doctor, and keep everything up to date.
Install
curl -fsSL https://getpharos.dev/install | shirm https://getpharos.dev/install.ps1 | iexgo install github.com/Wpnx330/pharos-cli@latestgit clone https://github.com/Wpnx330/pharos-cli.git && cd pharos-cli && go build -o pharos .Releases
Verify
pharos versionQuick start
# Search for a package
pharos search "flight tracker"# Install a package
pharos install my-test-mcp-server# Resolve and print the dependency tree
pharos lock# Check installed packages for issues
pharos auditFeature highlights
Dependency auto-resolution
Declare dependencies in pharos.json. Pharos resolves and installs them recursively, with circular detection and version conflict resolution.
Lock files
Run pharos lock to resolve all dependencies and print the full tree. Idempotent re-installs get the same versions every time.
Security audit
Scan installed servers for known vulnerabilities with pharos audit. Ignore advisories or output JSON for CI.
Health checks
Run pharos doctor to inspect registry connectivity, installed servers, lockfile hashes, and client configs across JSON, YAML, and TOML formats. Use --json for scripting.
Auto-config for 16 clients
pharos install detects installed MCP clients and patches their config files safely — preserving existing non-MCP keys. Supports 16 clients across JSON, YAML, and TOML formats.
Version management
Unpublish a broken release, republish to restore it, or purge it permanently. Act on every version with --all.
Start and stop servers
Run a server in the foreground for debugging, or start it detached and stop it by name.
Daemon with JIT loading
pharos daemon start watches your MCP servers, auto-unloads idle ones after a configurable timeout, and reloads them on the next request. Set --idle-timeout 0 for always-on.
Search and discovery
Search the registry by keyword, paginate results, and inspect package details with pharos info. JSON output available for scripting.