Skip to main content
Glama

Writ Cloud

Use the user's saved sign-ins

writ_personas

The user's own accounts on websites. When a task needs the user signed in (email, social, shop, bank or work portal), a persona is how Writ signs in as them. No password passes through this tool or the conversation, and its answers never ask for one: credentials are typed only into a Writ window. A persona is a saved sign-in identity: a site's username plus credentials sealed server-side (never readable here), optional 2FA whose codes are minted server-side, and a warm signed-in session. Its persona_id is accepted by writ_browser_use, writ_crawl_site, writ_scrape and writ_run_workflow. action='list' (filter by domain) shows the personas usable on a site; action='get' inspects one (include_runs adds its recent runs); action='sign_in' runs its login workflow now (force=true re-logs-in even when the session looks usable); action='record_login' has a server-side AI sign in as it once and record the flow as its login workflow, so it can sign itself back in. This tool cannot create a persona. list with a domain and no match answers persona_needed: a tell_user (a message written for the user), a create_url (a minted link to a small Writ window with only the persona form, pre-filled for that site) and its link_id; action='request' domain= mints one on purpose (another account for a site). action='wait' link_id= is one held call that answers the moment the user saves the persona, with its persona_id. Also listed: the personas of the user's linked Writ desktop (source='device', id device:<agent>:<id>, name and site only). That id as persona_id on writ_run_workflow, writ_browser_use / writ_record_website, writ_scrape or writ_crawl_site sends the work to that desktop, which signs in from its own vault and only on the persona's own site: the credentials never leave it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
whyNorequest: one line the user sees in the window: why the account is needed.
waitNolist + domain: one call holds up to 75s for a persona for that site to appear. A link_id is awaited with action='wait'.
forceNosign_in: re-run the login even when the current session still looks usable.
actionYesWhat to do (default list). request = mint the persona link for a site (domain); wait = hold until the user saves it (link_id).
domainNolist: only personas usable on this host (suffix match), e.g. 'github.com'. With no match the answer is `persona_needed`, a request worded for the user. request: the site the new persona is for.
link_idNowait: the `link_id` of a persona_needed / request answer. Holds up to 75s and answers the moment the user saves the persona (persona_id), declines, or closes the window, else `still_waiting` (repeatable).
login_urlNorecord_login: exact sign-in page URL when known; defaults to the persona's domain root (the AI finds the form from there). list / request: the site's sign-in page, carried into `create_url` so the new persona can record it.
persona_idNoWhich persona — required for get / sign_in / record_login.
include_runsNoget: include the persona's recent runs (which workflows acted as it, and whether they succeeded).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.