@cloudgrid-io/mcp 0.16.2 → 0.17.0

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.
Files changed (133) hide show
  1. package/README.md +39 -39
  2. package/package.json +1 -1
  3. package/src/corpus/capability-map.md +7 -7
  4. package/src/corpus/cloudgrid-yaml.md +5 -5
  5. package/src/corpus/cookbook.md +1 -1
  6. package/src/corpus/install.md +1 -1
  7. package/src/corpus/rules/publish-fallbacks.md +1 -1
  8. package/src/corpus/skill-claim.md +1 -1
  9. package/src/corpus/skill-drop.md +2 -2
  10. package/src/corpus/skill-login.md +2 -2
  11. package/src/corpus/skills-readme.md +1 -1
  12. package/src/corpus/templates/ai-knowledge-base/AGENTS.md +1 -1
  13. package/src/corpus/templates/ai-knowledge-base/index.md +1 -1
  14. package/src/corpus/templates/api-docs/README.md +3 -3
  15. package/src/corpus/templates/api-docs/index.md +3 -3
  16. package/src/corpus/templates/appointment-booking/AGENTS.md +9 -9
  17. package/src/corpus/templates/appointment-booking/index.md +6 -6
  18. package/src/corpus/templates/approval-workflow/AGENTS.md +2 -2
  19. package/src/corpus/templates/approval-workflow/index.md +2 -2
  20. package/src/corpus/templates/billing-dashboard/index.md +1 -1
  21. package/src/corpus/templates/calendar-scheduler/AGENTS.md +1 -1
  22. package/src/corpus/templates/calendar-scheduler/index.md +1 -1
  23. package/src/corpus/templates/changelog/README.md +3 -3
  24. package/src/corpus/templates/changelog/index.md +3 -3
  25. package/src/corpus/templates/company-website/README.md +3 -3
  26. package/src/corpus/templates/company-website/cloudgrid.yaml +1 -1
  27. package/src/corpus/templates/company-website/index.md +3 -3
  28. package/src/corpus/templates/course-platform/index.md +1 -1
  29. package/src/corpus/templates/dashboard/cloudgrid.yaml +1 -1
  30. package/src/corpus/templates/dashboard/index.md +3 -3
  31. package/src/corpus/templates/deck/cloudgrid.yaml +1 -1
  32. package/src/corpus/templates/deck/index.md +3 -3
  33. package/src/corpus/templates/docs-site/README.md +3 -3
  34. package/src/corpus/templates/docs-site/index.md +3 -3
  35. package/src/corpus/templates/forum/AGENTS.md +6 -6
  36. package/src/corpus/templates/forum/index.md +1 -1
  37. package/src/corpus/templates/hr-portal/index.md +1 -1
  38. package/src/corpus/templates/internal-tools-portal/index.md +1 -1
  39. package/src/corpus/templates/landing-page/cloudgrid.yaml +1 -1
  40. package/src/corpus/templates/landing-page/index.md +3 -3
  41. package/src/corpus/templates/lms/index.md +1 -1
  42. package/src/corpus/templates/marketplace/AGENTS.md +1 -1
  43. package/src/corpus/templates/marketplace/index.md +1 -1
  44. package/src/corpus/templates/membership-site/AGENTS.md +9 -9
  45. package/src/corpus/templates/membership-site/index.md +6 -6
  46. package/src/corpus/templates/online-store/index.md +1 -1
  47. package/src/corpus/templates/portfolio/README.md +3 -3
  48. package/src/corpus/templates/portfolio/index.md +3 -3
  49. package/src/corpus/templates/product-launch/README.md +3 -3
  50. package/src/corpus/templates/product-launch/cloudgrid.yaml +1 -1
  51. package/src/corpus/templates/product-launch/index.md +3 -3
  52. package/src/corpus/templates/report/cloudgrid.yaml +1 -1
  53. package/src/corpus/templates/report/index.md +3 -3
  54. package/src/corpus/templates/restaurant-reservations/AGENTS.md +9 -9
  55. package/src/corpus/templates/restaurant-reservations/index.md +2 -2
  56. package/src/corpus/templates/saas-marketing/README.md +3 -3
  57. package/src/corpus/templates/saas-marketing/index.md +3 -3
  58. package/src/corpus/templates/status-page/README.md +3 -3
  59. package/src/corpus/templates/status-page/index.md +3 -3
  60. package/src/corpus/templates/subscription-management/AGENTS.md +9 -9
  61. package/src/corpus/templates/subscription-management/index.md +6 -6
  62. package/src/corpus/templates/waitlist/README.md +3 -3
  63. package/src/corpus/templates/waitlist/index.md +3 -3
  64. package/src/corpus/templates/web-app/cloudgrid.yaml +1 -1
  65. package/src/corpus/templates/web-app/index.md +3 -3
  66. package/src/corpus/troubleshooting/deploy-errors.md +1 -1
  67. package/src/corpus/troubleshooting/persistent-apps.md +1 -1
  68. package/src/corpus/usage.md +2 -2
  69. package/src/corpus/workflows/admin-dashboard.md +6 -6
  70. package/src/corpus/workflows/ai-app.md +8 -8
  71. package/src/corpus/workflows/ai-knowledge-base.md +6 -6
  72. package/src/corpus/workflows/analytics-dashboard.md +6 -6
  73. package/src/corpus/workflows/api-dashboard.md +6 -6
  74. package/src/corpus/workflows/api-docs.md +3 -3
  75. package/src/corpus/workflows/api-service.md +8 -8
  76. package/src/corpus/workflows/app-with-data.md +8 -8
  77. package/src/corpus/workflows/appointment-booking.md +8 -8
  78. package/src/corpus/workflows/approval-workflow.md +6 -6
  79. package/src/corpus/workflows/billing-dashboard.md +8 -8
  80. package/src/corpus/workflows/blog-cms.md +6 -6
  81. package/src/corpus/workflows/booking-system.md +7 -7
  82. package/src/corpus/workflows/calendar-scheduler.md +6 -6
  83. package/src/corpus/workflows/changelog.md +3 -3
  84. package/src/corpus/workflows/company-website.md +4 -4
  85. package/src/corpus/workflows/course-platform.md +7 -7
  86. package/src/corpus/workflows/crm.md +7 -7
  87. package/src/corpus/workflows/dashboard.md +4 -4
  88. package/src/corpus/workflows/directory.md +6 -6
  89. package/src/corpus/workflows/docs-site.md +3 -3
  90. package/src/corpus/workflows/erp.md +7 -7
  91. package/src/corpus/workflows/event-board.md +6 -6
  92. package/src/corpus/workflows/expense-tracker.md +6 -6
  93. package/src/corpus/workflows/feature-request-board.md +6 -6
  94. package/src/corpus/workflows/financial-dashboard.md +6 -6
  95. package/src/corpus/workflows/forum.md +7 -7
  96. package/src/corpus/workflows/hr-portal.md +7 -7
  97. package/src/corpus/workflows/internal-tools-portal.md +7 -7
  98. package/src/corpus/workflows/inventory.md +6 -6
  99. package/src/corpus/workflows/invoice.md +6 -6
  100. package/src/corpus/workflows/job-board.md +6 -6
  101. package/src/corpus/workflows/kanban.md +7 -7
  102. package/src/corpus/workflows/landing-page.md +4 -4
  103. package/src/corpus/workflows/lms.md +7 -7
  104. package/src/corpus/workflows/marketplace.md +6 -6
  105. package/src/corpus/workflows/membership-site.md +8 -8
  106. package/src/corpus/workflows/monitoring-dashboard.md +6 -6
  107. package/src/corpus/workflows/online-store.md +8 -8
  108. package/src/corpus/workflows/portfolio.md +3 -3
  109. package/src/corpus/workflows/presentation.md +4 -4
  110. package/src/corpus/workflows/product-catalog.md +6 -6
  111. package/src/corpus/workflows/product-launch.md +4 -4
  112. package/src/corpus/workflows/project-management.md +6 -6
  113. package/src/corpus/workflows/property-listings.md +6 -6
  114. package/src/corpus/workflows/quiz-platform.md +6 -6
  115. package/src/corpus/workflows/report.md +4 -4
  116. package/src/corpus/workflows/restaurant-reservations.md +7 -7
  117. package/src/corpus/workflows/revenue-dashboard.md +6 -6
  118. package/src/corpus/workflows/saas-marketing.md +3 -3
  119. package/src/corpus/workflows/semantic-search.md +7 -7
  120. package/src/corpus/workflows/status-page.md +3 -3
  121. package/src/corpus/workflows/subscription-management.md +8 -8
  122. package/src/corpus/workflows/task-manager.md +6 -6
  123. package/src/corpus/workflows/ticket-system.md +6 -6
  124. package/src/corpus/workflows/time-tracking.md +6 -6
  125. package/src/corpus/workflows/travel-booking.md +7 -7
  126. package/src/corpus/workflows/waitlist.md +3 -3
  127. package/src/corpus/workflows/web-app.md +4 -4
  128. package/src/docs.js +5 -5
  129. package/src/index.js +1 -1
  130. package/src/tools.js +116 -116
  131. package/src/web.js +1 -1
  132. package/src/widgets/live-result.html +1 -1
  133. package/src/widgets/org-picker.html +1 -1
