@cloudgrid-io/mcp 0.19.2 → 0.19.4

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 CHANGED
@@ -9,7 +9,7 @@ It ships in two editions from one codebase:
9
9
  - **Web (hosted HTTP)** — a light, CLI-free toolset (drop, claim, login,
10
10
  visibility) for web clients like claude.ai. See [REMOTE.md](REMOTE.md).
11
11
 
12
- The local edition wraps the `cloudgrid` CLI for authenticated operations (the CLI
12
+ The local edition wraps the `grid` CLI for authenticated operations (the CLI
13
13
  handles auth, org context, and error formatting) and calls the API directly for the
14
14
  drop, claim, and login tools.
15
15
 
@@ -33,10 +33,10 @@ Install and log in to the CLI:
33
33
 
34
34
  ```
35
35
  npm install -g @cloudgrid-io/cli
36
- cloudgrid login
36
+ grid login
37
37
  ```
38
38
 
39
- The server reads no credentials directly. It runs `cloudgrid`, which uses its own
39
+ The server reads no credentials directly. It runs `grid`, which uses its own
40
40
  stored credentials at `~/.cloudgrid/credentials`.
41
41
 
42
42
  ## Run
@@ -79,28 +79,28 @@ also work in the web edition where no CLI exists. `grid_login` writes the same
79
79
 
80
80
  | Tool | Wraps | Notes |
81
81
  |---|---|---|
82
- | `grid_init` | `cloudgrid init` | Register an app or agent; optionally seed a web service. |
83
- | `grid_logs` | `cloudgrid logs` | Snapshot of recent logs. Does not stream. Read-only. |
84
- | `grid_share` | `cloudgrid visibility set` | Set visibility, default link. |
85
- | `grid_feedback` | `cloudgrid feedback list` | Read the org feedback feed. Read-only. |
86
- | `grid_whoami` | `cloudgrid whoami` | Show the signed-in user and active org. Read-only. |
87
- | `grid_use` | `cloudgrid use` | Switch the active org. |
88
- | `grid_logout` | `cloudgrid logout` | Sign out and clear local credentials. Destructive. |
89
- | `grid_status` | `cloudgrid status` | Org dashboard or entity detail. Read-only. |
90
- | `grid_info` | `cloudgrid info` | Entity metadata. Read-only. |
91
- | `grid_get` | `cloudgrid get grids\|entities\|spaces` | List grids, entities, or spaces. Read-only. |
92
- | `grid_describe_grid` | `cloudgrid describe grid <slug>` | Grid detail. Read-only. |
93
- | `grid_pickup` | `cloudgrid pickup <name>` | Download an entity's source and bind the folder. |
94
- | `grid_rename` | `cloudgrid rename` | Rename an entity's display name. |
95
- | `grid_unplug` | `cloudgrid unplug` | Take an entity off the grid. Destructive; requires confirm. |
96
- | `grid_delete` | `cloudgrid delete entity` | Archive an inspiration. Destructive; requires confirm. |
97
- | `grid_rollback` | `cloudgrid rollback` | Rollback to a previous version. |
98
- | `grid_versions` | `cloudgrid versions` | List published versions. Read-only. |
99
- | `grid_env` | `cloudgrid env` | Get, set, or list environment variables. |
100
- | `grid_secrets` | `cloudgrid secrets` | Set or list secret names. Never returns secret values. |
101
- | `grid_scaffold` | `cloudgrid scaffold` | Generate starter files. |
102
- | `grid_doctor` | `cloudgrid doctor` | Run local diagnostics. Read-only. |
103
- | `grid_open` | `cloudgrid open --print` | Return the public URL. Does not open a browser. Read-only. |
82
+ | `grid_init` | `grid init` | Register an app or agent; optionally seed a web service. |
83
+ | `grid_logs` | `grid logs` | Snapshot of recent logs. Does not stream. Read-only. |
84
+ | `grid_share` | `grid visibility set` | Set visibility, default link. |
85
+ | `grid_feedback` | `grid feedback list` | Read the org feedback feed. Read-only. |
86
+ | `grid_whoami` | `grid whoami` | Show the signed-in user and active org. Read-only. |
87
+ | `grid_use` | `grid use` | Switch the active org. |
88
+ | `grid_logout` | `grid logout` | Sign out and clear local credentials. Destructive. |
89
+ | `grid_status` | `grid status` | Org dashboard or entity detail. Read-only. |
90
+ | `grid_info` | `grid info` | Entity metadata. Read-only. |
91
+ | `grid_get` | `grid get grids\|entities\|spaces` | List grids, entities, or spaces. Read-only. |
92
+ | `grid_describe_grid` | `grid describe grid <slug>` | Grid detail. Read-only. |
93
+ | `grid_pickup` | `grid pickup <name>` | Download an entity's source and bind the folder. |
94
+ | `grid_rename` | `grid rename` | Rename an entity's display name. |
95
+ | `grid_unplug` | `grid unplug` | Take an entity off the grid. Destructive; requires confirm. |
96
+ | `grid_delete` | `grid delete entity` | Archive an inspiration. Destructive; requires confirm. |
97
+ | `grid_rollback` | `grid rollback` | Rollback to a previous version. |
98
+ | `grid_versions` | `grid versions` | List published versions. Read-only. |
99
+ | `grid_env` | `grid env` | Get, set, or list environment variables. |
100
+ | `grid_secrets` | `grid secrets` | Set or list secret names. Never returns secret values. |
101
+ | `grid_scaffold` | `grid scaffold` | Generate starter files. |
102
+ | `grid_doctor` | `grid doctor` | Run local diagnostics. Read-only. |
103
+ | `grid_open` | `grid open --print` | Return the public URL. Does not open a browser. Read-only. |
104
104
 
105
105
  `grid_share` and `grid_visibility` overlap on purpose: `grid_share`
106
106
  wraps the CLI and defaults to `link`; `grid_visibility` is direct API, takes an
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloudgrid-io/mcp",
3
- "version": "0.19.2",
3
+ "version": "0.19.4",
4
4
  "description": "MCP server for CloudGrid. Three editions: a local stdio server (full toolset), a hosted web server (light, CLI-free toolset), and a public docs server (search_cloudgrid_documentation) over MCP Streamable HTTP.",
5
5
  "type": "module",
6
6
  "bin": {
package/src/auth.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // CLI-free sign-in against CloudGrid's existing OAuth backend.
2
2
  //
3
- // The flow is the same one `cloudgrid login` uses, driven without the CLI:
3
+ // The flow is the same one `grid login` uses, driven without the CLI:
4
4
  // 1. pick a UUID `code`
5
5
  // 2. user opens GET /auth/login?code=<code> and signs in with Google
6
6
  // 3. poll GET /auth/status?code=<code> until it returns the signed JWT (once)
package/src/cli-shim.mjs CHANGED
@@ -19,7 +19,7 @@
19
19
  // It also strips ELECTRON_RUN_AS_NODE from the environment: the variable has
20
20
  // done its job once this file is executing, and letting it leak further would
21
21
  // break anything Electron-based the CLI spawns later (e.g. a browser opened
22
- // for `cloudgrid login` would silently boot as a headless Node process).
22
+ // for `grid login` would silently boot as a headless Node process).
23
23
 
24
24
  import { pathToFileURL } from "node:url";
25
25
 
@@ -42,39 +42,39 @@ brew install cloudgrid-io/tap/cloudgrid
42
42
  npm install -g @cloudgrid-io/cli
43
43
  ```
44
44
 
45
- **Manual** — download the latest from [Releases](https://github.com/cloudgrid-io/cli/releases), extract, and put `cloudgrid` on your `$PATH`.
45
+ **Manual** — download the latest from [Releases](https://github.com/cloudgrid-io/cli/releases), extract, and put `grid` on your `$PATH`.
46
46
 
47
- Verify: `cloudgrid --version` and `cloudgrid doctor`. The shorthand `cg` works for every command.
47
+ Verify: `grid --version` and `grid doctor`.
48
48
 
49
49
  ## Quickstart
50
50
 
51
51
  ```
52
- cloudgrid login # Google OAuth in the browser
53
- cloudgrid whoami # confirm user + active org
54
- cloudgrid plug # build + deploy the current directory, prints the live URL
55
- cloudgrid open # open it in the browser
52
+ grid login # Google OAuth in the browser
53
+ grid whoami # confirm user + active org
54
+ grid plug # build + deploy the current directory, prints the live URL
55
+ grid open # open it in the browser
56
56
  ```
57
57
 
58
- No account needed to try a one-off share: `cloudgrid plug ./index.html` drops a public link.
58
+ No account needed to try a one-off share: `grid plug ./index.html` drops a public link.
59
59
 
60
60
  ## Examples
61
61
 
62
62
  ```
63
63
  # Scaffold and deploy a Node app
64
- cloudgrid init app my-api --type node
65
- cd my-api && cloudgrid plug
64
+ grid init app my-api --type node
65
+ cd my-api && grid plug
66
66
 
67
67
  # Deploy the current directory and tail its logs
68
- cloudgrid plug
69
- cloudgrid logs --since 10m
68
+ grid plug
69
+ grid logs --since 10m
70
70
 
71
71
  # Make a deploy public, then read feedback
72
- cloudgrid visibility set my-api link
73
- cloudgrid feedback
72
+ grid visibility set my-api link
73
+ grid feedback
74
74
 
75
75
  # Switch org, list what's on the grid
76
- cloudgrid use atomic
77
- cloudgrid grid
76
+ grid use atomic
77
+ grid grid
78
78
  ```
79
79
 
80
80
  ## Commands
@@ -122,7 +122,7 @@ Common per-command:
122
122
  npm update -g @cloudgrid-io/cli # npm
123
123
  brew upgrade cloudgrid # homebrew
124
124
  ```
125
- `cloudgrid doctor` warns when a newer version is available.
125
+ `grid doctor` warns when a newer version is available.
126
126
 
127
127
  ## Uninstall
128
128
 
@@ -134,9 +134,9 @@ rm -rf ~/.cloudgrid # remove stored credentials + config
134
134
 
135
135
  ## Troubleshooting
136
136
 
137
- - **`cloudgrid: command not found`** — ensure the npm global bin (or Homebrew bin) is on `$PATH`; re-run the installer.
138
- - **Auth errors / 401** — `cloudgrid login` again; check `cloudgrid whoami` shows the expected org, switch with `cloudgrid use <org>`.
139
- - **Deploy fails** — run `cloudgrid doctor`; check `cloudgrid logs` and `cloudgrid status <name>` for the trace.
137
+ - **`grid: command not found`** — ensure the npm global bin (or Homebrew bin) is on `$PATH`; re-run the installer.
138
+ - **Auth errors / 401** — `grid login` again; check `grid whoami` shows the expected org, switch with `grid use <org>`.
139
+ - **Deploy fails** — run `grid doctor`; check `grid logs` and `grid status <name>` for the trace.
140
140
 
141
141
  ## Support
142
142
 
@@ -9,7 +9,7 @@ The CLI is installed and you are logged in:
9
9
 
10
10
  ```
11
11
  npm install -g @cloudgrid-io/cli
12
- cloudgrid login
12
+ grid login
13
13
  ```
14
14
 
15
15
  ## The build-and-ship loop
@@ -23,27 +23,27 @@ init -> plug -> logs -> share -> feedback
23
23
  Register a new app and seed a static web service:
24
24
 
25
25
  ```
26
- cloudgrid init app my-thing --type static
26
+ grid init app my-thing --type static
27
27
  ```
28
28
 
29
29
  `--type` accepts `node`, `nextjs`, `python`, or `static`. For an agent, use
30
- `cloudgrid init agent my-thing`.
30
+ `grid init agent my-thing`.
31
31
 
32
32
  ### 2. Deploy
33
33
 
34
34
  From the project directory, deploy it:
35
35
 
36
36
  ```
37
- cloudgrid plug
37
+ grid plug
38
38
  ```
39
39
 
40
- `cloudgrid plug` also takes a path or a URL. It builds and deploys, then prints the
40
+ `grid plug` also takes a path or a URL. It builds and deploys, then prints the
41
41
  live URL. This usually takes about 30 seconds.
42
42
 
43
43
  ### 3. Watch the logs
44
44
 
45
45
  ```
46
- cloudgrid logs my-thing --follow
46
+ grid logs my-thing --follow
47
47
  ```
48
48
 
49
49
  Drop `--follow` for a one-time tail. `--since 5m` limits how far back to read.
@@ -53,13 +53,13 @@ Drop `--follow` for a one-time tail. `--since 5m` limits how far back to read.
53
53
  Make the entity reachable by anyone with the link. The command prints the URL:
54
54
 
55
55
  ```
56
- cloudgrid visibility set my-thing link
56
+ grid visibility set my-thing link
57
57
  ```
58
58
 
59
59
  ### 5. Read feedback
60
60
 
61
61
  ```
62
- cloudgrid feedback list
62
+ grid feedback list
63
63
  ```
64
64
 
65
65
  ## Share an artifact with no account
@@ -98,10 +98,10 @@ the drop's expiry. Editing an archived or expired drop returns 409
98
98
 
99
99
  - **Ship an existing directory:** `plug`
100
100
  - **Deploy a URL as an inspiration:** `plug https://example.com`
101
- - **Refresh discovery metadata after a change:** `cloudgrid brain refresh my-thing --wait`
101
+ - **Refresh discovery metadata after a change:** `grid brain refresh my-thing --wait`
102
102
 
103
103
  ## Notes
104
104
 
105
105
  - Every command uses the active org and linked entity when you omit the name. Run
106
- `cloudgrid whoami` to see the active context.
106
+ `grid whoami` to see the active context.
107
107
  - These skills wrap the CLI. Anything the CLI can do, a skill can drive.
@@ -5,10 +5,10 @@ order. Stop and ask the user only where a step says to.
5
5
 
6
6
  ## 1. Ensure the CLI is present
7
7
 
8
- Check whether `cloudgrid` is on `$PATH`:
8
+ Check whether `grid` is on `$PATH`:
9
9
 
10
10
  ```
11
- cloudgrid --version
11
+ grid --version
12
12
  ```
13
13
 
14
14
  If that fails, install it:
@@ -20,10 +20,10 @@ npm install -g @cloudgrid-io/cli
20
20
  ## 2. Ensure the user is logged in
21
21
 
22
22
  ```
23
- cloudgrid whoami
23
+ grid whoami
24
24
  ```
25
25
 
26
- If that fails, tell the user to run `cloudgrid login` and wait for them to confirm.
26
+ If that fails, tell the user to run `grid login` and wait for them to confirm.
27
27
  Do not attempt to log in for them. Do not invent an auth flow.
28
28
 
29
29
  ## 3. Confirm the skills are available
@@ -44,7 +44,7 @@ Load the `SKILL.md` for the action the user wants:
44
44
 
45
45
  Each `SKILL.md` carries its own steps. Follow them exactly. The common rules:
46
46
 
47
- - Wrap only the `cloudgrid` CLI. Do not call the API directly.
47
+ - Wrap only the `grid` CLI. Do not call the API directly.
48
48
  - Detect the user's language from their first message and reply in it. Keep
49
49
  technical flags in English.
50
50
  - Print results concisely: URLs and short summaries. Never dump raw JSON or IDs.
@@ -5,14 +5,14 @@ cover the CLI prerequisite, then each agent.
5
5
 
6
6
  ## Prerequisite: the CloudGrid CLI
7
7
 
8
- Every skill drives the `cloudgrid` CLI. Install it once and log in:
8
+ Every skill drives the `grid` CLI. Install it once and log in:
9
9
 
10
10
  ```
11
11
  npm install -g @cloudgrid-io/cli
12
- cloudgrid login
12
+ grid login
13
13
  ```
14
14
 
15
- `cloudgrid whoami` confirms you are logged in.
15
+ `grid whoami` confirms you are logged in.
16
16
 
17
17
  ## Add the skills
18
18
 
@@ -124,7 +124,7 @@ The MCP server is published separately as
124
124
  npx -y @cloudgrid-io/mcp
125
125
  ```
126
126
 
127
- It wraps the same `cloudgrid` CLI and uses the same credentials, so no extra login
127
+ It wraps the same `grid` CLI and uses the same credentials, so no extra login
128
128
  is needed. Remote-capable clients can point at `https://mcp.cloudgrid.io/mcp`
129
129
  instead. See [USAGE.md](USAGE.md) for per-client snippets.
130
130
 
@@ -138,7 +138,7 @@ Desktop: Settings, Extensions, Install from file):
138
138
  https://github.com/cloudgrid-io/mcp/releases/latest/download/cloudgrid.mcpb
139
139
  ```
140
140
 
141
- The bundle carries the full local toolset (including the `cloudgrid` CLI), so deploy
141
+ The bundle carries the full local toolset (including the `grid` CLI), so deploy
142
142
  and secrets tools work without a separate install. Sign in from chat with the
143
143
  `grid_login` tool on first use.
144
144
 
@@ -14,8 +14,8 @@ loops forever.
14
14
 
15
15
  This is a known platform issue, not a mistake in your request. Do not retry with
16
16
  different flag or path permutations — they will all fail the same way. If a
17
- terminal is available, deploy from the CLI instead (`grid plug <path>` or
18
- `cloudgrid plug <path>`). If no terminal is available, stop and tell the user
17
+ terminal is available, deploy from the CLI instead (`grid plug <path>`).
18
+ If no terminal is available, stop and tell the user
19
19
  this is a known issue and needs the CLI.
20
20
 
21
21
  ## 429 anonymous cap
@@ -4,7 +4,7 @@ name: brain
4
4
  description: |
5
5
  Refresh a CloudGrid entity's Grid Brain metadata. Use when the user wants to
6
6
  re-classify an entity, regenerate its description, tags, or diagram, or update
7
- how it appears in discovery after a change. Wraps cloudgrid brain refresh.
7
+ how it appears in discovery after a change. Wraps grid brain refresh.
8
8
  argument-hint: "[name]"
9
9
  allowed-tools: Bash
10
10
  ---
@@ -13,12 +13,12 @@ allowed-tools: Bash
13
13
 
14
14
  Re-run the Grid Brain hooks for an entity to re-classify its description, tags, and
15
15
  diagram. Use this after a change so discovery reflects the current state. Wraps
16
- `cloudgrid brain refresh`.
16
+ `grid brain refresh`.
17
17
 
18
18
  ## Step 0 — Bootstrap
19
19
 
20
- 1. If `cloudgrid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
21
- 2. If `cloudgrid whoami` fails: ask the user to run `cloudgrid login`. Wait for
20
+ 1. If `grid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
21
+ 2. If `grid whoami` fails: ask the user to run `grid login`. Wait for
22
22
  confirmation.
23
23
 
24
24
  ## UX rules
@@ -30,7 +30,7 @@ diagram. Use this after a change so discovery reflects the current state. Wraps
30
30
  ## How to run it
31
31
 
32
32
  ```
33
- cloudgrid brain refresh my-thing --wait
33
+ grid brain refresh my-thing --wait
34
34
  ```
35
35
 
36
36
  `--wait` polls until the refresh finishes, up to about 60 seconds. Without it, the
@@ -46,4 +46,4 @@ Other flags:
46
46
 
47
47
  The refresh reports each hook: classify (description and tags), identification, and
48
48
  the diagram. Summarize the outcome in one line, for example "Re-classified with 3
49
- tags." Suggest `cloudgrid status <name>` if the user wants the full updated entity.
49
+ tags." Suggest `grid status <name>` if the user wants the full updated entity.
@@ -21,7 +21,7 @@ re-homes the drop into the user's grid, so its public URL changes from
21
21
  ## Step 0 — sign in first
22
22
 
23
23
  Claiming needs an identity. If the user is not signed in, run the `cloudgrid:login`
24
- skill (or `cloudgrid login` with the CLI) first.
24
+ skill (or `grid login` with the CLI) first.
25
25
 
26
26
  ## What you need
27
27
 
@@ -4,19 +4,19 @@ name: feedback
4
4
  description: |
5
5
  Read the CloudGrid feedback feed. Use when the user wants to see feedback, check
6
6
  what people said, review reactions, or read recent feedback events for their org.
7
- Wraps cloudgrid feedback list.
7
+ Wraps grid feedback list.
8
8
  argument-hint: "[--since 7d]"
9
9
  allowed-tools: Bash
10
10
  ---
11
11
 
12
12
  # CloudGrid Feedback
13
13
 
14
- List recent feedback events for the active org. Wraps `cloudgrid feedback list`.
14
+ List recent feedback events for the active org. Wraps `grid feedback list`.
15
15
 
16
16
  ## Step 0 — Bootstrap
17
17
 
18
- 1. If `cloudgrid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
19
- 2. If `cloudgrid whoami` fails: ask the user to run `cloudgrid login`. Wait for
18
+ 1. If `grid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
19
+ 2. If `grid whoami` fails: ask the user to run `grid login`. Wait for
20
20
  confirmation.
21
21
 
22
22
  ## UX rules
@@ -28,7 +28,7 @@ List recent feedback events for the active org. Wraps `cloudgrid feedback list`.
28
28
  ## How to run it
29
29
 
30
30
  ```
31
- cloudgrid feedback list
31
+ grid feedback list
32
32
  ```
33
33
 
34
34
  The feed is scoped to the active org. It is not filtered by entity. Useful flags:
@@ -44,6 +44,6 @@ when there are many. Surface the ones that look like bugs or blockers first.
44
44
 
45
45
  ## Note: reading vs sending
46
46
 
47
- This skill reads the feed. `cloudgrid feedback "<message>"` does the opposite: it
47
+ This skill reads the feed. `grid feedback "<message>"` does the opposite: it
48
48
  sends feedback to the CloudGrid team. Do not send feedback unless the user clearly
49
49
  asks to report something.
@@ -4,7 +4,7 @@ name: init
4
4
  description: |
5
5
  Scaffold a new CloudGrid app or agent. Use when the user wants to start a new
6
6
  project, create a new entity, set up a new app or agent, or seed a web service
7
- (node, nextjs, python, or static) before deploying. Wraps cloudgrid init.
7
+ (node, nextjs, python, or static) before deploying. Wraps grid init.
8
8
  argument-hint: "[app|agent] [name]"
9
9
  allowed-tools: Bash
10
10
  ---
@@ -12,12 +12,12 @@ allowed-tools: Bash
12
12
  # CloudGrid Init
13
13
 
14
14
  Register a new app or agent in the active org and, optionally, seed a web service
15
- to deploy. Wraps `cloudgrid init`. After this, `cloudgrid:plug` deploys it.
15
+ to deploy. Wraps `grid init`. After this, `cloudgrid:plug` deploys it.
16
16
 
17
17
  ## Step 0 — Bootstrap
18
18
 
19
- 1. If `cloudgrid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
20
- 2. If `cloudgrid whoami` fails: ask the user to run `cloudgrid login`. Wait for
19
+ 1. If `grid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
20
+ 2. If `grid whoami` fails: ask the user to run `grid login`. Wait for
21
21
  confirmation.
22
22
 
23
23
  ## UX rules
@@ -47,25 +47,25 @@ Optional, only if the user implies them:
47
47
  Register an app and seed a static site:
48
48
 
49
49
  ```
50
- cloudgrid init app my-thing --type static
50
+ grid init app my-thing --type static
51
51
  ```
52
52
 
53
53
  Register an agent:
54
54
 
55
55
  ```
56
- cloudgrid init agent my-helper
56
+ grid init agent my-helper
57
57
  ```
58
58
 
59
59
  Register without seeding any files (you will add your own):
60
60
 
61
61
  ```
62
- cloudgrid init app my-thing
62
+ grid init app my-thing
63
63
  ```
64
64
 
65
65
  ## After init
66
66
 
67
67
  Tell the user the entity is registered and what is next: `cd` into the directory
68
- (if seeded) and run `cloudgrid plug` to deploy. Hand off to `cloudgrid:plug`.
68
+ (if seeded) and run `grid plug` to deploy. Hand off to `cloudgrid:plug`.
69
69
 
70
70
  ## References
71
71
 
@@ -18,10 +18,10 @@ There are two paths. Pick the first that fits.
18
18
 
19
19
  ## Path 1 — the CLI is installed
20
20
 
21
- If `cloudgrid` is on `$PATH`, this is the simplest and safest:
21
+ If `grid` is on `$PATH`, this is the simplest and safest:
22
22
 
23
23
  ```
24
- cloudgrid login
24
+ grid login
25
25
  ```
26
26
 
27
27
  It opens the browser, handles the OAuth flow, and stores the token. Stop here.
@@ -74,7 +74,7 @@ uses (`~/.cloudgrid/credentials`), so the two share one identity.
74
74
 
75
75
  ## After login
76
76
 
77
- Confirm the user is signed in (`cloudgrid whoami` if the CLI is present). If they
77
+ Confirm the user is signed in (`grid whoami` if the CLI is present). If they
78
78
  made an anonymous drop earlier, this is the moment to offer to claim it.
79
79
 
80
80
  ## Notes
@@ -4,19 +4,19 @@ name: logs
4
4
  description: |
5
5
  Tail logs for a CloudGrid entity. Use when the user wants to see logs, watch
6
6
  output, follow a running app, debug a deploy, or check why something is failing.
7
- Wraps cloudgrid logs.
7
+ Wraps grid logs.
8
8
  argument-hint: "[name]"
9
9
  allowed-tools: Bash
10
10
  ---
11
11
 
12
12
  # CloudGrid Logs
13
13
 
14
- Stream or tail logs from an entity's pods. Wraps `cloudgrid logs`.
14
+ Stream or tail logs from an entity's pods. Wraps `grid logs`.
15
15
 
16
16
  ## Step 0 — Bootstrap
17
17
 
18
- 1. If `cloudgrid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
19
- 2. If `cloudgrid whoami` fails: ask the user to run `cloudgrid login`. Wait for
18
+ 1. If `grid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
19
+ 2. If `grid whoami` fails: ask the user to run `grid login`. Wait for
20
20
  confirmation.
21
21
 
22
22
  ## UX rules
@@ -30,7 +30,7 @@ Stream or tail logs from an entity's pods. Wraps `cloudgrid logs`.
30
30
  Tail the recent logs for an entity by name:
31
31
 
32
32
  ```
33
- cloudgrid logs my-thing
33
+ grid logs my-thing
34
34
  ```
35
35
 
36
36
  With no name, it uses the entity linked to the current directory.
@@ -6,7 +6,7 @@ description: |
6
6
  wants to ship, deploy, publish, share, send a friend a link, or go live — a
7
7
  single HTML page or a full app. One self-contained HTML page publishes instantly
8
8
  as an inspiration (any edition, no login needed); a multi-file app deploys from a
9
- directory or URL. Wraps cloudgrid plug.
9
+ directory or URL. Wraps grid plug.
10
10
  argument-hint: "[path-or-url]"
11
11
  allowed-tools: Bash
12
12
  ---
@@ -23,7 +23,7 @@ Deploy or share a creation and get a public URL. This is the one deploy/share ve
23
23
  **any edition**, no login required. See "Share a single HTML page" below.
24
24
  - **Anything more** — separate files/folders, a real `assets/` dir, separate
25
25
  `.css`/`.js`, multiple pages, a SPA build — **or** any data/server/LLM/cron need
26
- → a **runtime app**: `cloudgrid plug` on a linked folder, **local edition only**,
26
+ → a **runtime app**: `grid plug` on a linked folder, **local edition only**,
27
27
  async build. See "Deploy an app" below.
28
28
 
29
29
  ## Share a single HTML page (the fast path)
@@ -75,12 +75,12 @@ Print the `url` on its own line so it can be copied in one go. A single page is
75
75
 
76
76
  ## Deploy an app
77
77
 
78
- Wraps `cloudgrid plug`. Prints the live URL when it is done.
78
+ Wraps `grid plug`. Prints the live URL when it is done.
79
79
 
80
80
  ## Step 0 — Bootstrap
81
81
 
82
- 1. If `cloudgrid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
83
- 2. If `cloudgrid whoami` fails: ask the user to run `cloudgrid login`. Wait for
82
+ 1. If `grid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
83
+ 2. If `grid whoami` fails: ask the user to run `grid login`. Wait for
84
84
  confirmation.
85
85
 
86
86
  ## UX rules
@@ -95,7 +95,7 @@ Wraps `cloudgrid plug`. Prints the live URL when it is done.
95
95
  Most of the time, run it from the project directory with no arguments:
96
96
 
97
97
  ```
98
- cloudgrid plug
98
+ grid plug
99
99
  ```
100
100
 
101
101
  It uses the entity linked to the directory, builds, deploys, and prints the URL.
@@ -103,9 +103,9 @@ A first deploy usually takes about 30 seconds; larger builds take longer.
103
103
 
104
104
  Other shapes:
105
105
 
106
- - **A specific path:** `cloudgrid plug ./site`
107
- - **A URL as an inspiration:** `cloudgrid plug https://example.com`
108
- - **Bind to an existing entity first:** `cloudgrid plug --existing <entity-id>`
106
+ - **A specific path:** `grid plug ./site`
107
+ - **A URL as an inspiration:** `grid plug https://example.com`
108
+ - **Bind to an existing entity first:** `grid plug --existing <entity-id>`
109
109
 
110
110
  If this is the user's first deploy in the org, the CLI may ask which org to use.
111
111
  Pass `--org <slug>` to skip that prompt.
@@ -4,7 +4,7 @@ name: share
4
4
  description: |
5
5
  Make a CloudGrid entity shareable and print its URL. Use when the user wants to
6
6
  share a link, make something public, send an app to someone, or get a shareable
7
- URL. Wraps cloudgrid visibility.
7
+ URL. Wraps grid visibility.
8
8
  argument-hint: "[name]"
9
9
  allowed-tools: Bash
10
10
  ---
@@ -12,12 +12,12 @@ allowed-tools: Bash
12
12
  # CloudGrid Share
13
13
 
14
14
  Set an entity's visibility so others can reach it, then print the URL. Wraps
15
- `cloudgrid visibility set`.
15
+ `grid visibility set`.
16
16
 
17
17
  ## Step 0 — Bootstrap
18
18
 
19
- 1. If `cloudgrid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
20
- 2. If `cloudgrid whoami` fails: ask the user to run `cloudgrid login`. Wait for
19
+ 1. If `grid` is not on `$PATH`: `npm install -g @cloudgrid-io/cli`
20
+ 2. If `grid whoami` fails: ask the user to run `grid login`. Wait for
21
21
  confirmation.
22
22
 
23
23
  ## UX rules
@@ -31,14 +31,14 @@ Set an entity's visibility so others can reach it, then print the URL. Wraps
31
31
  To make an entity reachable by anyone with the link:
32
32
 
33
33
  ```
34
- cloudgrid visibility set my-thing link
34
+ grid visibility set my-thing link
35
35
  ```
36
36
 
37
37
  The command prints the outlet URL. Hand that URL to the user.
38
38
 
39
39
  ## Visibility modes
40
40
 
41
- `cloudgrid visibility set <slug> <mode>` accepts:
41
+ `grid visibility set <slug> <mode>` accepts:
42
42
 
43
43
  - `link` — anyone with the URL can open it. Use this for sharing.
44
44
  - `private` — only the owner.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Multi-agent skills for CloudGrid. Install them in Claude Code, Codex, or Cursor,
4
4
  and your agent can build, ship, and run things on CloudGrid through the
5
- `cloudgrid` CLI.
5
+ `grid` CLI.
6
6
 
7
7
  ## Why CloudGrid
8
8
 
@@ -22,7 +22,7 @@ behalf: scaffold, deploy, tail logs, share, read feedback. Everything here is fr
22
22
  2. Log in:
23
23
 
24
24
  ```
25
- cloudgrid login
25
+ grid login
26
26
  ```
27
27
 
28
28
  3. Add the agent-core. In Claude Code (recommended):
@@ -10,7 +10,7 @@ Match the symptom to the row, apply the fix, and stop. Do not retry permutations
10
10
 
11
11
  | Symptom | Cause | Fix |
12
12
  | --- | --- | --- |
13
- | `SCOPE_INVALID` on deploy | Known platform issue, not your request | Deploy from a terminal with `grid plug <path>` or `cloudgrid plug <path>`. Do not retry flag or path permutations. If no terminal is available, tell the user it is a known issue that needs the CLI. |
13
+ | `SCOPE_INVALID` on deploy | Known platform issue, not your request | Deploy from a terminal with `grid plug <path>`. Do not retry flag or path permutations. If no terminal is available, tell the user it is a known issue that needs the CLI. |
14
14
  | `429` anonymous cap reached | Anonymous deploy quota is exhausted | Stop. Do not log in to work around it and do not retry today. Tell the user the cap is reached; they can try later or sign in for a higher limit as a deliberate choice. |
15
15
  | `409 EDIT_REJECTED` on re-plug | The target entity is archived or expired | Do not silently create a new entity — that mints a new URL and orphans the shared one. Ask the user before creating a fresh entity. |
16
16
  | `401` on an anonymous edit | Missing or stale `owner_token` | Re-plug with the `owner_token` from the last deploy of that entity. Each anonymous edit returns a fresh token — store the new one and use it next time. |
@@ -15,7 +15,7 @@ Which one you use depends on the client. Pick your client below.
15
15
 
16
16
  - **Node 18+** (for `npx`).
17
17
  - **No login needed to try it** — anonymous drop works out of the box. For owned
18
- drops (into your org), run `cloudgrid login` once, or use the `login` skill / the
18
+ drops (into your org), run `grid login` once, or use the `login` skill / the
19
19
  `grid_login` MCP tool.
20
20
 
21
21
  ---
@@ -115,7 +115,7 @@ response is `status: "building"` with a `poll_url` / entity, NOT a live URL yet.
115
115
 
116
116
  Give the user the live app URL — that is the deliverable. To iterate, re-plug
117
117
  the SAME entity (`target_entity_id`) so it updates the same URL. Runtime re-plug
118
- uses the CLI path (`cloudgrid plug` in the linked folder), per the plug
118
+ uses the CLI path (`grid plug` in the linked folder), per the plug
119
119
  description.
120
120
 
121
121
  Keep it honest: async build, local-edition only, credentials injected by the
package/src/tools.js CHANGED
@@ -231,12 +231,15 @@ function resolveCwd(cwd) {
231
231
  return abs;
232
232
  }
233
233
 
234
- // Pin the CLI version for the lazy npx fallback so behaviour is reproducible.
235
- // MCP 0.8.0 is tested against CLI 0.12.
236
- const CLI_NPX_PKG = "@cloudgrid-io/cli@~0.12";
237
-
238
- // Minimum CLI version that supports the verbs and flags the MCP passes.
239
- const MIN_CLI_VERSION = "0.12.0";
234
+ // The lazy npx fallback always fetches the LATEST published CLI, so the MCP is
235
+ // never left behind the platform's required CLI version (a pinned range went
236
+ // stale and the API then rejected it with "install the latest CLI").
237
+ const CLI_NPX_PKG = "@cloudgrid-io/cli@latest";
238
+
239
+ // Minimum CLI version the MCP will USE if it finds one already installed. Below
240
+ // this, skip the local/global CLI and fall back to `npx @latest`. Keep at (or
241
+ // above) the platform's current required floor.
242
+ const MIN_CLI_VERSION = "0.15.0";
240
243
 
241
244
  // Verb map for the drift guard: each CLI-wrapping tool's top-level verb(s).
242
245
  // The drift-guard test imports this and asserts every verb exists in `cloudgrid --help`.