Skip to main content
Glama
Erseni

vault-ask (Erseni Vault)

request_secret

Ask a user for passwords, tokens, or API keys and write them to a .env or file without exposing values in chat. Use a one-time link and return only names and lengths.

Instructions

Use this whenever you need a password, token, API key or other secret from the user, for example "I will give you my database password" or "you need my API key for X". Never ask the user to type or paste a secret into the chat. Asks the user for one or more secrets and writes them into a .env file or a file, without the values ever passing through this conversation. First call without request_id: returns a link. Show it to the user, then call again with the returned request_id; that call waits for the answer and writes the file with permissions 600. The result only contains names and lengths, never a value.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fileNoWrite the single requested value into this file
namesNoNames of the values to ask for, for example ["DB_PASSWORD"]
env_fileNoWrite NAME=value lines into this .env file
request_idNoThe id returned by the first call
ttl_secondsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.1

TDQS

A4.5/5.0
Behavior5/5

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

With no annotations, the description carries the full behavioral burden and does it well: it discloses the two-phase flow (first call without request_id returns a link to show the user; second call with request_id blocks and writes the file), the 600 file permissions, and the return content ('only contains names and lengths, never a value'). This is substantive disclosure beyond any structured field.

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?

The description is front-loaded with the primary use case and prohibition before moving to the mechanics and result format, and each sentence carries information. It is somewhat long for a single tool, but the two-phase flow justifies most of the length.

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

Completeness4/5

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

With no output schema and no annotations, the description compensates by describing the return value and the blocking behavior. The main gap is ttl_seconds semantics (expiry of the request), which is undocumented in both the schema and the description.

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 80%, and the description adds genuine meaning beyond it by explaining the two-phase semantics of request_id (absent on the first call, supplied on the second) and clarifying that file/env_file receive the secret values. It does not explain ttl_seconds, which is the parameter with no schema description.

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?

The description states a specific verb+resource pair ('asks the user for one or more secrets and writes them into a .env file or a file') and adds a distinguishing mechanism ('without the values ever passing through this conversation') that separates it from siblings like send_secret or run_with_secret. An agent can tell what this does and why it differs without opening the schema.

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

Usage Guidelines4/5

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

It gives a clear trigger ('Use this whenever you need a password, token, API key or other secret from the user') with concrete examples, plus a strong prohibition ('Never ask the user to type or paste a secret into the chat'). It stops short of naming the sibling alternatives explicitly, but the usage context is unambiguous.

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

Deploy Server

Other Tools