@@ -33,13 +33,13 @@ edition** (Claude Desktop / Claude Code) or the CLI.
33
33
 
34
34
  ## 2. Auth + grid
35
35
 
36
- 1. Ensure signed in: `gridctl_login_status`; if not, `gridctl_login`.
36
+ 1. Ensure signed in: `grid_login_status`; if not, `grid_login`.
37
37
  2. A grid is required. Respect the grid picker: if the user has more than one
38
38
  grid, ask which to use; do not assume a target.
39
39
 
40
40
  ## 3. Scaffold
41
41
 
42
- `gridctl_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
42
+ `grid_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
43
43
  and writes a `cloudgrid.yaml` with an EMPTY `services: {}`. `plug` needs a linked
44
44
  directory, so run `init` FIRST. Then (a) write the app under **`services/web/`**,
45
45
  and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
@@ -64,7 +64,7 @@ and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
64
64
  author new yaml with it, and never set `needs:` and `requires:` together (the
65
65
  validator rejects it).
66
66
  2. Fetch the template for the Mongo wiring + CRUD shape:
67
- `gridctl_fetch("template", "task-manager")`. It is a minimal, real Next.js +
67
+ `grid_fetch("template", "task-manager")`. It is a minimal, real Next.js +
68
68
  `mongodb`-driver task manager under `services/web/`: a lazy client in
69
69
  `services/web/lib/db.js`, an App-Router GET/POST/PATCH/DELETE route on a
70
70
  `tasks` collection (PATCH toggles done), a server-component page, and a client
@@ -82,15 +82,15 @@ before deploying. Don't require it.
82
82
 
83
83
  ## 6. Config
84
84
 
85
- - API keys / secrets → `gridctl_secrets`. Non-secret config → `gridctl_env`.
85
+ - API keys / secrets → `grid_secrets`. Non-secret config → `grid_env`.
86
86
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` or the
87
87
  legacy `MONGODB_URL`) — the grid injects them.
88
88
 
89
89
  ## 7. Deploy (async)
90
90
 
91
- Deploy the folder with `gridctl_plug`. A **runtime deploy is ASYNC**: the first
91
+ Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
92
92
  response is `status: "building"`, NOT a live URL yet.
93
- - Poll `gridctl_status` (or the returned poll_url) until the entity is live.
93
+ - Poll `grid_status` (or the returned poll_url) until the entity is live.
94
94
  - Surface a liveness signal while it builds — never a bare silent wait.
95
95
  - Only once it is live, return the deployed app URL (NOT the build/log link).
96
96
 
@@ -31,13 +31,13 @@ edition** (Claude Desktop / Claude Code) or the CLI.
31
31
 
32
32
  ## 2. Auth + grid
33
33
 
34
- 1. Ensure signed in: `gridctl_login_status`; if not, `gridctl_login`.
34
+ 1. Ensure signed in: `grid_login_status`; if not, `grid_login`.
35
35
  2. A grid is required. Respect the grid picker: if the user has more than one
36
36
  grid, ask which to use; do not assume a target.
37
37
 
38
38
  ## 3. Scaffold
39
39
 
40
- `gridctl_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
40
+ `grid_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
41
41
  and writes a `cloudgrid.yaml` with an EMPTY `services: {}`. `plug` needs a linked
42
42
  directory, so run `init` FIRST. Then (a) write the app under **`services/web/`**,
43
43
  and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
@@ -65,7 +65,7 @@ and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
65
65
  `services.web`, and `needs.database` uncommented — so it deploys to exactly
66
66
  those active fields.
67
67
  2. Fetch the template for the Mongo wiring + CRUD shape:
68
- `gridctl_fetch("template", "ticket-system")`. It is a minimal, real Next.js +
68
+ `grid_fetch("template", "ticket-system")`. It is a minimal, real Next.js +
69
69
  `mongodb`-driver app under `services/web/`: a lazy client in
70
70
  `services/web/lib/db.js`, an App-Router GET/POST/PATCH (status)/DELETE route on a `tickets` collection, a
71
71
  server-component page, and a client component.
@@ -82,15 +82,15 @@ before deploying. Don't require it.
82
82
 
83
83
  ## 6. Config
84
84
 
85
- - API keys / secrets → `gridctl_secrets`. Non-secret config → `gridctl_env`.
85
+ - API keys / secrets → `grid_secrets`. Non-secret config → `grid_env`.
86
86
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` or the
87
87
  legacy `MONGODB_URL`) — the grid injects them.
