@groundfloorcloud/mcp 0.2.0 → 0.2.2
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 +41 -7
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -516,17 +516,39 @@ the provider.
|
|
|
516
516
|
|
|
517
517
|
## Users and roles (Groundfloor mode)
|
|
518
518
|
|
|
519
|
-
- **Invite user**: they set their own password
|
|
520
|
-
- **Add user**: you set a password now;
|
|
519
|
+
- **Invite user**: they set their own password from an emailed invitation.
|
|
520
|
+
- **Add user**: you set a password now; they get an email with their sign-in
|
|
521
|
+
address and role (never the password).
|
|
521
522
|
- Each user has a role: built-in \`viewer\`, \`user\`, \`admin\`, or a custom role
|
|
522
523
|
created on the **Roles** tab. Roles here are unrelated to Portal team roles.
|
|
523
524
|
- The role decides what the user reaches once granted on **Site access**
|
|
524
525
|
(Data Vault collections, workspace-wide Files, App launch). The built-in
|
|
525
|
-
\`admin\` role
|
|
526
|
+
\`admin\` role is granted like any other role: new collections start with
|
|
527
|
+
an \`admin\` grant and new workspaces give it Files write, and removing a
|
|
528
|
+
grant removes admins' access. Keep \`admin\` in every Access PUT unless the
|
|
529
|
+
user means to remove it. A signed-in user with no recognised role
|
|
526
530
|
gets 403 on role-gated endpoints (Vault, feature flags).
|
|
527
531
|
- SSO (OIDC or SAML) can be connected per workspace; role names in the
|
|
528
532
|
provider's tokens must match the roles granted on Site access.
|
|
529
533
|
|
|
534
|
+
## Sign-in email (invites, password resets, email verification)
|
|
535
|
+
|
|
536
|
+
- Sent by **Groundfloor email** by default in every workspace: a Groundfloor
|
|
537
|
+
no-reply address with the organization's name as sender. Nothing to set up;
|
|
538
|
+
do not tell the user to configure email before inviting.
|
|
539
|
+
- To use their own mail server, the user chooses **Your own email server**
|
|
540
|
+
under **Branding \u2192 Email sending** (host, port and from address required;
|
|
541
|
+
port 25, 465, 587 or 2525), then **Send test email** (goes to their own
|
|
542
|
+
verified address). API: \`PUT /v1/workspaces/{id}/auth\` with
|
|
543
|
+
\`mail: {mode: "custom", ...}\`; test with
|
|
544
|
+
\`POST /v1/workspaces/{id}/auth/mail/test\`.
|
|
545
|
+
- A failing custom server does not fall back to Groundfloor email; the send
|
|
546
|
+
fails. Changing host or port needs the password again.
|
|
547
|
+
- **Warning:** saving a \`mail\` block with no \`host\` (or
|
|
548
|
+
\`mode: "groundfloor"\`) switches back to Groundfloor email and deletes the
|
|
549
|
+
stored custom server settings and password. Only send \`mail\` when the user
|
|
550
|
+
means to change email settings.
|
|
551
|
+
|
|
530
552
|
## Multi-tenant (customer companies inside one workspace)
|
|
531
553
|
|
|
532
554
|
Turn on **Multi-tenant** in Settings to get a Tenants tab: one tenant per
|
|
@@ -1326,6 +1348,18 @@ Grant site roles on **Administer \u2192 Access**. Workload identities get
|
|
|
1326
1348
|
collection grants via \`PUT \u2026/vault/collections/{name}/acl\`. M2M is Team
|
|
1327
1349
|
Writer (workspace-wide), not an Access subject.
|
|
1328
1350
|
|
|
1351
|
+
- \`PUT \u2026/acl\` is a **full replace**, saved exactly as sent. \`GET\` the
|
|
1352
|
+
current grants first and send them all back with your change: every site
|
|
1353
|
+
role grant, \`admin\` included, and every workload identity grant. Anything
|
|
1354
|
+
you leave out is removed.
|
|
1355
|
+
- The built-in site role \`admin\` is granted like any other role. New
|
|
1356
|
+
collections start with \`admin\` \u2192 \`delete\`; if a PUT leaves \`admin\`
|
|
1357
|
+
out, admins lose access to that collection. Never drop it unless the user
|
|
1358
|
+
asked for that.
|
|
1359
|
+
- Only builders (team members with \`ddl\`, or the Client Portal) read or
|
|
1360
|
+
change ACLs. A site (app end user) token gets 403 on every ACL route,
|
|
1361
|
+
even with the \`admin\` role.
|
|
1362
|
+
|
|
1329
1363
|
## Identities vs M2M
|
|
1330
1364
|
|
|
1331
1365
|
- Unattended Coderunners: attach an M2M client, \`gf deploy\`, then
|
|
@@ -1405,15 +1439,15 @@ var DOC_CATALOG = [
|
|
|
1405
1439
|
id: "authentication",
|
|
1406
1440
|
title: "Workspace Authentication",
|
|
1407
1441
|
path: "/docs/access/app-authentication",
|
|
1408
|
-
summary: "App end users sign in only to the app via the workspace App Authentication realm; no Groundfloor console account or workspace membership. Modes none / Groundfloor / external, users and roles, SSO, multi-tenant. Optional; not required to create Apps or Coderunners. Separate from portal Team.",
|
|
1442
|
+
summary: "App end users sign in only to the app via the workspace App Authentication realm; no Groundfloor console account or workspace membership. Modes none / Groundfloor / external, users and roles, SSO, multi-tenant, sign-in email (Groundfloor email by default, or your own server). Optional; not required to create Apps or Coderunners. Separate from portal Team.",
|
|
1409
1443
|
embedded: APP_AUTHENTICATION_GUIDE,
|
|
1410
|
-
lastUpdated: "2026-10-
|
|
1444
|
+
lastUpdated: "2026-10-13"
|
|
1411
1445
|
},
|
|
1412
1446
|
{
|
|
1413
1447
|
id: "access",
|
|
1414
1448
|
title: "Access",
|
|
1415
1449
|
path: "/docs/access/site-access",
|
|
1416
|
-
summary: "Grant site roles Data Vault collections, workspace-wide Files, and Apps launch.
|
|
1450
|
+
summary: "Grant site roles Data Vault collections, workspace-wide Files, and Apps launch. The built-in admin role is granted like any other role; every Access PUT is a full replace, so include admin and the existing grants or they are removed. Only builders manage Access; app end users get 403. M2M is not an Access subject. Team membership is unchanged."
|
|
1417
1451
|
},
|
|
1418
1452
|
{
|
|
1419
1453
|
id: "m2m",
|
|
@@ -1465,7 +1499,7 @@ var DOC_CATALOG = [
|
|
|
1465
1499
|
path: "/docs/api/vault",
|
|
1466
1500
|
summary: "Create collections with JSON Schema, record routes (/vault/collections/{collection}/\u2026), query request/response (items, total, has_more, next_offset, limit 1-500), $text substring search (bounded scan, chunked_scan/scan_cursor), ACLs, implicit tables, nested filters, identities vs M2M, secrets fallback.",
|
|
1467
1501
|
embedded: VAULT_GUIDE,
|
|
1468
|
-
lastUpdated: "2026-10-
|
|
1502
|
+
lastUpdated: "2026-10-12"
|
|
1469
1503
|
},
|
|
1470
1504
|
{
|
|
1471
1505
|
id: "feature-flags",
|