Docs

MCP Accounts

Logins for AI agents, not people — an id + one-time secret, a role, and an Enabled switch; managed by humans, used through the Keen MCP server.

Overview

An agent helper on your team, with its own credential and exactly one role.

An MCP account is a login for an AI agent — an assistant such as Claude Code that you let into your organization so it can do real work: create spaces and agents, wire up partner API access, rebuild caches, provision its own test consumers — whatever its role permits. It signs in through the Keen MCP Server and then acts as that account, with exactly that role's permissions; every action lands in the audit trail under its name, just like a teammate's.

Unlike a person it has no email, no password and no invitation mail: its credential is an ID (always visible on its page) plus a secret that is shown once. A human with the mcp_accounts write scope creates, changes, rotates and deletes MCP accounts; an MCP account may only view them — never manage one, whatever its role.

Core Concepts

Credential pair
The ID is public — a copy button sits next to it on the detail page. The secret exists only in two replies: the create reply and a Rotate Secret reply. It is stored irreversibly hashed and can never be displayed again — lose it and you rotate.
Name — unique and permanent
Choose it carefully: two MCP accounts cannot share a name (a duplicate is refused with An MCP account with that name already exists!), and the name cannot be changed after creation — the detail page shows it read-only. A typo means delete and re-create (new ID, new secret).
Role
The same roles your people have; owner is never offered. Change it on the detail page and Save — the agent picks the new permissions up at its next authentication (it is not signed out mid-session the way a person is). An unknown role is refused with No such role!.
Enabled switch
Enabled is the default at creation. Disabled freezes the agent without deleting anything: a disabled account can neither sign in nor refresh its session. Turn it back on to let it in again.
Last login
The list and the detail page show when the agent last signed in — Never used until it does.
Created by
Each MCP account records which human created it.

The MCP Account Lifecycle

Create → copy the pair once → hand it to the agent → rotate, pause or delete.

  1. A human with mcp_accounts write opens Organization → MCP Accounts → Create MCP Account, enters a Name (up to 100 characters), picks a Role (any role except owner) and leaves Enabled on. Create.
  2. The form is replaced by a one-time panel — MCP secret — shown once — with the MCP Account ID and the MCP Secret, each with a copy button. Copy both now; then press I have copied it — open the account.
  3. Hand the pair to whoever configures the agent. The agent connects to the Keen MCP server at https://<your-host>/mcp and logs in with the ID and secret; from then on every tool call acts as that account.
  4. Later, on the detail page: change the Role or the Enabled switch and Save; Rotate Secret mints a new secret and shows it once (a single click — no confirm step; the old secret stops working immediately); Delete → Confirm delete / Cancel removes the account and its credential on the spot.
The secret is shown exactly once
At creation and after each Rotate Secret the panel is the only time the secret can be displayed — it is stored irreversibly hashed. Copy it before you leave the panel; if it is lost, rotate and hand the new one to the agent straight away.

What an MCP Account Can and Cannot Do

The role decides the scopes; one rule sits above every role.

AreaCanCannot
Spaces, agents, agent settings; API access (clients, certificates, webhooks, contracts, api keys); cache; logsEverything its role's scopes allow — including rotate, wake and cache rebuilds—
MCP consumers (its own end-user identities)Create, assign contract and spaces, enable/disable, rotate, delete, mint their token—
Human consumersViewCreate, reset password, assign, delete
MCP accounts (other agents)View the list and a recordCreate, change role or Enabled, rotate, delete — regardless of its role
Accounts, Roles, My AccountNothingEverything — these pages refuse an MCP account outright with MCP accounts may not access this resource

Why: an agent must never be able to widen its own power or manage the people who supervise it. That rule is a property of being an MCP account, not a scope you can grant or remove — even the admin role does not lift it.

Relation to the MCP Server

Where the agent signs in, and what decides which tools succeed.

The Keen MCP Server is the door AI agents use to work inside KeenAgents. It lives at https://<your-host>/mcp, speaks the standard MCP protocol over HTTPS, and offers tools that mirror the admin console. An agent logs in with an MCP account's ID and secret; the session keeps itself signed in, and logout ends it. Which tools succeed is decided by the account's role — the same permission scopes you set under Roles & Permissions.

This page covers the account itself. Which tools exist and how an agent sets up an organization end to end belongs to the Keen MCP Server page.

Rules & Limits

  • Name — required, trimmed, unique across MCP accounts, up to 100 characters in the form, and immutable after creation.
  • Role — required; must be an existing role (No such role! otherwise); owner is never offered.
  • Enabled — on by default at creation.
  • Sign-in — refused uniformly, with no detail, when the ID is unknown, the secret is wrong or the account is disabled; a successful sign-in stamps Last login.
  • Listing — the console list is paged (20 per page) with no filter panel.
  • Who may manage — only a human can create, change, rotate or delete an MCP account; an MCP account may only view them.

In the Admin UI

  • Sidebar — the entry appears between Accounts and Roles for anyone with mcp_accounts read; the Create card needs write.
  • MCP Account List — columns Name, Role, Enabled (Enabled / Disabled), Created, Last login and a Visit link; Showing X–Y of Z in the footer; empty state No MCP accounts yet.
  • Create MCP Account — card MCP Account Details: Name, Role (Select a role), Enabled switch → Create → the one-time secret panel.
  • MCP Account Details — card Identity, Role & Access; badges for the role, Enabled / Disabled and Last login … / Never used; read-only MCP Account ID (copy button) and Name; Role select; Enabled switch. Footer (writers only): Save (enabled only on a real change), Rotate Secret, Delete → Confirm delete / Cancel. A view-only holder sees the record with every control locked.
  • Toasts — MCP account "X" created, MCP account "X" updated, Secret rotated for "X", MCP account "X" deleted.

Good to Know

  • Deleting an MCP account revokes its credential on the spot: no new sign-in and no session refresh will succeed; a session the agent already holds runs out on its own shortly after.
  • Rotate is one click, not two — unlike Delete there is no confirm step. Lost the secret? Rotate; you cannot reveal it again.
  • Prefer Enabled → off over Delete when you only want to pause an agent; it is reversible.
  • If a role is deleted, MCP accounts holding it move to default like everyone else.
  • An agent that reports MCP accounts may not access this resource on Accounts, Roles or MCP Accounts is not missing a scope — that is the rule. A human does those steps.
Delete is instant and final for the agent
Its secret dies the moment you confirm; nothing else goes with it (an MCP consumer belongs to its contract, not to the account that created it). Want a pause, not an end? Flip Enabled off instead.

Previous

Accounts

Next

Roles & Permissions

Keen Agents 2026

Documentation

Release 15