auth-vault
Provides login automation for Google services, including form filling and credential management.
Supports TOTP/2FA auto-solving and QR code generation for Google Authenticator setup.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@auth-vaultlog into my Google account"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@mcp/auth-vault
π§© Branch template β czysta wersja do klonowania i adaptacji.
Brak testΓ³w specyficznych dla Q-ekosystemu, brak danych wraΕΌliwych.
WΕasne serwisy konfigurujesz przezadd_serviceβ wystarczΔ selektory CSS.
MCP server for secure credential management, browser-based login automation, SSH key vault, TOTP/2FA auto-solving, and audit logging.
Status: active | License: MIT | Version: 0.2.0Overview
Auth Vault stores encrypted credentials, secrets, and SSH keys (AES-256-GCM), automates browser login flows via Playwright, auto-solves TOTP-based 2FA challenges, and tracks sensitive actions via an audit log. It provides both an MCP interface (for AI clients) and a Web UI dashboard (for manual management).
Interface | Port | URL |
Web UI Dashboard |
|
|
MCP SSE |
|
|
MCP Health |
|
|
Related MCP server: secure-vault-mcp
Features
Encrypted vault β credentials, secrets, and SSH keys stored with AES-256-GCM
SSH Key Vault β generate, store, retrieve, and export SSH keys (Ed25519, RSA-2048/4096)
SSH Config generation β export SSH config fragments and key files
Browser automation β Playwright-based login with form filling
CAPTCHA detection β automatic detection of CAPTCHA challenges during login
Trusted devices β device fingerprinting with trusted device management
TOTP/2FA auto-solve β RFC 6238 implementation, generates and submits 2FA codes
TOTP rotation detection β suggests code refresh when window is near expiry
QR code support β generate QR for Google Authenticator setup
Secrets management β API keys, bearer tokens, access/refresh tokens
Password generator β strong random passwords and diceware passphrases (OpenSSL-backed)
Audit logging β JSONL audit log with auto-rotation for sensitive actions
Vault health monitoring β integrity checks (credentials, secrets, ssh indexes)
Discovery API β metadata overview of all vault contents without decryption
Tailscale-only access β binds to Tailscale IP by default, blocks external traffic
Two service modes β STDIO (MCP standard) and SSE (HTTP for persistent connections)
Quick Start
Prerequisites
Node.js 22+
Playwright Chromium (installed via
postinstall)Tailscale (recommended for SSE mode)
Setup
# Install dependencies
npm install
# Build TypeScript
npm run build
# Configure environment
cp .env.example .env
# Edit .env: set VAULT_ENCRYPTION_KEY (64 hex chars) or leave empty for auto-generatedConfiguration
All configuration via .env file or environment variables:
Variable | Default | Description |
|
| Storage directory for encrypted vault files |
|
| AES-256 key (64 hex chars, persist for data survival) |
| β | Enable SSE mode on given port (empty = STDIO mode) |
| auto (Tailscale) | Explicit bind address for SSE mode |
|
| Run Playwright in headless mode |
|
| Browser operation timeout (ms) |
|
| Audit log rotation threshold (10 MB) |
|
| Logging level: debug, info, warn, error |
Usage
STDIO Mode (default for MCP clients)
node dist/index.jsSSE Mode (HTTP server for persistent connections)
# Set AUTH_SSE_PORT=5501 in .env, then:
node dist/index.jsWeb UI Dashboard
node dist/web/server.js
# Dashboard at http://<tailscale-ip>:5600/CLI Commands
npm run add-creds # Add credentials interactively
npm run add-secret # Add a secret interactively
npm run list-creds # List stored credentials
npm run list-secrets # List stored secrets
npm run get-creds # Get credential details
# SSH keys
npm run add-ssh-key # Add an existing SSH key interactively
npm run generate-ssh-key # Generate a new SSH key pair and store it
npm run list-ssh-keys # List stored SSH keys
npm run get-ssh-key # Get SSH key detailsREST API
Credentials
Method | Path | Description |
|
| List credentials (optionally with passwords) |
|
| Get credential details (password hidden by default) |
|
| Create a credential |
|
| Delete a credential |
Secrets
Method | Path | Description |
|
| List secrets (metadata only) |
|
| Create a secret |
|
| Delete a secret |
|
| Get decrypted secret value |
SSH Keys
Method | Path | Description |
|
| Get |
|
| Download the private key file |
Audit & Health
Method | Path | Description |
|
| Read recent audit log entries |
|
| Manually record an audit action |
|
| Vault health summary (integrity + storage + audit stats) |
|
| Metadata overview of vault contents (no decryption) |
|
| Generate strong password(s) |
MCP Tools
Tools are exposed under the mcp_auth_vault_* namespace:
Credentials:
store_credentials,get_credentials,list_credentials,delete_credentials,get_credentials_for_service,attach_totp,generate_totp,generate_totp_by_service,totp_qrSecrets:
store_secret,get_secret,list_secrets,delete_secret,update_secret,audit_secret_expirySSH:
store_ssh_key,get_ssh_key,list_ssh_keys,delete_ssh_key,generate_ssh_key,export_ssh_config,export_ssh_key_file,get_ssh_fingerprint,extract_ssh_public_key,update_ssh_keyServices:
get_service,list_services,add_serviceLogin:
auth_login,login_status,submit_totp,logoutAudit:
list_audit_actions,log_audit_action,vault_integrity_check,vault_health_summary
Systemd Services
# MCP SSE server (port 5501)
systemctl status mcp-auth-vault
# Web UI dashboard (port 5500)
systemctl status mcp-auth-vault-webBoth services restart automatically on failure and enable at boot.
Security
AES-256-GCM encryption for all stored credentials and secrets
Tailscope-restricted β SSE mode blocks non-Tailscale connections
Encryption key persisted in
.envβ if lost, data cannot be recoveredHeadless browser β no visible UI during automated logins
Project Structure
src/
βββ index.ts # MCP server entry (STDIO + SSE)
βββ config.ts # Zod-validated configuration
βββ credentials/
β βββ totp.ts # TOTP (RFC 6238) implementation
β βββ qr.ts # QR code generation + TOTP secret generator
β βββ vault.ts # Encrypted credential store
β βββ types.ts # Credential type definitions
βββ secrets/
β βββ manager.ts # Encrypted secrets store
β βββ types.ts # Secret type definitions
βββ browser/
β βββ manager.ts # Playwright session management
βββ services/
β βββ definitions.ts # Login templates (Google, etc.)
βββ web/
β βββ server.ts # Web UI HTTP server + REST API
β βββ dashboard.ts # HTML dashboard template
βββ tools/
β βββ credentials.ts # MCP tool definitions for credentials
β βββ secrets.ts # MCP tool definitions for secrets
β βββ services.ts # MCP tool definitions for services
β βββ login.ts # MCP tool definitions for login
βββ cli/
βββ add-credentials.ts
βββ add-secret.tsTech Stack
Runtime: Node.js 24, TypeScript ESM
MCP: @modelcontextprotocol/sdk v1.16
Encryption: Node.js crypto (AES-256-GCM)
Browser: Playwright (Chromium)
Config: Zod validation
UI: Vanilla JS (no framework)
QR: qrcode npm package
License
MIT
Available Tools
32 toolsadd_serviceB
Register a custom service login template at runtime
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Unique service identifier (e.g., 'mycompany', 'custom-app') | |
| label | Yes | Human-readable display name | |
| loginUrl | Yes | Login page URL | |
| usernameSelector | Yes | CSS selector for username/email input field | |
| passwordSelector | Yes | CSS selector for password input field | |
| submitSelector | Yes | CSS selector for submit button | |
| successUrlPattern | No | URL pattern that indicates successful login | |
| successSelector | No | CSS selector for element that indicates successful login |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description bears full burden. It does not disclose side effects, overwrite behavior, persistence, or required permissions for registration.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but too terse given the tool's complexity. It could benefit from additional context without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete for a tool with 8 parameters and no output schema. It lacks info on return values, error handling, prerequisites, and whether registration is persistent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already describes each parameter. The description adds no extra meaning beyond the general purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (register), the resource (custom service login template), and context (at runtime). It distinguishes from sibling tools like login_service.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives (e.g., updating a template, checking session). No usage context or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_closeA
Close a browser session
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | Session ID from browser_launch |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are given, so the description carries full burden. 'Close' implies destruction but does not elaborate on irreversibility, resource cleanup, or effects on ongoing navigations. It adds minimal behavioral context beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, directly front-loaded with the verb 'Close'. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and no output schema, the description is largely adequate. It could mention the consequence (session invalidated) or return value, but the simplicity reduces the need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; the description adds no additional meaning to the sessionId parameter beyond what the schema already provides. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Close a browser session' uses a specific verb and resource, clearly indicating the action. The tool name and description match, and it distinguishes itself from sibling tools like browser_launch and browser_navigate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool (e.g., after finishing tasks) or when not to use it (e.g., if the session is still needed). The description does not mention alternatives or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
browser_launchC
Launch a new browser session for logging into a service
| Name | Required | Description | Default |
|---|---|---|---|
| service | Yes | Service identifier (e.g., 'google', 'arena.ai') | |
| headless | No | Run browser in headless mode (default: from config) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must disclose behaviors. It does not mention side effects (e.g., whether previous sessions are closed), requirements (e.g., CDP), or state changes. The phrase 'new browser session' implies creation but lacks detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded. However, it is slightly under-specified; a bit more context could improve without adding length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and many sibling tools, the description should provide more context about return values, how sessions are managed, and integration with other tools. It covers the basic action but leaves significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds minimal extra meaning: it associates the 'service' parameter with logging in, but does not clarify the 'headless' parameter beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Launch' and resource 'browser session', with a specific purpose 'for logging into a service'. It is distinct from siblings like 'browser_close' and 'browser_navigate', but does not differentiate from 'login_service' or 'check_session'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as 'check_session' or 'login_service'. Lacks prerequisites or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_sessionA
Check if a browser session is still active and optionally verify login status
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | Session ID from browser_launch | |
| verifyLogin | No | Check if still logged in (requires service template) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose side effects. It mentions the requirement of a service template for verifyLogin, but does not state whether the tool is read-only, what happens if the session is invalid, or any permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no extraneous information. It is front-loaded with the main purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with two well-documented parameters, but no output schema exists and the description does not hint at the return value. Given the lack of annotations, more detail on the response (e.g., boolean status) would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and both parameters have clear descriptions in the schema. The description adds no additional meaning beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool checks if a browser session is active and optionally verifies login status. This distinguishes it from sibling tools like browser_launch (creates sessions) and list_sessions (lists all sessions).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after launching a session, but does not explicitly state when to use this tool over alternatives like test_session_integrity. However, the context of 'check if still active' provides clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
click_submitC
Click the submit button on the login form (useful after captcha solving)
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | Session ID from browser_launch | |
| service | Yes | Service identifier for the submit button selector |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It describes a mutative action but does not disclose side effects, permission requirements, or return values. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with a parenthetical note, efficiently conveying the core action and a key context. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 is minimal. It covers the primary action but lacks details on return values, prerequisites, or behavioral consequences. Adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters. The tool description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool clicks the submit button on a login form and mentions a specific use case (after captcha solving). However, it does not differentiate from the sibling tool 'login_service' which may also involve form submission.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use or not use this tool versus alternatives. The parenthetical implies a context (after captcha solving) but does not provide exclusion criteria or direct comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_credentialsB
Permanently delete stored credentials by ID
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Credential ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist; description only says 'permanently delete', implying irreversibility but no details on auth requirements, cascading effects, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no unnecessary words, efficiently conveys core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given simple tool with 1 param and no output schema, description is adequate but lacks usage guidelines and behavioral transparency, which are needed for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with description 'Credential ID to delete'. Description adds no extra meaning beyond schema; baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'delete', resource 'stored credentials', and method 'by ID'. Distinguishes from sibling 'delete_secret' which targets a different resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like 'delete_secret' or conditions for deletion. Lacks prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_secretB
Permanently delete a stored secret by ID
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Secret ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states 'permanently delete' which implies irreversibility, but does not disclose potential side effects, permission requirements, or error behavior (e.g., what happens if ID is invalid).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. Every word serves a clear purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 parameter, no output schema, no annotations), the description is adequate for basic understanding. However, it could mention the irreversible nature more explicitly or the expected return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds minimal value: 'by ID' mirrors the schema. It does not explain validity requirements, format constraints, or behavior on non-existent IDs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'delete', the resource 'stored secret', and the scope 'by ID'. It effectively distinguishes from sibling tools like 'store_secret' or 'list_secrets'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. Siblings like 'delete_credentials' exist but are not mentioned, and there are no prerequisites, exclusions, or use-case hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_2faB
Check the current page for a 2FA code challenge
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | Session ID from browser_launch | |
| service | No | Service identifier for template-specific selectors |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description does not disclose what happens on detection or non-detection, return value, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no wasted words, front-loaded with core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Minimal description; misses crucial context like return type, required page state, and relationship to sibling tools like solve_2fa.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing parameter details; description adds no extra meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Check' and resource 'current page for a 2FA code challenge', distinguishing it from sibling tools like detect_captcha and solve_2fa.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly suggests using the tool when a 2FA challenge is expected, but no explicit guidance on when to use vs alternatives like solve_2fa or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_captchaC
Check the current page for captcha challenges
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | Session ID from browser_launch |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states a basic action without disclosing side effects, whether it modifies state, or what the return value indicates. More detail on behavior (e.g., 'returns true if captcha present') would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. However, it could be slightly more informative without losing conciseness (e.g., adding return type).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one parameter and no output schema, the basic description might be enough for a simple check operation. However, the lack of output description or behavioral details reduces completeness for an agent that needs to interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema documentation coverage is 100% for the single parameter 'sessionId', and the description does not add any additional meaning beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'check' and specifies the resource 'the current page for captcha challenges', which clearly indicates the tool's purpose. It distinguishes from siblings like 'solve_captcha' by focusing on detection rather than solving.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives such as 'solve_captcha' or when not to use it. The intended use case (checking before solving) is implied but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_qrA
Generate a Google Authenticator QR code for a stored credential's TOTP secret
| Name | Required | Description | Default |
|---|---|---|---|
| credentialId | Yes | Credential ID with a totp_secret extra field |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states the action without disclosing side effects, authentication needs, or output format. Minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no wasted words, front-loading the key action and object.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description is missing details about the return format (e.g., image data). It adequately explains what the tool does but not fully complete for an agent to understand the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description of the `credentialId` parameter in the schema matches the tool description. The description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Generate' and the specific resource 'Google Authenticator QR code for a stored credential's TOTP secret', distinguishing it from sibling tools like solve_2fa or test_totp.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when a credential with a TOTP secret exists, but does not explicitly state when to use it over alternatives or provide any when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_credentialsC
Retrieve stored credentials by ID. Returns decrypted username and password.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Credential ID from store_credentials or list_credentials | |
| includePassword | No | Include password in response (default: false for security) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior fully. It states the return type (decrypted username and password) but fails to mention security implications, idempotency, read-only nature, or error handling (e.g., missing ID). The includePassword parameter has a security note in schema, but description omits it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that conveys the essential purpose. It could elaborate on return structure without being verbose, but it's not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so description should specify return format. It mentions 'decrypted username and password' but not the structure (e.g., object fields). Also lacks error scenarios. Adequate but has gaps for a 2-parameter tool with moderate complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with descriptions for both parameters. The tool description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Retrieve stored credentials by ID' and specifies it returns decrypted username and password. It distinguishes from siblings like get_credentials_for_service by referencing retrieval by ID, but does not explicitly contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., list_credentials to obtain IDs, get_credentials_for_service for service-based lookup). The description implies use when you have an ID but lacks explicit when-to or when-not-to context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_credentials_for_serviceB
Get all credentials for a specific service
| Name | Required | Description | Default |
|---|---|---|---|
| service | Yes | Service identifier (e.g., 'google', 'arena.ai') | |
| includePasswords | No | Include passwords in response |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only states the basic read operation. It does not mention that passwords are excluded by default (only deducible from schema), what happens when the service does not exist, or if the operation has side effects. For a safe read operation, this is minimally acceptable but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words. It is front-loaded with the essential information and no filler. Every part contributes to the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimal and covers the basic purpose, but given the lack of output schema and the presence of multiple sibling credential tools, more context would be helpful. It does not describe the return format, error scenarios, or behavior when service is unknown. Adequate for a simple read tool but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema's parameter descriptions. It mentions 'including passwords' but that directly mirrors the parameter description. No new context or constraints are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action ('Get all credentials'), the target resource ('credentials'), and the filtering criterion ('for a specific service'). It distinguishes itself from sibling tools like 'get_credentials' which likely returns all credentials, and 'list_credentials' which may return metadata only.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool over alternatives (e.g., 'get_credentials', 'list_credentials'). It does not state when to avoid it or mention prerequisites like having a service already configured. The usage context is only implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_secretA
Retrieve a stored secret by ID (returns decrypted value)
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Secret ID from store_secret or list_secrets |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the tool returns the decrypted value, which is important behavioral info. But it doesn't mention error handling, authentication requirements, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 10 words, front-loaded with verb and resource. No extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with one parameter and no output schema, the description covers the core purpose and return value. It could mention behavior on missing ID or response format, but is minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already describes the ID parameter. The description adds no new information specific to the parameter, just the return context. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the action 'Retrieve' and the resource 'stored secret', with the crucial detail 'returns decrypted value'. This clearly distinguishes it from sibling tools like store_secret and list_secrets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It indicates that the ID comes from store_secret or list_secrets, providing context on when to use this tool. However, it lacks explicit guidance on when not to use it or mention of any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_service_templateB
Get detailed login template for a specific service
| Name | Required | Description | Default |
|---|---|---|---|
| service | Yes | Service identifier |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behaviors. It only states the basic purpose without mentioning any side effects, permissions, or response characteristics, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise phrase with no unnecessary words, though slightly under-informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and the need to understand what a 'detailed login template' includes, the description is too minimal to be complete for a tool in this context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'service' is described in the schema as 'Service identifier', and the description adds no further meaning beyond the schema, which already has 100% coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get detailed login template for a specific service' clearly indicates the tool's action (get) and resource (login template), distinguishing it from siblings like get_credentials or get_credentials_for_service.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or when-not-to-use guidance is provided; usage is implied by the description but lacks information about alternatives or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_credentialsC
List stored credentials, optionally filtered by service
| Name | Required | Description | Default |
|---|---|---|---|
| service | No | Filter by service identifier |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry full behavioral disclosure. It only states the basic action without mentioning return format, pagination, or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with action, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite low complexity, the description is incomplete as it does not describe what is returned (e.g., list of credential objects or IDs), which an agent needs to know for subsequent steps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the description merely repeats 'optionally filtered by service' without adding new meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'List' and resource 'stored credentials', with optional filtering by service. However, it does not differentiate from sibling tools like 'get_credentials' or 'get_credentials_for_service'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. No mention of prerequisites or when to filter by service.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_secretsB
List stored secrets, optionally filtered by service or kind
| Name | Required | Description | Default |
|---|---|---|---|
| service | No | Filter by service/system name | |
| kind | No | Filter by secret type |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses only the basic listing and filtering behavior, with no mention of security implications, rate limits, or whether all secrets are returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence with no wasted words. Front-loads the action and resource, then adds optional filtering.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks details on return value, pagination, or sorting. Sibling tools include many related operations, but the description does not clarify distinctions (e.g., secrets vs. credentials). With no output schema, the description should provide more context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters already described. The description adds negligible meaning beyond restating that filtering is optional. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list' and the resource 'stored secrets', and notes optional filtering by service or kind. It distinguishes from sibling tools like 'get_secret' (single retrieval) and 'store_secret'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for listing secrets with optional filters, but provides no explicit guidance on when to use this tool versus alternatives such as 'list_credentials' or 'get_credentials', nor any exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_servicesA
List all supported services with their login templates
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided; the description only states the basic action without disclosing behavioral traits like permissions, rate limits, or output details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, efficient sentence with no wasted words, clearly conveying the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description should clarify return format. It mentions 'with their login templates' but could be more explicit about the exact structure of the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, so schema coverage is 100%. Description adds no unnecessary parameter info; baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb 'list' and resource 'supported services with their login templates', clearly distinguishing it from siblings like list_credentials or list_secrets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternative guidance, but the simple nature of the tool makes usage fairly obvious. Lacks differentiation from other list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sessionsA
List all active browser sessions
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It implies a read-only operation but does not disclose behavioral traits such as side effects, authorization requirements, or performance implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, concise sentence with no superfluous words. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no output schema, the description is adequate for basic use. Could optionally mention what fields a session object contains, but not required given low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters, so baseline is 4. The description adds no parameter information, which is acceptable as there is nothing to add.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List all active browser sessions' uses a specific verb 'list' and resource 'active browser sessions', clearly distinguishing it from sibling tools like 'check_session' which likely targets individual sessions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., check_session) or any prerequisites. The description only states the function without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
login_serviceC
Automate login to a service using stored credentials. Launches browser, fills form, handles captcha.
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | Session ID from browser_launch | |
| credentialId | Yes | Credential ID from store_credentials or list_credentials | |
| solveCaptcha | No | Automatically detect and solve captcha |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It mentions launching browser and handling captcha, but does not explain side effects (e.g., state changes, network requests), failure modes (e.g., wrong credentials), or what happens to the browser session after login. Lacks sufficient transparency for a complex automation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, concise and front-loaded with the verb 'Automate'. It covers key aspects, though could be slightly more structured to list steps or side effects.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (browser automation, captcha), the description lacks completeness. No mention of success/failure indicators, return values (no output schema), or error handling. The tool's full behavior remains ambiguous, especially considering the number of sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage with clear descriptions. The description adds context ('handles captcha') aligning with the solveCaptcha parameter, but does not significantly enhance understanding beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool automates login using stored credentials, launching a browser and filling forms. It gives a good overview, but could better differentiate from composing individual sibling tools like browser_launch + click_submit + solve_captcha.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Does not mention prerequisites (e.g., having a session from browser_launch) or that it should be used after credentials are stored. The parameters imply dependencies but description lacks explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
solve_2faA
Generate a TOTP code from the stored secret and fill it into the 2FA input field
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | Session ID from browser_launch | |
| credentialId | Yes | Credential ID (must have a totp_secret in extra fields) | |
| service | No | Service identifier for template selectors |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It states the tool generates and fills, implying it is a write/action tool. However, it does not disclose side effects (e.g., whether it submits the form), error conditions (missing secret), or idempotency. Adds some value beyond schema but lacks comprehensive behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no filler. Front-loaded with action and output. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (generate and fill), the description is moderately complete. However, it omits context about what happens if the 2FA input field is not visible, error handling, or the expected sequence of use alongside siblings like detect_2fa, login_service, or browser_navigate. Adequate but with noticeable gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; all three parameters are described in the schema. The description indirectly references credentialId ('from the stored secret') but adds no additional syntactic or semantic detail beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action: generating a TOTP code from a stored secret and filling it into the 2FA input field. The verb 'generate' and resources 'TOTP code' and '2FA input field' are specific. Distinguishes from sibling tools like detect_2fa (detection) and solve_captcha (different type).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. Implied that it follows detection, but no mention of prerequisites or when not to use. Siblings include detect_2fa and test_totp, but no differentiation provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
solve_captchaB
Solve a detected captcha on the current page using configured captcha service
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | Yes | Session ID from browser_launch | |
| apiKey | No | Override captcha API key (default: from config) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It mentions 'using configured captcha service' but does not explain what that configuration entails, whether the tool blocks until solved, or how failures are handled. Key behaviors are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no waste. It is concise, though slightly more structure (e.g., separating prerequisite from action) could improve clarity. Still, it efficiently conveys the core purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 parameters, no output schema, and no annotations, the description is incomplete. It lacks information about prerequisites (e.g., must have a captcha detected via 'detect_captcha'), error conditions, or expected outcome. More details are needed for safe autonomous use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. However, the description adds no additional meaning beyond the schema's parameter descriptions: sessionId is required and apiKey is an optional override. The description does not provide further context such as constraints or expected values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Solve a detected captcha on the current page using configured captcha service'. It uses a specific verb 'Solve' and resource 'captcha', and distinguishes itself from sibling tools like 'detect_captcha' and 'solve_2fa'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage after a captcha is detected ('detected captcha') but does not explicitly state when to use versus alternatives or provide exclusions. No explicit usage guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
store_credentialsB
Store login credentials for a service securely with AES-256-GCM encryption
| Name | Required | Description | Default |
|---|---|---|---|
| service | Yes | Service identifier (e.g., 'google', 'arena.ai', 'github') | |
| label | Yes | Human-readable label for this credential entry | |
| username | Yes | Username or email for login | |
| password | Yes | Password for login | |
| extra | No | Optional extra fields (e.g., organization, 2FA secret) | |
| tags | No | Optional tags for organization |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose all behaviors. It mentions encryption but does not define what happens on overwrite, validation, authentication requirements, or return values. Critical for a credential write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that immediately conveys the core action and security feature. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 6 parameters with nested objects and no output schema, the description omits essential context about return behavior, duplicate handling, and success indicators. Incomplete for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear parameter descriptions. The tool description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'store' and the resource 'login credentials for a service', with an added detail about AES-256-GCM encryption. It distinguishes from siblings like get_credentials and delete_credentials.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives such as store_secret or update scenarios. There is no mention of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
store_secretB
Store an API key, access token, or other secret encrypted with AES-256-GCM
| Name | Required | Description | Default |
|---|---|---|---|
| label | Yes | Human-readable label | |
| kind | Yes | Type of secret | |
| service | Yes | Service or system (e.g. 'openai', 'github', 'stripe') | |
| value | Yes | The secret value (token, API key, etc.) | |
| description | No | Optional description | |
| expiresAt | No | Optional expiry date (ISO 8601) | |
| scopes | No | Optional permission scopes | |
| extra | No | Optional extra metadata | |
| tags | No | Tags for organization |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It mentions encryption (AES-256-GCM), which is helpful, but does not disclose whether storing a duplicate label overwrites the existing secret, size limits, idempotency, or whether the operation returns a confirmation ID or object.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, well-structured sentence that front-loads the core purpose and encryption method. Every word earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 9 parameters, no annotations, and no output schema, the description is too minimal. It fails to explain what the tool returns, how to reference the stored secret later, or any constraints (e.g., overwriting behavior). For a store operation, additional details are necessary for a complete understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, so the schema already explains each parameter. The description adds no additional parameter semantics beyond the generic term 'secret'. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Store') and specifies the resources ('API key, access token, or other secret') with encryption details (AES-256-GCM). It clearly distinguishes this tool from siblings like 'store_credentials' by focusing on generic secrets rather than credentials tied to a service.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you need to store a secret securely, but it does not provide explicit guidance on when to use this tool vs. alternatives like 'store_credentials' or when not to use it. It lacks context about prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_all_servicesA
Test all registered service templates β check if login pages are reachable
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It states the tool checks reachability of login pages but does not disclose potential side effects (e.g., network load, session creation, timeout behavior, or how failures are handled). This is insufficient for full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the essential information. Every word serves a purpose with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple with no parameters, the description lacks information about the return value or output format. An agent cannot know what to expect after calling this tool (e.g., a list of results, a boolean, or error messages). This is a significant gap for completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so schema coverage is 100%. According to the rubric, the baseline is 4. The description adds no parameter details because none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool tests all registered service templates by checking if login pages are reachable. It uses a specific verb and resource, and the scope ('all registered') distinguishes it from sibling tools that test individual services or perform other actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for bulk testing of services but does not explicitly state when to use this tool versus alternatives like test_service_selector or test_credential. No when-not or exclusion criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_browser_cdpB
Test Chrome DevTools Protocol connectivity β verify CDP endpoint is reachable
| Name | Required | Description | Default |
|---|---|---|---|
| port | No | CDP port to test | |
| host | No | CDP host | localhost |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only states the purpose. It does not disclose whether the test is destructive, requires authentication, or what happens on success/failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no waste. Purpose is front-loaded and clearly communicated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description should explain return values or side effects. It only states the action, leaving the agent unsure of what the result looks like or what state is required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters. The tool description adds no additional meaning beyond the schema, so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Test Chrome DevTools Protocol connectivity' and 'verify CDP endpoint is reachable'. It uses a specific verb and resource, distinguishing it from siblings like browser_launch or check_session.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. It does not specify prerequisites (e.g., browser must be running) or mention related tools like browser_launch or check_session.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_credentialB
Test if credentials exist in vault and validate their structure (returns non-sensitive info only)
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Credential ID to test (omit for all credentials) | |
| service | No | Filter by service name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the non-sensitive return but lacks details on side effects, error handling (e.g., if credentials do not exist), or what 'validate their structure' entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with the main action and a key differentiator (returns non-sensitive info). No wasted words, though it could benefit from more structure with bullet points.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 2 optional params and no output schema, the description is mostly adequate. It covers the core purpose and return characteristic, but lacks details on edge cases and output format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description adds marginal value. It clarifies that omitting 'id' tests all credentials, which is helpful, but otherwise mostly repeats schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action ('test'), resource ('credentials in vault'), and function ('validate their structure'). It also notes the non-sensitive return, distinguishing it from sibling tools like get_credentials that may expose sensitive data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for testing credential existence and structure without exposing sensitive info, but does not explicitly state when to use this tool over siblings (e.g., get_credentials, get_credentials_for_service) or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_secret_expiryA
Check all secrets for expiration β identifies expired, expiring soon, or valid secrets
| Name | Required | Description | Default |
|---|---|---|---|
| warningDays | No | Days before expiry to flag as 'expiring soon' | |
| service | No | Filter by service |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It indicates a read operation but does not explicitly state that it is non-destructive or whether it requires specific permissions. The behavior is adequately implied but not explicitly disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is front-loaded with the core action and outcome.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with two optional parameters and no output schema, the description provides sufficient context: it checks all secrets and categorizes them. The return categories are mentioned, and parameters are well-documented in schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (both parameters have descriptions) so baseline is 3. The description adds minimal context beyond schemaβwarningDays controls 'expiring soon' threshold, service filtersβbut does not significantly enhance understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it checks all secrets for expiration and categorizes them as expired, expiring soon, or valid. This verb-resource-outcome structure is specific and distinguishes it from siblings like get_secret or test_credential.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for periodic secret expiration audits but provides no explicit guidance on when to use this tool versus alternatives like get_secret for individual secrets or test_all_services for broader testing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_service_selectorB
Test if a CSS selector works on a service's login page (launches browser, checks selector matches)
| Name | Required | Description | Default |
|---|---|---|---|
| service | Yes | Service identifier (e.g., 'google') | |
| selectorType | No | Selector type: username, password, submit (default: username) | |
| selectorOverride | No | Override the CSS selector to test |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that it launches a browser, but does not describe error handling, side effects (e.g., whether browser remains open), or outcome beyond 'checks selector matches'. With no annotations, more detail would be helpful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence of 15 words, no filler, front-loaded with purpose. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no description of return values or error states. For a test tool, the agent likely needs to know what the tool returns (e.g., boolean, details). Also lacks context on default behavior for selectorType.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%; parameters are well-described in schema. The description adds no extra meaning beyond what schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Test', the resource 'CSS selector on a service's login page', and the actions 'launches browser, checks selector matches'. It distinguishes from sibling tools like test_all_services or test_credential.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like test_all_services or test_credential. No when-not-to-use or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_session_integrityC
Check if browser sessions are alive and can interact with pages
| Name | Required | Description | Default |
|---|---|---|---|
| sessionId | No | Specific session ID to test (omit for all) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states a check of session liveness and page interactivity, but does not disclose side effects, required permissions, or potential consequences. The behavioral profile is too sparse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no wasted words. It is front-loaded with the key action and resource, making it efficient for quick comprehension.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description fails to explain return values or results. It is too brief given the context; a tool performing a check should clarify what output to expect (e.g., boolean, status object).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema coverage is 100% with the parameter 'sessionId' described in the schema. The description adds no additional meaning beyond the schema, so the baseline is 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'check' and the resource 'browser sessions' with the additional context 'alive and can interact with pages'. This makes the purpose clear, but it does not differentiate from the sibling tool 'check_session', which likely has a similar scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool vs. alternatives or when it should be avoided. No explicit context or exclusions are given, leaving the agent to infer usage solely from the purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_totpC
Verify TOTP secret by generating a current code and optionally checking against expected value
| Name | Required | Description | Default |
|---|---|---|---|
| credentialId | Yes | Credential ID with totp_secret in extra fields | |
| expectedCode | No | Optional 6-digit code to verify against |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It states the tool generates a TOTP code and optionally compares it against an expected value, but does not clarify side effects (e.g., is it read-only?), authentication requirements, error handling, or what happens on code mismatch. The behavioral disclosure is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence of about 15 words. Every word is purposeful, stating the verb, resource, and optional action. There is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and annotations, the description lacks completeness. It does not specify the tool's return value (e.g., true/false, error on mismatch), nor address time-step issues, clock drift, or the effect of invalid secrets. For a verification tool, this is a significant gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds little beyond what the schema provides: 'credentialId' is described as containing the TOTP secret, and 'expectedCode' as an optional verification code. This aligns with the schema descriptions, offering no significant new meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool verifies a TOTP secret by generating a current code and optionally checking it against an expected value. The verb 'Verify' and resource 'TOTP secret' are specific, and the action is well-defined. However, it does not explicitly differentiate from sibling tools like 'solve_2fa' or 'test_credential', which may have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidelines are provided. The description does not indicate when to use this tool versus alternatives (e.g., 'solve_2fa', 'test_credential'), nor does it mention prerequisites or context. The agent receives no guidance on appropriate selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vault_healthB
Comprehensive health check of the auth-vault system β encryption, storage, services, sessions
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear full burden. It only states the tool performs a 'comprehensive health check' without disclosing whether it is read-only, modifies state, or what side effects it may have. Insufficient behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is concise and front-loaded with key information. Could be slightly more structured (e.g., listing subsystems), but it is efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description is adequate for a health check tool. However, it lacks details on what the health check entails (e.g., return format, whether it runs tests or queries system state). More completeness would help the agent understand the outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is trivially 100%. Baseline for 0 parameters is 4; the description adds no parameter info because there are none, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs a comprehensive health check of the auth-vault system, listing specific subsystems: encryption, storage, services, sessions. This distinguishes it from sibling tools that are more granular or service-specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like test_all_services or other diagnostic tools. The description implies a general health check but does not specify scenarios or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
32 tool updates
v0.1.0- First observed
add_service - First observed
browser_close - First observed
browser_launch - First observed
browser_navigate - First observed
check_session - First observed
click_submit - First observed
delete_credentials - First observed
delete_secret - First observed
detect_2fa - First observed
detect_captcha - First observed
generate_qr - First observed
get_credentials - First observed
get_credentials_for_service - First observed
get_secret - First observed
get_service_template - First observed
list_credentials - First observed
list_secrets - First observed
list_services - First observed
list_sessions - First observed
login_service - First observed
solve_2fa - First observed
solve_captcha - First observed
store_credentials - First observed
store_secret - First observed
test_all_services - First observed
test_browser_cdp - First observed
test_credential - First observed
test_secret_expiry - First observed
test_service_selector - First observed
test_session_integrity - First observed
test_totp - First observed
vault_health
TDQS
Most tools have distinct purposes (credential management, browser automation, captcha/2FA, testing), but some overlap exists between test_* tools and session checks (e.g., test_session_integrity vs check_session), causing minor confusion.
All tool names follow a consistent verb_noun pattern using snake_case, with clear prefixes (browser_, test_, get_, store_, etc.), making the set predictable and easy to navigate.
With 32 tools, the server is over-scoped. Many testing and health tools could be consolidated, and the core authentication/secret operations could be separated into a smaller, focused set.
Core operations for credentials and secrets are present (store, retrieve, delete), but missing update functionality means agents cannot modify existing entries, creating a workflow gap.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
111Browser MCP for logged-in tasks. Uses your Chrome β credentials stay local. Zero-token replay.
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceA browser-automation MCP server providing persistent browser profiles per domain, Bitwarden credential injection without exposing passwords, and playbook recording/replay for repeatable tasks.-
- AlicenseNot gradedqualityDmaintenanceMCP server for agent-native secrets management that stores encrypted secrets with AES-256-GCM, issues short-lived scoped tokens, and injects secrets into requests server-side so agents never handle plaintext credentials.49MIT
- AlicenseAqualityCmaintenanceMCP server for secure AI agent access to Bitwarden/Vaultwarden vaults with BYOK, exposing tools to list items, reveal secrets via encrypted Sends, get TOTP codes, and save credentials.787MIT
- FlicenseNot gradedqualityCmaintenanceA policy-aware Meta-MCP server that orchestrates Playwright and Chrome DevTools for secure, high-level browser automation with origin whitelists and credential redaction.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/borysttk/auth-vault-template'
If you have feedback or need assistance with the MCP directory API, please join our Discord server