Skip to main content
Glama

Log in to a site with stored credentials (blind)

web_login

Fill login forms in the server's own browser with secret placeholders on allowlisted origins, then save the encrypted session for later web capture.

Instructions

Fills a login form inside this server's own browser using ${secret:name} values (only on allowlisted origins) and saves the session encrypted with a TTL for later web_capture calls.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNo
siteYes
stepsYes
save_sessionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose meaningful behavior: execution happens in the server's own browser, secrets are referenced rather than passed, origins must be allowlisted, and the session is persisted encrypted with a TTL. However it says nothing about failure behavior, whether an existing session is overwritten, TTL specifics, or what is returned, which are important for a credential-handling tool.

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?

A single front-loaded sentence with the verb first and no filler. It is efficient, though the dense parenthetical packs constraints together, and the extreme brevity leaves gaps for a tool with a six-variant step DSL.

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

Completeness2/5

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

For a complex browser-automation tool with no annotations, no output schema, and an undocumented step DSL, the description omits too much: return values, error/failure behavior, the site-vs-url relationship, save_session semantics, and TTL details. The security model is covered but operational completeness is not.

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

Parameters2/5

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

Top-level schema coverage is 0% and the description does not explain the distinction between 'site' and 'url', the structure/ordering semantics of the 'steps' array, or what save_session=false does. Its only parameter-adjacent content, the '${secret:name}' syntax, merely repeats the nested schema description for the fill value.

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

Purpose4/5

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

States a specific verb+resource ('Fills a login form inside this server's own browser') with the credential mechanism ('${secret:name} values'), and distinguishes itself from siblings by naming web_capture as the downstream consumer. The 'blind' nature (secrets never exposed to the agent) is conveyed. Slightly less than 5 because the site/url target and the step DSL that drives the login are not characterized.

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

Usage Guidelines3/5

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

The phrase 'for later web_capture calls' implies the paired workflow, but there is no explicit when-to-use/when-not guidance and no routing against alternatives like web_capture, blind_input, or ssh_exec. The allowlist constraint ('only on allowlisted origins') is a useful precondition, but the agent must infer usage context.

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