88
88
 
89
89
  ## 7. Deploy (async)
90
90
 
91
- Deploy the folder with `gridctl_plug`. A **runtime deploy is ASYNC**: the first
91
+ Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
92
92
  response is `status: "building"`, NOT a live URL yet.
93
- - Poll `gridctl_status` (or the returned poll_url) until the entity is live.
93
+ - Poll `grid_status` (or the returned poll_url) until the entity is live.
94
94
  - Surface a liveness signal while it builds — never a bare silent wait.
95
95
  - Only once it is live, return the deployed app URL (NOT the build/log link).
96
96
 
@@ -32,13 +32,13 @@ edition** (Claude Desktop / Claude Code) or the CLI.
32
32
 
33
33
  ## 2. Auth + grid
34
34
 
35
- 1. Ensure signed in: `gridctl_login_status`; if not, `gridctl_login`.
35
+ 1. Ensure signed in: `grid_login_status`; if not, `grid_login`.
36
36
  2. A grid is required. Respect the grid picker: if the user has more than one
37
37
  grid, ask which to use; do not assume a target.
38
38
 
39
39
  ## 3. Scaffold
40
40
 
41
- `gridctl_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
41
+ `grid_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
42
42
  and writes a `cloudgrid.yaml` with an EMPTY `services: {}`. `plug` needs a linked
43
43
  directory, so run `init` FIRST. Then (a) write the app under **`services/web/`**,
44
44
  and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
@@ -63,7 +63,7 @@ and (b) fill `cloudgrid.yaml` to the shape below (`services.web` + `needs:
63
63
  author new yaml with it, and never set `needs:` and `requires:` together (the
64
64
  validator rejects it).
65
65
  2. Fetch the template for the Mongo wiring + CRUD shape:
66
- `gridctl_fetch("template", "time-tracking")`. It is a minimal, real Next.js +
66
+ `grid_fetch("template", "time-tracking")`. It is a minimal, real Next.js +
67
67
  `mongodb`-driver time tracker under `services/web/`: a lazy client in
68
68
  `services/web/lib/db.js`, an App-Router GET/POST/DELETE route on an `entries`
69
69
  collection, a server-component page, and a client form that also renders
@@ -85,15 +85,15 @@ before deploying. Don't require it.
85
85
 
86
86
  ## 6. Config
87
87
 
88
- - API keys / secrets → `gridctl_secrets`. Non-secret config → `gridctl_env`.
88
+ - API keys / secrets → `grid_secrets`. Non-secret config → `grid_env`.
89
89
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` or the
90
90
  legacy `MONGODB_URL`) — the grid injects them.
91
91
 
92
92
  ## 7. Deploy (async)
93
93
 
94
- Deploy the folder with `gridctl_plug`. A **runtime deploy is ASYNC**: the first
94
+ Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
95
95
  response is `status: "building"`, NOT a live URL yet.
96
- - Poll `gridctl_status` (or the returned poll_url) until the entity is live.
96
+ - Poll `grid_status` (or the returned poll_url) until the entity is live.
97
97
  - Surface a liveness signal while it builds — never a bare silent wait.
98
98
  - Only once it is live, return the deployed app URL (NOT the build/log link).
99
99
 
@@ -40,18 +40,18 @@ edition** (Claude Desktop / Claude Code) or the CLI.
40
40
 
41
41
  ## 2. Auth + grid
42
42
 
43
- 1. Ensure signed in: `gridctl_login_status`; if not, `gridctl_login`.
43
+ 1. Ensure signed in: `grid_login_status`; if not, `grid_login`.
44
44
  2. A grid is required. Respect the grid picker: if the user has more than one
45
45
  grid, ask which to use; do not assume a target.
46
46
 
47
47
  ## 3. Read the blueprint, then scaffold
48
48
 
