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

Unix / macOS / WSL / Git Bash
curl -fsSL https://getpharos.dev/install | sh
Windows PowerShell
irm https://getpharos.dev/install.ps1 | iex
Go install
go install github.com/Wpnx330/pharos-cli@latest
Build from source
git clone https://github.com/Wpnx330/pharos-cli.git && cd pharos-cli && go build -o pharos .

Releases

Verify

Check the install worked
pharos version

Quick start

Search
# Search for a package
pharos search "flight tracker"
Install
# Install a package
pharos install my-test-mcp-server
Lock (dependency tree)
# Resolve and print the dependency tree
pharos lock
Audit
# Check installed packages for issues
pharos audit

Feature 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.