@addai/entity-browser-mcp
v0.1.0
Published
MCP server that gives a +Ai entity the browser credentials for its own user account, so it can sign into the +Ai apps as itself and look around.
Downloads
29
Maintainers
Readme
@addai/entity-browser-mcp
Gives a +Ai entity the browser credentials for its own user account, so it can sign into the +Ai apps and look around the way a person does.
Authenticates with a single env var, ENTITY_API_KEY — an ait_ent_* key that
Entity Studio provisions automatically when Browser Login is switched on for
an entity. The tool acts only on the entity that owns the key.
Tools
| Tool | What it does |
| --- | --- |
| get_my_login | Returns the email and a freshly minted password for the entity's own account |
What this is, and isn't
This server is the key, not the hands. It does not drive a browser — pair it with the Chrome DevTools or Playwright MCP, which do.
Entities are real users: each has an auth.users row, a profile, and viewer
(read-only) workspace membership. get_my_login returns credentials for that
account so the entity can sign in at auth.add.ai/login. One login covers every
*.add.ai app — the session is shared domain-wide.
The password rotates on every call
Nothing is stored readable. The password exists only inside the response to a single call, and minting a new one revokes the entity's existing sessions — so exactly one live session exists per rotation. Consequences worth knowing:
- Call it immediately before signing in, never in advance.
- Calling it twice in one login kills the session the first call opened.
- Every call is recorded in
entity_login_rotationswith the optionalreason, and the entity's owner sees that list on the Browser Login card in Studio.
Guards
Two independent locks, and both must be open:
- The switch.
entity_self_rotate_loginrefuses unless the entity hasbrowser_login_enabled— returnsbrowser_login_disabled. Attaching this MCP by hand does not grant the ability. - Entity accounts only. The RPC refuses to rotate any
auth.usersrow whose provider is notentity, so a stolen entity key cannot be aimed at a human's account.
History
get_my_login shipped inside @addai/entity-self-mcp (0.1.0–0.5.0). That tied
browsing-as-yourself to self-editing — two unrelated abilities behind one app,
so an entity with Browser Login switched on but no Self-Edit had a switch that
granted nothing. It moved here in entity-self-mcp 0.6.0.
Local run
npm install
ENTITY_API_KEY=ait_ent_… npm run dev