49
- 1. Fetch the blueprint: `gridctl_fetch("template", "travel-booking")`. **Read its
49
+ 1. Fetch the blueprint: `grid_fetch("template", "travel-booking")`. **Read its
50
50
  `AGENTS.md`** — it is the structure guide (file tree under `services/web/`, the
51
51
  `flights` / `hotels` / `bookings` / `trips` collections + the overbooking
52
52
  guard, how CloudGrid injects the DB and vault secrets, how to wire Stripe +
53
53
  auth, and the trip-reminder-cron design).
54
- 2. `gridctl_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
54
+ 2. `grid_init` an app `<name>`. `init` creates the entity + `.cloudgrid/link.json`
55
55
  and writes a `cloudgrid.yaml` with an EMPTY `services: {}`. `plug` needs a
56
56
  linked directory, so run `init` FIRST.
57
57
 
@@ -88,9 +88,9 @@ edition** (Claude Desktop / Claude Code) or the CLI.
88
88
 
89
89
  ## 5. Config (secrets)
90
90
 
91
- - Payment/auth secrets → add the vault items with `gridctl_secrets` (e.g.
91
+ - Payment/auth secrets → add the vault items with `grid_secrets` (e.g.
92
92
  `stripe-live-key`, `stripe-webhook-secret`, `auth-provider-key`) BEFORE plug so
93
- the `vault:` mappings resolve. Non-secret config → `gridctl_env`.
93
+ the `vault:` mappings resolve. Non-secret config → `grid_env`.
94
94
  - Do **NOT** set the DB connection vars yourself (`DATABASE_MONGODB_URL` / legacy
95
95
  `MONGODB_URL`) — the grid injects them.
96
96
 
@@ -102,9 +102,9 @@ require it.
102
102
 
103
103
  ## 7. Deploy (async)
104
104
 
105
- Deploy the folder with `gridctl_plug`. A **runtime deploy is ASYNC**: the first
105
+ Deploy the folder with `grid_plug`. A **runtime deploy is ASYNC**: the first
106
106
  response is `status: "building"`, NOT a live URL yet.
107
- - Poll `gridctl_status` (or the returned poll_url) until the entity is live.
107
+ - Poll `grid_status` (or the returned poll_url) until the entity is live.
108
108
  - Surface a liveness signal while it builds — never a bare silent wait.
109
109
  - Only once it is live, return the deployed app URL (NOT the build/log link).
110
110
 
@@ -4,7 +4,7 @@ when: waitlist, coming soon, early access, join the list, launch page, sign-up t
4
4
  needs: none
5
5
  deploy: inspiration
6
6
  editions: all
7
- capabilities_note: static — no infrastructure. The email form posts to a configurable mailto/external endpoint; it does NOT store signups. Publishes as an inspiration (instant, works on hosted) via gridctl_drop.
7
+ capabilities_note: static — no infrastructure. The email form posts to a configurable mailto/external endpoint; it does NOT store signups. Publishes as an inspiration (instant, works on hosted) via grid_drop.
8
8
  summary: Fetch the waitlist template, fill it with the user's launch copy, wire the form to a mailto or external endpoint, deploy it, and return the live share URL.
9
9
  ---
10
10
 
@@ -22,7 +22,7 @@ NOT store signups anywhere on CloudGrid. To actually **store** waitlist signups
22
22
  (`needs: { database: true }`) — that is a CRUD app, coming in the crud-app
23
23
  archetype (Wave 1b). Do not claim this static page persists data.
24
24
 
25
- 1. **Fetch the template.** Call `gridctl_fetch("template", "waitlist")` to load
25
+ 1. **Fetch the template.** Call `grid_fetch("template", "waitlist")` to load
26
26
  the self-contained HTML waitlist page (hero, email form, social-proof counter).
27
27
  2. **Fill the template.** Replace the placeholders with the user's content:
28
28
  - The product name, coming-soon headline, and subheadline.
@@ -33,7 +33,7 @@ archetype (Wave 1b). Do not claim this static page persists data.
33
33
  stylesheets, fonts, or large embedded media.
34
34
  3. **Deploy.** Deploy the filled HTML:
35
35
  - Hosted MCP edition: call the drop tool with the HTML.
36
- - Local MCP / CLI edition: write the HTML to a file and run `gridctl plug`.
36
+ - Local MCP / CLI edition: write the HTML to a file and run `grid plug`.
37
37
  It is an inspiration and deploys synchronously, so you get a URL right away.
38
38
  4. **Return the live share URL.** For revisions, re-deploy with the entity id
39
39
  from the first deploy — it updates the same share URL. If the user needs
@@ -4,7 +4,7 @@ when: calculator, converter, generator, timer, quiz, interactive tool, mini-app,
4
4
  needs: none
5
5
  deploy: inspiration
6
6
  editions: all
7
- capabilities_note: static — no infrastructure, state lives only in memory. Publishes as an inspiration (instant, works on hosted) via gridctl_drop.
7
+ capabilities_note: static — no infrastructure, state lives only in memory. Publishes as an inspiration (instant, works on hosted) via grid_drop.
8
8
  summary: Fetch the web-app template, adapt its markup and inline JS to the user's tool, deploy it, and return the live share URL.
9
9
  ---
10
10
 
@@ -14,9 +14,9 @@ Detect the intent ("build me a web app / tool / calculator that does X") and
14
14
  follow this recipe. Do not ask setup questions first; use sensible defaults and
15
15
  build.
16
16
 
17
- 1. **Fetch the template.** Call `gridctl_fetch("template", "web-app")` to load
17
+ 1. **Fetch the template.** Call `grid_fetch("template", "web-app")` to load
18
18
  the self-contained interactive HTML app template.
19
- 2. **(Optional) Fetch the example.** Call `gridctl_fetch("example", "web-app")`
19
+ 2. **(Optional) Fetch the example.** Call `grid_fetch("example", "web-app")`
20
20
  to see a real working tool as a reference for structure and inline logic.
21
21
  3. **Adapt the template.** Rework the markup and inline JavaScript into the tool
22
22
  the user asked for:
@@ -27,7 +27,7 @@ build.
27
27
  stylesheets, fonts, or CDNs — inline everything.
28
28
  4. **Deploy.** Deploy the filled HTML:
29
29
  - Hosted MCP edition: call the drop tool with the HTML.
30
- - Local MCP / CLI edition: write the HTML to a file and run `gridctl plug`.
30
+ - Local MCP / CLI edition: write the HTML to a file and run `grid plug`.
31
31
  A web app is an inspiration and deploys synchronously, so you get a URL
32
32
  right away.
33
33
  5. **Return the live share URL.** Give the user the URL that serves the app.
package/src/docs.js CHANGED
@@ -39,18 +39,18 @@ function ok(text) {
39
39
  function createDocsServer() {
40
40
  const server = new McpServer({ name: "cloudgrid-docs", version });
41
41
 
42
- // Naming cleanup (spec §6): the docs tools move to the gridctl_* family. Both
42
+ // Naming cleanup (spec §6): the docs tools move to the grid_* family. Both
43
43
  // legacy names stay registered as deprecated aliases (same handler) so nothing
44
44
  // breaks mid-migration; aliases are removed in a later major.
45
- // search_cloudgrid_documentation → gridctl_search_docs
46
- // cloudgrid_quickstart_guide → gridctl_quickstart
45
+ // search_cloudgrid_documentation → grid_search_docs
46
+ // cloudgrid_quickstart_guide → grid_quickstart
47
47
  const dual = (name, alias, description, schema, handler) => {
48
48
  server.tool(name, description, schema, handler);
49
49
  server.tool(alias, `(deprecated: use ${name}) ${description}`, schema, handler);
50
50
  };
51
51
 
52
52
  dual(
53
- "gridctl_search_docs",
53
+ "grid_search_docs",
54
54
  "search_cloudgrid_documentation",
55
55
  "Search CloudGrid documentation — guides, tutorials, CLI reference, MCP setup, and skill descriptions. Returns the most relevant doc chunks with title, snippet, and source path.",
56
56
  {
@@ -75,7 +75,7 @@ function createDocsServer() {
75
75
  );
76
76
 
77
77
  dual(
78
- "gridctl_quickstart",
78
+ "grid_quickstart",
79
79
  "cloudgrid_quickstart_guide",
80
80
  "Get the CloudGrid quickstart guide — the canonical build-and-ship loop from scaffold to deploy to feedback.",
81
81
  {},
package/src/index.js CHANGED
@@ -32,7 +32,7 @@ const server = new McpServer({ name: "cloudgrid-mcp", version });
32
32
  registerTools(server, ctx);
33
33
 
34
34
  // Capture the calling agent's clientInfo (name+version) once the MCP handshake
35
- // completes, so gridctl_report can attribute the report's origin (which agent).
35
+ // completes, so grid_report can attribute the report's origin (which agent).
36
36
  // getClientVersion() is populated by the SDK from the initialize request's
37
37
  // clientInfo. Never fatal — a missing client just falls back to "unknown".
38
38
  server.server.oninitialized = () => {