@chrischall/mcp-host-cli
mcp-host — the admin CLI for an mcp-host
deployment: register npm / GitHub / PyPI / MCPB servers, manage secrets, and
inspect, restart or remove hosted MCPs through the gateway control API.
npm i -g @chrischall/mcp-host-cli # Node 20 or newer; no runtime dependencies
export MCP_HOST_URL=https://mcp.nullnet.app
export MCP_HOST_ADMIN_TOKEN=...
mcp-host register # no flags on a terminal: the step-by-step wizard
mcp-host list
mcp-host help # every command
One-off use without installing: npx @chrischall/mcp-host-cli <command>.
The CLI only talks to the gateway named by MCP_HOST_URL, and refuses an
http:// URL unless --insecure is passed, because the request carries your
bearer token.
Its version tracks the mcp-host release it was cut from, and its commands track that release's control API — keep it current with the deployment you point it at.
Upgrading from 2.33.0
The release after 2.33.0 is stricter in two ways a script can notice. Both turn a silent mistake into an error, so they ship as a fix rather than a major version:
- Every command refuses a flag it does not take. Before, ten commands
(
set,register,connector,build,preview,bundles,infra,secret,marketplace,bridge) dropped an unknown flag and ran anyway —set reg_1 --denny destructivesent the update without the policy you typed. Now it exits 1 withunknown flag --dennyand the command's usage. A script that passed a flag the command never read (for examplepreview --follow,secret rm --legacy,infra sync --days) must drop it. approvals approve <id>asks before it approves. It shows the tool, the registration and the arguments, then needs a "y" at a terminal. Without a terminal (a pipe, CI, a cron job) it approves nothing and exits 1 unless you pass--yes, so add--yesto any script that approves calls.
An unreachable gateway now prints one mcp-host: line and exits 1 instead of
a fetch failed stack trace.