@chrischall/mcp-host-cli 0.0.0-stage → 2.33.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -2
- package/package.json +33 -4
- package/src/index.mjs +1418 -0
- package/src/lib.mjs +654 -0
- package/src/login.mjs +53 -0
- package/src/operations.mjs +650 -0
- package/src/prompt.mjs +126 -0
- package/src/seal.mjs +226 -0
- package/src/secrets.mjs +100 -0
- package/src/wizard.mjs +416 -0
package/README.md
CHANGED
|
@@ -1,3 +1,47 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @chrischall/mcp-host-cli
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
`mcp-host` — the admin CLI for an [mcp-host](https://github.com/chrischall/mcp-host)
|
|
4
|
+
deployment: register npm / GitHub / PyPI / MCPB servers, manage secrets, and
|
|
5
|
+
inspect, restart or remove hosted MCPs through the gateway control API.
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
npm i -g @chrischall/mcp-host-cli # Node 20 or newer; no runtime dependencies
|
|
9
|
+
|
|
10
|
+
export MCP_HOST_URL=https://mcp.nullnet.app
|
|
11
|
+
export MCP_HOST_ADMIN_TOKEN=...
|
|
12
|
+
|
|
13
|
+
mcp-host register # no flags on a terminal: the step-by-step wizard
|
|
14
|
+
mcp-host list
|
|
15
|
+
mcp-host help # every command
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
One-off use without installing: `npx @chrischall/mcp-host-cli <command>`.
|
|
19
|
+
|
|
20
|
+
The CLI only talks to the gateway named by `MCP_HOST_URL`, and refuses an
|
|
21
|
+
`http://` URL unless `--insecure` is passed, because the request carries your
|
|
22
|
+
bearer token.
|
|
23
|
+
|
|
24
|
+
Its version tracks the mcp-host release it was cut from, and its commands
|
|
25
|
+
track that release's control API — keep it current with the deployment you
|
|
26
|
+
point it at.
|
|
27
|
+
|
|
28
|
+
## Upgrading from 2.33.0
|
|
29
|
+
|
|
30
|
+
The release after 2.33.0 is stricter in two ways a script can notice. Both
|
|
31
|
+
turn a silent mistake into an error, so they ship as a fix rather than a
|
|
32
|
+
major version:
|
|
33
|
+
|
|
34
|
+
- **Every command refuses a flag it does not take.** Before, ten commands
|
|
35
|
+
(`set`, `register`, `connector`, `build`, `preview`, `bundles`, `infra`,
|
|
36
|
+
`secret`, `marketplace`, `bridge`) dropped an unknown flag and ran anyway —
|
|
37
|
+
`set reg_1 --denny destructive` sent the update without the policy you
|
|
38
|
+
typed. Now it exits 1 with `unknown flag --denny` and the command's usage.
|
|
39
|
+
A script that passed a flag the command never read (for example
|
|
40
|
+
`preview --follow`, `secret rm --legacy`, `infra sync --days`) must drop it.
|
|
41
|
+
- **`approvals approve <id>` asks before it approves.** It shows the tool,
|
|
42
|
+
the registration and the arguments, then needs a "y" at a terminal. Without
|
|
43
|
+
a terminal (a pipe, CI, a cron job) it approves nothing and exits 1 unless
|
|
44
|
+
you pass `--yes`, so add `--yes` to any script that approves calls.
|
|
45
|
+
|
|
46
|
+
An unreachable gateway now prints one `mcp-host:` line and exits 1 instead of
|
|
47
|
+
a `fetch failed` stack trace.
|
package/package.json
CHANGED
|
@@ -1,6 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chrischall/mcp-host-cli",
|
|
3
|
-
"version": "
|
|
4
|
-
"
|
|
5
|
-
"description": "
|
|
6
|
-
|
|
3
|
+
"version": "2.33.1",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Admin CLI for mcp-host: register, list, inspect, and manage hosted MCPs via the gateway control API.",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"author": "chrischall",
|
|
8
|
+
"homepage": "https://github.com/chrischall/mcp-host/tree/main/packages/cli#readme",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/chrischall/mcp-host.git",
|
|
12
|
+
"directory": "packages/cli"
|
|
13
|
+
},
|
|
14
|
+
"bin": {
|
|
15
|
+
"mcp-host": "./src/index.mjs"
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"src/*.mjs"
|
|
19
|
+
],
|
|
20
|
+
"engines": {
|
|
21
|
+
"node": ">=20"
|
|
22
|
+
},
|
|
23
|
+
"publishConfig": {
|
|
24
|
+
"access": "public"
|
|
25
|
+
},
|
|
26
|
+
"scripts": {
|
|
27
|
+
"typecheck": "tsc --noEmit",
|
|
28
|
+
"test": "vitest run"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@types/node": "^26.6.5",
|
|
32
|
+
"typescript": "^7.0.2",
|
|
33
|
+
"vitest": "^5.0.5"
|
|
34
|
+
}
|
|
35
|
+
}
|