Push GenZAgents to every laptop without touching a terminal.
Three templates for JAMF Pro, Microsoft Intune, and VMware Workspace ONE. Each pushes the MCP installer to every employee's machine using a scoped install-only token. After install, each employee signs in via SSO and gets their own per-user identity — per-employee attribution stays intact.
The flow
- 1
IT admin generates an org install token at /settings/api-keys (Enterprise tier). Token starts with org_install_…
- 2
IT pushes the chosen MDM template (below) to every managed device. The template references the token as an env var or MDM script parameter.
- 3
On run, the installer auto-detects every AI tool the employee has installed and merges our MCP config into each one. Backs up existing configs to .bak files. Writes the placeholder env var; the LITERAL token is not what each tool ends up using.
- 4
The first time an employee opens an AI tool, the MCP server detects no per-user GENZAGENTS_API_KEY and opens a browser to sign-in.
- 5
Employee signs in via your org SSO (Google / Microsoft Entra / GitHub). They get their OWN sk_live_ key bound to their identity, scoped to your org.
- 6
From here on, every receipt is attributed to that individual employee. The install token is no longer used — the per-user key takes over.
What the install token can — and can NOT — do
✓ The install token CAN
- Hit the
/v1/install/whoamiendpoint to verify itself - Be used as the seed value the installer writes to the side-file (overwritten on first user sign-in)
✗ The install token CANNOT
- Read any receipts
- Issue any receipts
- Read org analytics, billing, or user data
- Authenticate to any endpoint outside
/v1/install/*
Enforced server-side in services/api/src/middleware/auth.ts — every install_only-scoped key gets a 403 on every non-/v1/install/* path. If a laptop is stolen with an install token on it, the worst an attacker can do is configure their own machine to point at our API.
Verify the token before fleet-wide deploy
Hit our token introspection endpoint to confirm the token is live and returns the right org name.
# Verify the token is live before deploying it widely
curl -s https://api.genzagents.com/v1/install/whoami \
-H "Authorization: Bearer $ORG_INSTALL_TOKEN"
# Expected: {"ok":true,"data":{"orgName":"Acme Corp", ...}}
JAMF script
Per-user policy. Trigger on login or expose via self-service. Pass the install token as JAMF script parameter $4.
#!/bin/bash
# GenZAgents MCP installer — JAMF Pro policy script
# Run as: per-user policy, triggered on login or self-service
set -euo pipefail
# Push the org install token via JAMF script parameter $4
ORG_TOKEN="${4:?missing install token (set in JAMF script parameter 4)}"
# Run the installer in silent mode
GENZAGENTS_API_KEY="$ORG_TOKEN" \
/usr/local/bin/npx -y @genzagentsio/setup --silent --yes
Intune PowerShell script
Deploy as a Win32 app or platform script. The install token is pushed via the device's environment variable GENZAGENTS_INSTALL_TOKEN (set via Intune configuration profile).
# GenZAgents MCP installer — Microsoft Intune # Win32 app · Detection rule: side-file presence $ErrorActionPreference = "Stop" # Token pushed via Intune detection rule env or registry-set var $OrgToken = $env:GENZAGENTS_INSTALL_TOKEN # Run the installer $env:GENZAGENTS_API_KEY = $OrgToken & npx -y @genzagentsio/setup --silent --yes
Workspace ONE profile
Push as a per-user macOS script profile.
<!-- VMware Workspace ONE UEM · Profile Script payload
Push as a per-user macOS script. -->
<plist version="1.0">
<dict>
<key>RunOnce</key>
<false/>
<key>Script</key>
<string>#!/bin/bash
GENZAGENTS_API_KEY="$ORG_INSTALL_TOKEN" \
npx -y @genzagentsio/setup --silent --yes
</string>
</dict>
</plist>
Notes
- The installer is idempotent — re-running it has no effect once already installed. Schedule weekly if you want to catch new AI tools your employees install.
- The installer never asks for sudo / admin. It only writes to user-owned paths under the employee's home directory.
- If an employee changes laptops, just re-push the policy on the new device. The install token doesn't expire unless you revoke it.
- Audit the installer source at github.com/genzagents/genzagents/tree/main/packages/installer before deploying.
- For ChromeOS / Linux fleets, the same
npx @genzagentsio/setupcommand works in any cross-platform configuration management framework (Puppet / Chef / Ansible / Salt).
Generate an install token
Org primary contact only. Available on the Enterprise tier.