Skip to main content
Glama

Cloak Install

cloak_install

Downloads and verifies a CloakBrowser Chromium build, reusing cached installs or honoring force/pinned tags, with SHA-256 verification before extraction.

Instructions

Download + verify the latest (or pinned) CloakBrowser chromium build.

Idempotent — already-cached installs return their path. Pass force=True to re-download, or tag='<release-tag>' to pin a specific version. Runs sha256 verification before extraction. On unsupported platforms returns {ok:false, error:...} instead of raising.

Ex: cloak_install() → {"ok":true,"path":"/home/u/.umbra/cloak/.../chrome","tag":"..."}

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "cloak_install"
  }
}

Input Schema

NameRequiredDescriptionDefault
tagNo
forceNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries full burden and does well: discloses idempotency (cached installs return path), sha256 verification before extraction, and that unsupported platforms return {ok:false,error} instead of raising. It omits network/auth or disk requirements, keeping it at a 4.

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

Conciseness5/5

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

Front-loaded purpose sentence, then a compact paragraph covering idempotency, force, pinning, verification, and error behavior, followed by a concrete example. No wasted sentences.

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

Completeness5/5

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

An output schema exists, yet the description still provides a return-value example for quick orientation. It covers the install lifecycle, caching, verification, and error path, so an agent has everything needed to invoke it correctly.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It documents both params meaningfully: tag as a release-tag pin for a specific version, and force=True to re-download rather than use cache. Missing only type/format details for the tag value shape, though the example clarifies.

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

Purpose5/5

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

States a specific verb+resource: 'Download + verify the latest (or pinned) CloakBrowser chromium build.' An agent can immediately distinguish this from sibling tools like cloak_status or list_browsers, which query or enumerate rather than install.

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

Usage Guidelines4/5

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

Explains the two main usage modes (default latest, tag pinning) and the force re-download path. It does not explicitly state when-not-to-use or reference siblings (e.g. 'call cloak_status first to check installed version'), so it stops short of a 5.

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