Skip to main content
Glama

phone_login

Destructive

Logs an app on screen in with the user's own vault account, typing credentials directly into the phone so no password enters the conversation. Handles verification codes and confirms the login.

Instructions

Log the app on screen in with the user's OWN account from their password vault (bitwarden-use on the Mac). The daemon reads the vault entry and types it into the phone, so no password or username passes through this conversation. Use it when an app shows its login page during a task the user asked for. The entry is matched to the app; when several match, the answer lists their names: ask the user, then pass item (and user when names repeat). Existing-account login only: never sign-up, password changes or payment. When the answer has needs_code, the app sent a verification code: call again with code_via (sms or mail) and code_from (the sender) once it has arrived; at most two code requests per login. A push approval on another device needs the user. Read the screen afterwards to confirm the login.

Input Schema

NameRequiredDescriptionDefault
itemNoVault entry name or id, when several entries match the app.
userNoUsername, to pick between entries with the same name.
submitNoTap the app's Log in button after filling (default true).
code_viaNoEnter a verification code instead of logging in: sms, mail, totp or auto.
instanceNoInstalled local instance name, such as i13 or default. Omit to use the configured daemon. No fallback on failure.
code_fromNoSender, brand or subject fragment of the message with the code.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.27.3
    • addedInput schema / properties / instance
      Added value: +{
      +  "description": "Installed local instance name, such as i13 or default. Omit to use the configured daemon. No fallback on failure.",
      +  "type": "string"
      +}
  2. First observedv0.21.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds substantial context beyond the annotations: no password or username traverses the conversation, the entry is matched to the app, ambiguity requires user input, at most two code requests per login, push approval must be handled by the user, and the screen should be read afterwards to confirm. That is real behavioral disclosure for a destructive, open-world mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action and credential-safety point, then layers the exclusions and code flow. Dense but every sentence carries operational content; slightly long for a single paragraph.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description compensates by describing the answer shapes the agent must react to (a list of matching entry names, needs_code) and the required follow-up of reading the screen. An agent has enough to call it and handle the common branches without guessing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds when-and-why for `item` and `user` (disambiguation after a name list is returned), when to pass code_via/code_from (only in the needs_code case), and the retry limit. It does not re-explain submit or instance, which the schema already covers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: logs an app on screen in using the user's own vault entry, with the daemon doing the typing. This is clearly distinct from siblings like phone_type or phone_tap, which it does not overlap with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit trigger ('when an app shows its login page during a task the user asked for'), explicit exclusions ('never sign-up, password changes or payment'), and a fallback path when several entries match (ask the user, then pass item/user). The verification-code path and the two-request cap are also spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.