Skip to main content
Glama
nvda-mcp server

nvda-mcp server

by InfiArtt

Switch to window

nvda_activate_window
Destructive

Activates a window by title or handle, restores it if minimized, and reports NVDA's spoken output and new focus.

Instructions

Bring a window to the front, restoring it if minimized, then report what NVDA said and the new focus.

Pass title_contains or handle. If several titles match, the first in nvda_list_windows order wins and the others are listed. This counts as controlling the computer, like nvda_press_keys.

Input Schema

NameRequiredDescriptionDefault
handleNoA window handle from nvda_list_windows.
settle_msNoStop listening once NVDA has been quiet this long.
timeout_msNoStop listening, or waiting for until_speech, after this long in total.
until_speechNoKeep listening until NVDA says something containing this text (ignoring case), such as 'sent' or a dialog title, instead of stopping at the first pause. The result says whether it was heard.
title_containsNoPart of the window title, ignoring case, such as 'mwMod' or 'Notepad'.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false and openWorldHint=true; the description's "counts as controlling the computer" is consistent with that rather than contradicting it. It adds behavior the annotations don't convey: minimized windows are restored, multiple matches resolve to the first in nvda_list_windows order with the rest reported, and speech plus new focus are captured. It does not explain why the call would be destructive or whether anything is closed.

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?

Three short sentences: behavior and return, selector rules and tie-breaking, then the control-action warning. The action is front-loaded and no sentence is redundant.

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 0 required parameters, a 100% documented schema and an output schema covering return values, the remaining burden is selection logic and side-effect disclosure, both of which are present. The only omission — relative choice versus nvda_activate_object — is minor given the tool's self-contained specification.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning: the schema marks all five parameters optional, and "Pass title_contains or handle" tells the agent that one of these two selectors is effectively mandatory. It also names nvda_list_windows as the source of handle values, which the schema only implies.

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?

"Bring a window to the front, restoring it if minimized, then report what NVDA said and the new focus" is a specific verb plus resource, and it adds the observable outcome. It doesn't explicitly contrast with nvda_activate_object or nvda_focus_object, which are the nearest siblings and differ only by window-vs-object scope, so an agent must infer that distinction.

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?

"Pass title_contains or handle" plus "If several titles match, the first in nvda_list_windows order wins and the others are listed" gives concrete preconditions and a deterministic resolution rule. The caution that it "counts as controlling the computer, like nvda_press_keys" signals real side effects. It still never states when to prefer this over nvda_activate_object or nvda_focus_object, so no explicit exclusion exists.

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