Skip to main content
Glama

Open any app

open_app
Read-onlyIdempotent

Launch any registered app by name to render it as an interactive widget, including apps saved in the current chat before dedicated tools appear.

Instructions

Open ANY app from the registry by name. Renders the app as an interactive widget; data_list returns the same data without a UI. Works IMMEDIATELY for apps saved moments ago in this same chat (the dedicated open_ tools may take a while to appear).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
appYesapp name in the registry (see list_apps)
collectionNodata collection to bind (default: the one the app declares, else its own name)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okNo
appYes
eotNo
noteNo
itemsYes
totalNo
versionYes
returnedNo
collectionYes
files_versionNo
settings_versionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.7.2
    • removedOutput schema / properties / host
      Removed value: -{
      -  "type": "string"
      -}
  2. First observedv0.5.7

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive behavior, and the description adds genuinely new context: rendering as an interactive widget versus data_list's plain data, and the timing nuance that it works immediately for freshly saved apps. It does not describe loading/failure behavior, but the added context is meaningful.

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 tight sentences with zero padding; the core purpose and the widget-vs-data_list distinction are front-loaded, and the timing caveat earns its place.

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?

For a two-parameter read tool with an output schema and full annotation coverage, the description supplies everything an agent needs: registry source, widget output, the data_list alternative, and the fresh-app timing edge case.

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 coverage is 100%, and the schema already documents both 'app' and 'collection' including the collection default rule, so the description adds only 'by name' at the margin. Baseline 3 is appropriate when the schema carries the parameter burden.

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 and resource ('Open ANY app from the registry by name') and distinguishes the tool from its near-siblings by naming the dedicated open_<name> tools and data_list. An agent can tell what it does without opening the schema.

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?

Clearly indicates the context in which this tool wins (any registry app, including ones saved moments ago) and names data_list as the no-UI alternative. It stops short of saying when to prefer get_app or the dedicated open_<name> tools explicitly, so it is clear but not exhaustive.

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