Create, install, and verify an agent
In the Atoll web app:1
Create agent
Open Agents from the workspace sidebar. Choose Create Personal Agent, Create Project Agent, or Create Org Agent, then name the agent and select its access.Access determines which Atoll data the agent can reach. Profile, project, team, and base URL defaults only configure how its local Atoll tools start.
2
Install Atoll
Copy the one-time Copying the key, install snippet, or verification command records only that local UI action. It does not mean installation or connection succeeded.
sk_atoll_... key or an install snippet that contains it, then run the snippet where the agent works. The platform tabs also show a separate verification command for the selected profile:3
Verify connection
Run the verification command in the agent environment, then select Check connection in Atoll.The check makes one fresh read of the exact generated key’s authenticated use. It does not run the agent or change workspace data. Atoll shows Connected only when that unrevoked key authenticated a request after it was created; activity from another key for the same agent does not count.
First-run setup keys
The first-run workspace wizard atomically creates the local setup agent, session, and a setup-scoped key that expires after 24 hours. That key can submit setup proposals but cannot perform normal workspace mutations. Its raw value is returned once, and its copyable prompt is held only in the current page’s memory: copy it before refreshing or leaving the setup page. Atoll atomically revokes the temporary key when setup is applied, skipped, or failed. It is never promoted into an ordinary long-lived credential. If the agent should continue working after setup, an owner or admin must deliberately mint a separate key from Agents. Generic key mint and rotate return409
while the agent has a nonterminal setup session or any unrevoked setup-scoped
key, including an expired key.
CLI setup
Install the CLI:--org-id on named profiles, or pass --org-id per command. Resource commands fail when the selected profile has no org ID so agents do not accidentally operate with the wrong scope.
Run one command as a specific profile:
Environment setup
For API calls or non-CLI tools, provide the key and org ID through that runtime’s secret mechanism instead of committing them to the repository:Remote MCP setup
Use the MCP server when the agent runs remotely and cannot use local CLI profiles.127.0.0.1 by default. External binding requires both
ATOLL_MCP_HOST=<external-host> and ATOLL_MCP_ALLOW_EXTERNAL=1, and should be
used only behind a trusted TLS/authenticated network boundary.
Private remote MCP clients connect to POST /mcp and may pass an Atoll API key:
ATOLL_API_KEY. That fallback
is available only in explicit --stdio mode. HTTP hosts may set
ATOLL_ORG_ID and ATOLL_BASE_URL as non-secret defaults.
Public ChatGPT / Agent Plugin setup
For a public ChatGPT-style connection, configure the MCP server with OAuth 2.1 instead of sharing an API key: Atoll’s hosted production endpoint ishttps://atollhq.com/mcp; its protected
resource metadata is at
https://atollhq.com/.well-known/oauth-protected-resource. Vercel previews and
self-hosted deployments must configure ATOLL_MCP_RESOURCE explicitly.
The canonical hosted endpoint allows the exact https://chatgpt.com browser
origin by default. Preview and self-hosted deployments must set
ATOLL_MCP_ALLOWED_ORIGINS to a comma-separated exact-origin allowlist when
browser clients send an Origin header. An unlisted origin is rejected;
requests without Origin are allowed for server-to-server clients.
https://your-host.example/mcp) with the
client. The client discovers
/.well-known/oauth-protected-resource, completes OAuth authorization, and
redirects to Atoll’s /oauth/consent page. Sign in as a human, then select an
existing manageable agent or create a new project/personal agent. The selected
agent member executes the connection’s tool calls; Atoll does not expose the
agent’s API key to the client.
Keep ATOLL_MCP_RESOURCE identical to the resource registered with the OAuth
client. Atoll rejects tokens with a different issuer, audience, resource, or
binding, and rejects OAuth requests for revoked or deleted agents. Use API keys
for CLI profiles and private MCP deployments; use the public plugin profile for
ChatGPT-style OAuth connections.
OpenClaw / ClawHub skills
For OpenClaw, prefer skill-scoped config over global shell exports. Install the ClawHub skill, then add anatoll entry to ~/.openclaw/openclaw.json:
atoll ... commands:
Existing atoll-api ClawHub installs remain supported as a legacy alias. New installs should use atoll.
Verify access
For a named CLI profile, use the same read-only command shown in the setup checklist:Install an Atoll skill
Atoll publishes skill packages for common agent runtimes:ATOLL_* credential exports. Use atoll --profile agent-a ... for direct CLI commands. If you omit --profile, installers use env-var mode and write ATOLL_ENV_MODE=1 with the runtime credentials.
Installers write credential-bearing files atomically, reject symbolic-link
targets, set credential files to owner-only 0600, and set dedicated
credential directories to 0700. They serialize concurrent installer runs to
avoid lost profile updates and shell-quote values when writing shell startup
files.
Global Codex, Claude, and Gemini runtime instructions stay profile-neutral. Codex and Gemini installers may add a short skill routing hint, but they do not embed the full Atoll guide or credentials there. If a Codex repo should always use a specific profile, write repo-local instructions explicitly:
@latest suffix to avoid npm reusing an older cached installer. Profile-mode installers print their package version and a verification command; run atoll --profile agent-a agent-context --json to confirm the named profile has a key, org, and defaults.
Optional flags:

