@groundfloorcloud/mcp 0.1.14 → 0.1.15
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/dist/index.js +31 -31
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -770,7 +770,7 @@ If they opt out of Tailwind:
|
|
|
770
770
|
|
|
771
771
|
The kit ships FederatedStyleRoot in src/lib/FederatedStyleRoot.tsx.
|
|
772
772
|
|
|
773
|
-
Human docs: /docs/
|
|
773
|
+
Human docs: /docs/apps/shell/styling
|
|
774
774
|
`;
|
|
775
775
|
|
|
776
776
|
// src/databases-guide.ts
|
|
@@ -818,7 +818,7 @@ resolution. POST /v1/workspaces/{id}/vault/collections with
|
|
|
818
818
|
POST /v1/workspaces/{id}/managed-databases with engine postgres
|
|
819
819
|
- Shell 403 / empty vault \u2192 collection Access for the site role
|
|
820
820
|
|
|
821
|
-
docs_get id databases. Human docs: /docs/
|
|
821
|
+
docs_get id databases. Human docs: /docs/data/databases and /docs/data/data-vault
|
|
822
822
|
`;
|
|
823
823
|
|
|
824
824
|
// src/design-standard-guide.ts
|
|
@@ -1131,19 +1131,19 @@ var DOC_CATALOG = [
|
|
|
1131
1131
|
{
|
|
1132
1132
|
id: "agents",
|
|
1133
1133
|
title: "Deploy with agents",
|
|
1134
|
-
path: "/docs/
|
|
1134
|
+
path: "/docs/developer-tools/ai-agents",
|
|
1135
1135
|
summary: "How agents should deploy Coderunner workloads and init/publish Shell apps with gf / MCP. App authentication is optional (end-user login). Service (Deployment) requires a Dockerfile. Shell apps: gf apps init, never invent App.tsx."
|
|
1136
1136
|
},
|
|
1137
1137
|
{
|
|
1138
1138
|
id: "developers",
|
|
1139
1139
|
title: "Developers (gf CLI)",
|
|
1140
|
-
path: "/docs/
|
|
1140
|
+
path: "/docs/developer-tools/cli",
|
|
1141
1141
|
summary: "gf login, workspaces, deploy, secrets, feature flags (gf flags), files, apps, gf m2m token. Coderunner types: function, job, schedule, service (also called Deployment). App authentication optional."
|
|
1142
1142
|
},
|
|
1143
1143
|
{
|
|
1144
1144
|
id: "coderunner",
|
|
1145
1145
|
title: "Coderunner",
|
|
1146
|
-
path: "/docs/
|
|
1146
|
+
path: "/docs/deploy",
|
|
1147
1147
|
summary: "Workload types (function, job, schedule, service/Deployment), runtime contract (scripts.start, 0.0.0.0:8080), Dockerfile for services, Coderunner identities for Vault, App authentication optional, local live data, gf deploy.",
|
|
1148
1148
|
embedded: CODERUNNER_GUIDE,
|
|
1149
1149
|
lastUpdated: "2026-09-25"
|
|
@@ -1151,7 +1151,7 @@ var DOC_CATALOG = [
|
|
|
1151
1151
|
{
|
|
1152
1152
|
id: "coderunner-runtime",
|
|
1153
1153
|
title: "Coderunner runtime contract",
|
|
1154
|
-
path: "/docs/
|
|
1154
|
+
path: "/docs/deploy",
|
|
1155
1155
|
summary: "What the platform expects your code to do: Node bootstrap (npm start, PORT/8080, bind 0.0.0.0), Python bind, service Dockerfile.",
|
|
1156
1156
|
embedded: CODERUNNER_RUNTIME_CONTRACT,
|
|
1157
1157
|
lastUpdated: "2026-09-23"
|
|
@@ -1159,7 +1159,7 @@ var DOC_CATALOG = [
|
|
|
1159
1159
|
{
|
|
1160
1160
|
id: "coderunner-overview",
|
|
1161
1161
|
title: "Coderunner overview",
|
|
1162
|
-
path: "/docs/
|
|
1162
|
+
path: "/docs/deploy",
|
|
1163
1163
|
summary: "Architecture and lifecycle. Prefer docs_get id coderunner for type usage, Dockerfile, and create prerequisites.",
|
|
1164
1164
|
embedded: CODERUNNER_GUIDE,
|
|
1165
1165
|
lastUpdated: "2026-09-25"
|
|
@@ -1167,19 +1167,19 @@ var DOC_CATALOG = [
|
|
|
1167
1167
|
{
|
|
1168
1168
|
id: "authentication",
|
|
1169
1169
|
title: "Workspace Authentication",
|
|
1170
|
-
path: "/docs/
|
|
1170
|
+
path: "/docs/access/app-authentication",
|
|
1171
1171
|
summary: "Workspace site auth (Groundfloor or external) is optional end-user login. Leaving Groundfloor keeps the realm (disabled) until Delete Groundfloor login. Separate from portal Team. Not required to create Apps or Coderunners."
|
|
1172
1172
|
},
|
|
1173
1173
|
{
|
|
1174
1174
|
id: "access",
|
|
1175
1175
|
title: "Access",
|
|
1176
|
-
path: "/docs/
|
|
1176
|
+
path: "/docs/access/site-access",
|
|
1177
1177
|
summary: "Grant site roles Data Vault collections, workspace-wide Files, and Apps launch. Admin is implicit. M2M is not an Access subject. Team membership is unchanged."
|
|
1178
1178
|
},
|
|
1179
1179
|
{
|
|
1180
1180
|
id: "m2m",
|
|
1181
1181
|
title: "M2M tokens",
|
|
1182
|
-
path: "/docs/
|
|
1182
|
+
path: "/docs/access/m2m-tokens",
|
|
1183
1183
|
summary: "Confidential client secret \u2192 short Control Plane JWT (typ=m2m). Attach on Coderunner or gf m2m token. Never DATAPLANE_SERVICE_API_KEY. v1 is Team Writer, no collection ACL. Secrets only with the opt-in secrets:read scope (read-only). Cache the token; minting is rate-limited per client and IP."
|
|
1184
1184
|
},
|
|
1185
1185
|
{
|
|
@@ -1191,7 +1191,7 @@ var DOC_CATALOG = [
|
|
|
1191
1191
|
{
|
|
1192
1192
|
id: "shell",
|
|
1193
1193
|
title: "Shell federated apps",
|
|
1194
|
-
path: "/docs/
|
|
1194
|
+
path: "/docs/apps/shell",
|
|
1195
1195
|
summary: "Product Apps vs Coderunner. Always gf apps init --slug <portal-slug>, then npm run release and gf apps publish --path release.zip. Never zip dist/ or upload only remoteEntry.js.",
|
|
1196
1196
|
embedded: SHELL_APP_GUIDE,
|
|
1197
1197
|
lastUpdated: "2026-09-26"
|
|
@@ -1199,7 +1199,7 @@ var DOC_CATALOG = [
|
|
|
1199
1199
|
{
|
|
1200
1200
|
id: "design-standard",
|
|
1201
1201
|
title: "Shell app design standard",
|
|
1202
|
-
path: "/docs/
|
|
1202
|
+
path: "/docs/apps/shell/styling",
|
|
1203
1203
|
summary: "Visual rules for Shell apps: grey ground, flat controls, Geist, one brand accent from theme.primaryColor, DataGrid, PhaseChevron. Use the kit; do not restyle to stock Tailwind.",
|
|
1204
1204
|
embedded: DESIGN_STANDARD_GUIDE,
|
|
1205
1205
|
lastUpdated: "2026-09-04"
|
|
@@ -1207,7 +1207,7 @@ var DOC_CATALOG = [
|
|
|
1207
1207
|
{
|
|
1208
1208
|
id: "css-and-styling",
|
|
1209
1209
|
title: "CSS and styling",
|
|
1210
|
-
path: "/docs/
|
|
1210
|
+
path: "/docs/apps/shell/styling",
|
|
1211
1211
|
summary: "Tailwind is the default. Own CSS framework (Bootstrap, MUI, \u2026) uses FederatedStyleRoot and Shadow DOM \u2014 do not load it globally onto the Shell page.",
|
|
1212
1212
|
embedded: CSS_AND_STYLING_GUIDE,
|
|
1213
1213
|
lastUpdated: "2026-09-04"
|
|
@@ -1215,7 +1215,7 @@ var DOC_CATALOG = [
|
|
|
1215
1215
|
{
|
|
1216
1216
|
id: "databases",
|
|
1217
1217
|
title: "Databases",
|
|
1218
|
-
path: "/docs/
|
|
1218
|
+
path: "/docs/data/databases",
|
|
1219
1219
|
summary: "Dataplane is not a database. PostgreSQL (shared, platform-managed) is ready through Dataplane with no deploy step. A dedicated PostgreSQL you deploy and own is a separate, heavier path. PostgreSQL is the only engine offered.",
|
|
1220
1220
|
embedded: DATABASES_GUIDE,
|
|
1221
1221
|
lastUpdated: "2026-09-26"
|
|
@@ -1231,7 +1231,7 @@ var DOC_CATALOG = [
|
|
|
1231
1231
|
{
|
|
1232
1232
|
id: "feature-flags",
|
|
1233
1233
|
title: "Feature Flags",
|
|
1234
|
-
path: "/docs/
|
|
1234
|
+
path: "/docs/configure/feature-flags",
|
|
1235
1235
|
summary: "Built-in per-environment feature flags (toggles / config values) \u2014 use these, not a Vault collection. gf flags ls|set|compare|promote. Apps read GET \u2026/flags/runtime: Shell apps with the end-user JWT + window.__GF_ENVIRONMENT_ID__ (starter-kit useFlag), Coderunners with gf m2m token + GROUNDFLOOR_ENVIRONMENT_ID. Default environment is dev.",
|
|
1236
1236
|
embedded: FLAGS_GUIDE,
|
|
1237
1237
|
lastUpdated: "2026-09-26"
|
|
@@ -1247,7 +1247,7 @@ var DOC_CATALOG = [
|
|
|
1247
1247
|
{
|
|
1248
1248
|
id: "scheduled-jobs",
|
|
1249
1249
|
title: "Scheduled jobs",
|
|
1250
|
-
path: "/docs/
|
|
1250
|
+
path: "/docs/deploy/schedules",
|
|
1251
1251
|
summary: "workload_type=schedule plus cron. gf coderunner status shows type/schedule/last_job. Use Process Log, not a public URL.",
|
|
1252
1252
|
embedded: CODERUNNER_GUIDE,
|
|
1253
1253
|
lastUpdated: "2026-09-25"
|
|
@@ -1314,94 +1314,94 @@ function suggestCli(intent, args) {
|
|
|
1314
1314
|
return {
|
|
1315
1315
|
command: args?.cell === "stage" ? "gf login --stage" : args?.cell === "dev" ? "gf login --dev" : "gf login",
|
|
1316
1316
|
why: "Creates ~/.groundfloor session (auto-refresh). MCP reads this; do not paste JWTs into mcp.json.",
|
|
1317
|
-
docs: "https://docs.groundfloor.cloud/docs/
|
|
1317
|
+
docs: "https://docs.groundfloor.cloud/docs/developer-tools/cli"
|
|
1318
1318
|
};
|
|
1319
1319
|
case "switch_workspace":
|
|
1320
1320
|
return {
|
|
1321
1321
|
command: args?.workspace ? `gf workspaces use ${args.workspace}` : "gf workspaces && gf workspaces use <uuid>",
|
|
1322
1322
|
why: "Sets the default workspace for gf and MCP.",
|
|
1323
|
-
docs: "https://docs.groundfloor.cloud/docs/
|
|
1323
|
+
docs: "https://docs.groundfloor.cloud/docs/developer-tools/cli"
|
|
1324
1324
|
};
|
|
1325
1325
|
case "deploy":
|
|
1326
1326
|
return {
|
|
1327
1327
|
command: name ? `gf deploy -n ${name}${ws}` : `gf deploy${ws}`,
|
|
1328
1328
|
why: 'Package the current (or --path) folder and deploy as a Coderunner. App authentication is optional (end-user login only). workloadType function|job|schedule|service (service = Deployment; requires a Dockerfile). Schedules need --schedule "<cron>" or groundfloor.json schedule. Node bootstrap: scripts.start, listen PORT||8080, bind 0.0.0.0. Do not create an App for this.',
|
|
1329
|
-
docs: "https://docs.groundfloor.cloud/docs/
|
|
1329
|
+
docs: "https://docs.groundfloor.cloud/docs/deploy"
|
|
1330
1330
|
};
|
|
1331
1331
|
case "run":
|
|
1332
1332
|
return {
|
|
1333
1333
|
command: name ? `gf coderunner run -c ${name}${ws}` : `gf coderunner run -c <id-or-slug>${ws}`,
|
|
1334
1334
|
why: "Smoke-invoke a deployed function or job.",
|
|
1335
|
-
docs: "https://docs.groundfloor.cloud/docs/
|
|
1335
|
+
docs: "https://docs.groundfloor.cloud/docs/deploy"
|
|
1336
1336
|
};
|
|
1337
1337
|
case "status":
|
|
1338
1338
|
return {
|
|
1339
1339
|
command: name ? `gf coderunner status -c ${name}${ws}` : `gf coderunner ls${ws}`,
|
|
1340
1340
|
why: "Inspect build/deploy state.",
|
|
1341
|
-
docs: "https://docs.groundfloor.cloud/docs/
|
|
1341
|
+
docs: "https://docs.groundfloor.cloud/docs/deploy"
|
|
1342
1342
|
};
|
|
1343
1343
|
case "logs":
|
|
1344
1344
|
return {
|
|
1345
1345
|
command: name ? `gf coderunner logs -c ${name}${ws}` : `gf coderunner logs -c <id-or-slug>${ws}`,
|
|
1346
1346
|
why: "Process Log (stdout/stderr). gf deploy prints the last lines on failure; this command fetches more. runner_id accepts a coderunner id.",
|
|
1347
|
-
docs: "https://docs.groundfloor.cloud/docs/
|
|
1347
|
+
docs: "https://docs.groundfloor.cloud/docs/deploy"
|
|
1348
1348
|
};
|
|
1349
1349
|
case "init_app": {
|
|
1350
1350
|
const slug = args?.slug?.trim();
|
|
1351
1351
|
return {
|
|
1352
1352
|
command: slug ? `gf apps init --slug ${slug}` : "gf apps init --slug <portal-slug>",
|
|
1353
1353
|
why: "Download the official Shell starter-kit and stamp APP_ID. Never scaffold vite.config / App.tsx from memory. Never wrap App in BrowserRouter. Never zip dist/ or upload only remoteEntry.js.",
|
|
1354
|
-
docs: "https://docs.groundfloor.cloud/docs/
|
|
1354
|
+
docs: "https://docs.groundfloor.cloud/docs/apps/shell"
|
|
1355
1355
|
};
|
|
1356
1356
|
}
|
|
1357
1357
|
case "publish_app":
|
|
1358
1358
|
return {
|
|
1359
1359
|
command: args?.slug ? `gf apps init --slug ${args.slug} && cd ${args.slug} && npm install && npm run release && gf apps publish --path release.zip` : "gf apps init --slug <portal-slug> && cd <slug> && npm install && npm run release && gf apps publish --path release.zip",
|
|
1360
1360
|
why: "Ship a Shell federated App. Always init the kit first. npm run release (not zip dist/, not a lone remoteEntry.js). Do not gf deploy. Do not invent App.tsx.",
|
|
1361
|
-
docs: "https://docs.groundfloor.cloud/docs/
|
|
1361
|
+
docs: "https://docs.groundfloor.cloud/docs/apps/shell"
|
|
1362
1362
|
};
|
|
1363
1363
|
case "environments":
|
|
1364
1364
|
return {
|
|
1365
1365
|
command: `gf environments ls${ws}`,
|
|
1366
1366
|
why: "List workspace environments (id, name, status) for secrets and deploy targeting.",
|
|
1367
|
-
docs: "https://docs.groundfloor.cloud/docs/
|
|
1367
|
+
docs: "https://docs.groundfloor.cloud/docs/developer-tools/cli"
|
|
1368
1368
|
};
|
|
1369
1369
|
case "cancel_deployment":
|
|
1370
1370
|
return {
|
|
1371
1371
|
command: name ? `gf coderunner cancel-deployment -c ${name}${ws}` : `gf coderunner cancel-deployment -c <id-or-slug>${ws}`,
|
|
1372
1372
|
why: "Delete the current deployment (or --deployment-id). Use this for a deploy stuck in deploying.",
|
|
1373
|
-
docs: "https://docs.groundfloor.cloud/docs/
|
|
1373
|
+
docs: "https://docs.groundfloor.cloud/docs/deploy"
|
|
1374
1374
|
};
|
|
1375
1375
|
case "secrets":
|
|
1376
1376
|
return {
|
|
1377
1377
|
command: `gf secrets ls${ws}`,
|
|
1378
1378
|
why: "Mutations: gf secrets set|get|rm. MCP only lists keys.",
|
|
1379
|
-
docs: "https://docs.groundfloor.cloud/docs/
|
|
1379
|
+
docs: "https://docs.groundfloor.cloud/docs/developer-tools/cli"
|
|
1380
1380
|
};
|
|
1381
1381
|
case "flags":
|
|
1382
1382
|
return {
|
|
1383
1383
|
command: `gf flags ls${ws}`,
|
|
1384
1384
|
why: "Feature flags per environment. Mutations: gf flags set|rm|compare|promote (-e <id|name>). Apps read GET \u2026/flags/runtime (docs_get id feature-flags). Do not build flags in a Vault collection.",
|
|
1385
|
-
docs: "https://docs.groundfloor.cloud/docs/
|
|
1385
|
+
docs: "https://docs.groundfloor.cloud/docs/configure/feature-flags"
|
|
1386
1386
|
};
|
|
1387
1387
|
case "dataplane":
|
|
1388
1388
|
return {
|
|
1389
1389
|
command: `gf dataplane status${ws} # provision: gf dataplane provision`,
|
|
1390
1390
|
why: "Dataplane is required for vault, files, and secrets.",
|
|
1391
|
-
docs: "https://docs.groundfloor.cloud/docs/
|
|
1391
|
+
docs: "https://docs.groundfloor.cloud/docs/developer-tools/cli"
|
|
1392
1392
|
};
|
|
1393
1393
|
case "vault_token":
|
|
1394
1394
|
case "m2m_token":
|
|
1395
1395
|
return {
|
|
1396
1396
|
command: `gf m2m token${ws}`,
|
|
1397
1397
|
why: "Exchange GROUNDFLOOR_M2M_CLIENT_ID + GROUNDFLOOR_M2M_CLIENT_SECRET for a short Control Plane JWT. Call Vault and Files at $CONTROLPLANE_URL. Never DATAPLANE_SERVICE_API_KEY. gf token is a builder credential.",
|
|
1398
|
-
docs: "https://docs.groundfloor.cloud/docs/
|
|
1398
|
+
docs: "https://docs.groundfloor.cloud/docs/access/m2m-tokens"
|
|
1399
1399
|
};
|
|
1400
1400
|
default:
|
|
1401
1401
|
return {
|
|
1402
1402
|
command: "gf --help",
|
|
1403
1403
|
why: `Unknown intent "${intent}". Use login | switch_workspace | deploy | run | status | logs | environments | cancel_deployment | init_app | publish_app | secrets | flags | dataplane | vault_token.`,
|
|
1404
|
-
docs: "https://docs.groundfloor.cloud/docs/
|
|
1404
|
+
docs: "https://docs.groundfloor.cloud/docs/developer-tools/cli"
|
|
1405
1405
|
};
|
|
1406
1406
|
}
|
|
1407
1407
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@groundfloorcloud/mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.15",
|
|
4
4
|
"description": "Groundfloor MCP — inspect workspace state and docs; take actions with the gf CLI.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"url": "git+ssh://git@bitbucket.org/codementeam/groundfloor-client-portal.git",
|
|
19
19
|
"directory": "packages/mcp"
|
|
20
20
|
},
|
|
21
|
-
"homepage": "https://docs.groundfloor.cloud/docs/
|
|
21
|
+
"homepage": "https://docs.groundfloor.cloud/docs/developer-tools/ai-agents",
|
|
22
22
|
"keywords": [
|
|
23
23
|
"groundfloor",
|
|
24
24
|
"mcp",
|