Skip to main content
Glama

App HTML (internal)

get_app_html
Idempotent

Fetches raw app HTML, trust tier, and capability grants for the universal loader widget; for direct source reading, call get_app.

Instructions

Internal: returns raw app HTML plus its trust tier and capability grants for the universal loader widget. Not useful to call directly — use get_app to read source.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
mountNothe caller is mounting this app on screen now (records the live pointer); refetches and framing bricks leave it unset

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
cspNo
capsYes
hostNolabel for the client this widget is running under; usually empty
htmlYes
nameYes
tierYes
authorYes
lockedYesa fixed system app (settings renders these read-only)
versionYes
collectionYesthe collection this app opens on
declarationNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.7.2

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false, so the safety profile is partially covered. The description discloses the returned payload (trust tier, capability grants) but does not explain why a getter is not read-only (the live-pointer side effect noted in the mount param) or any auth requirements, leaving that inference to the schema.

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?

Two short sentences, no waste, with the internal-only scoping and the redirect to get_app front-loaded so the agent sees the routing advice immediately.

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

Completeness4/5

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

An output schema exists, so return values need not be enumerated; the description still summarizes the payload (HTML, trust tier, capability grants). The remaining gap is the undocumented required 'name' parameter, which is not covered anywhere.

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

Parameters2/5

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

Schema coverage is only 50%: 'mount' is documented in the schema but 'name' (the sole required parameter) is undocumented in both places. The description does not compensate by clarifying what 'name' refers to or the effect of the mount flag on returned HTML.

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 ('returns raw app HTML plus its trust tier and capability grants') and explicitly scopes it to the universal loader widget. It also names the sibling it is not ('use get_app to read source'), so an agent can route correctly 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 Guidelines5/5

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

Explicitly says when-not to call it ('Not useful to call directly') and names the alternative (get_app) for the normal read path. This is exactly the routing guidance an internal tool needs to prevent misuse.

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