Skip to main content
Glama

Set up, update or open the desktop app

set_up_desktop_app
Read-only

Works out where the ZenMode desktop app stands for this account (not seen yet, out of date, closed, or open and checking in) from its latest check-in, and returns what to do next: a link that opens the app or offers the download, a one-line command for Mac or Windows, and the latest version. Campaigns only run while the app is open. The server cannot see whether the app is installed, so 'not seen yet' can also mean installed but never signed in; the link handles both. Changes nothing in the account.

Input Schema

NameRequiredDescriptionDefault
osNoThe person's computer, if they said. Narrows the commands to that system.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, and the description reinforces this with 'changes nothing in the account.' Beyond the annotations it adds genuine interpretive context that the structured fields cannot convey: the server cannot see whether the app is installed, so 'not seen yet' also covers installed-but-never-signed-in, and the link handles both cases. It does not address idempotency (annotations say idempotentHint=false), which is a minor gap.

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

Conciseness4/5

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

The core outcome (state plus what to do next) is front-loaded in the first sentence, and the remaining sentences cover the state model and the 'not seen yet' caveat. It is slightly long but every clause carries information; nothing is filler.

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?

With no output schema, the description fully carries the return-value burden: it names the link, the per-OS command, and the latest version, and pre-empts the ambiguous 'not seen yet' case. For a no-required-param read-only tool, an agent has everything needed to call it and interpret the result.

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

Parameters3/5

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

Schema description coverage is 100% and the single 'os' enum is documented as narrowing commands to that system, so the schema does the heavy lifting. The description mentions Mac/Windows commands but adds no syntax or behavior beyond the schema's own wording, matching the baseline 3.

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

Purpose4/5

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

The description uses a specific verb phrase ('works out where the desktop app stands... and returns what to do next') and enumerates the concrete states it resolves (not seen yet, out of date, closed, open) plus the payload (link, command, version). It is clear on its own, but it never distinguishes itself from near-name siblings like get_desktop_app or get_setup_status, which an agent could easily confuse with this one.

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

Usage Guidelines3/5

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

Usage is only implied: the agent can infer this is the tool to call to determine the app's state and next action, and the 'campaigns only run while the app is open' line hints at why you'd call it. There is no explicit when-to-use/when-not statement and no sibling is named as the correct alternative for a related need (e.g. get_desktop_app), so the routing burden stays on the reader.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.