Skip to main content
Glama
Garmin Connect IQ Simulator MCP Server

Garmin Connect IQ Simulator MCP Server

by keponer

trigger_menu_action

Clicks a hierarchical menu path in ConnectIQ.app via Accessibility to control simulator data or activity settings, with optional screenshot capture.

Instructions

Trigger a macOS menu item in ConnectIQ.app via Accessibility (AXUIElement), such as simulation data or activity settings.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "menu_path": "<menu_path>"
    },
    "name": "trigger_menu_action"
  }
}

Input Schema

NameRequiredDescriptionDefault
wait_msNoMilliseconds to wait after menu click before capturing screenshot (default: 400)
menu_pathYesHierarchical menu path to click, e.g. ['Simulation', 'Activity Data'] or ['Settings', 'Glance View']
capture_afterNoWhether to capture a screenshot after menu trigger (default: true)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations supplied, the description carries the full burden, and it does disclose the AXUIElement mechanism, which implies a macOS Accessibility permission requirement. However it never states that permission must be granted, what happens if the menu path does not exist, whether the simulator state is mutated by the click, or what the call returns (a screenshot is only implied through the capture_after parameter).

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?

A single front-loaded sentence with the action, target, and mechanism stated first, and no filler. The trailing example clause is slightly loose ('such as simulation data or activity settings') but earns its place by concretizing what a menu_path looks like.

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

Completeness3/5

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

For a mutation tool with zero annotations and no output schema, the definition is adequate: the parameters are fully documented, so the agent knows how to call it. It is not complete, though, because the permission prerequisite, failure behavior, and the fact that a screenshot may be returned are left to be inferred.

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 each parameter already documents its meaning, default, and example, so the schema does the heavy lifting. The description's only added context is illustrative menu targets ('simulation data or activity settings'), which does not exceed what menu_path's own description provides.

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 gives a specific verb ('Trigger'), a precise resource ('a macOS menu item in ConnectIQ.app'), and the underlying mechanism (Accessibility/AXUIElement), plus two concrete example actions. That distinguishes it well from generic UI siblings like tap_screen or act_on_ui, though it never names those siblings explicitly.

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

Usage Guidelines2/5

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

There is no statement of when to choose this over press_button, act_on_ui, or the run_app/build_app siblings, and no preconditions such as the app needing to be running and frontmost. Usage is only inferable from the word 'menu item' in the purpose sentence.

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