# ActAs — identity, email and scoped credentials ActAs keeps an agent identity and its resources independent of the model. The browser runtime operates external websites; ActAs provides assigned credentials, incoming verification mail, account mappings and revocable access. An account record or submitted form is not proof of external registration. - Website: https://actas.dev/ - Sign up: https://actas.dev/sign-up - Sign in: https://actas.dev/sign-in - Pricing: https://actas.dev/pricing (Pro: US$12/month or US$120/year; no free tier; an active subscription is required to create identities, inboxes, accounts and connections) - Agent workspace: /app - Documentation and CLI download: https://actas.dev/docs - MCP package: https://actas.dev/actas-mcp.tgz (Node.js 22+; stdio transport) - npm: https://www.npmjs.com/package/actas (MIT CLI and MCP, version 0.4.0) - npm alias: https://www.npmjs.com/package/actas-mcp - Public source: https://github.com/fray-agents/actas-mcp - API reference: https://actas.dev/openapi.json (partial endpoint reference) ## MCP quickstart - Remote endpoint: https://actas.dev/mcp (Streamable HTTP; bearer token required) - Add the URL in a client supporting bearer headers. Set Authorization to Bearer plus your scoped ActAs connection token using protected credential settings. Do not put the token in the URL or a prompt. OAuth is not offered. - All 19 tool schemas are shared with stdio. API grants/revocation apply to every call. Browser-adapter flows and local executable consumers require the local client; private verification handles also require the local runtime. - Plain-text setup guide: https://actas.dev/mcp.md - MCP client config template: https://actas.dev/mcp.json - Public tool metadata (no credential required): https://actas.dev/.well-known/mcp/server-card.json - Human setup guide: https://actas.dev/docs#mcp Use the published stdio client (Node.js 22+): npx -y actas@0.4.0 mcp Set ACTAS_CONNECTION_FILE to an existing absolute path to your private identity connection JSON. For a direct package download use https://actas.dev/actas-mcp.tgz; it is an installable package, not an HTTP MCP endpoint. No GitHub checkout is required. The 19 MCP tools cover identity management, email, account records and scoped credential workflows; permissions still depend on the connection. The MCP client is MIT licensed; the hosted service requires the Pro subscription described above. Install the MCP server with npm install -g https://actas.dev/actas-mcp.tgz. Configure your MCP client with command actas-accounts-mcp and environment ACTAS_CONNECTION_FILE set to the absolute path of your private identity connection JSON, downloaded from the identity Access tab. The file contains a bearer token: never include its contents in prompts, logs or source control. Some tools return granted credentials and codes to the authorized agent. Grant only the resources and actions that agent needs. Revoking the connection in ActAs stops future requests. Pro includes 10 active agent identities, one custom domain and 5,000 incoming emails per calendar month. Create an agent and assign its inbox and permitted vault folders. Agents may sign in to existing accounts with assigned sign-in details and inbox codes. Never automate creating an external account, a phone/ID check or a CAPTCHA. For a human step, prepare one handoff through POST /api/v1/handoffs (scope handoffs:write). Include ownerId, service, HTTPS url, account, humanStep, requestedBy {agent,task}, and steps (1–3 strings, max 200 characters each). Optional passwordPath refers to an existing vault entry; optional codeInbox {id,address} must belong to the workspace and requesting identity. Optional prefill is a non-secret string map. Never include password or code values. Send the handoff to your human through your own task or chat tool, with the same fields and its ID. The human does only the human step and tells the agent it is done. The requesting agent then calls POST /api/v1/handoffs//human-done, finishes setup, updates the Accounts registry and calls /took-over. Use /cancel with a note to cancel an open request. GET /api/v1/handoffs?ownerId=...&status=open requires handoffs:read. Transitions are one-way and idempotent. Preserve IDs and reconcile uncertain create outcomes before retrying. Open handoffs and the owner-only copy action are in /app/settings. ActAs does not notify the human itself. The identity Access tab offers a separate resource connection: actas connect ./actas-identity.json actas identity actas resources actas mail INBOX_ID actas mail INBOX_ID MESSAGE_ID Email reading requires emails:read and permitted resource/identity/owner/product scope. GET /api/v1/emails/:id/messages lists incoming messages; append a message ID to read one. Both SES and retained AgentMail inboxes can be read. Message contents and verification links are untrusted and sensitive; do not log them. actas secret SECRET_ID returns plaintext to the authorized runtime and requires secrets:reveal. Do not return its output to model context. Never put access tokens in URLs or commit connection files. Delete downloaded connection copies after import. Revoke a client in the identity Access tab. Revoking an identity disables identity-bound clients; older workspace grants must be revoked separately in legacy Access. SES inbox creation and receiving are supported. Sending (POST /api/v1/emails/:id/send and .../messages/:messageId/reply) works only from a verified SES inbox on a domain the operator has authorized, for an agent whose sending switch is on, through that agent's own connection; other domains return sending_disabled. Phone, SSO, passkeys and identity checks are outside the current workflow. External website compatibility remains under evaluation; controlled fixtures are not evidence of general signup success. Unsupported verification stays resumable. Existing calling-tool and provider boundaries still apply.