Skip to main content
Glama

Server Details

Display delivery platform for AI agents. Push HTML, dashboards and live data to screens.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

57 tools
assign_display_categoriesAssign Display CategoriesA
DestructiveIdempotent
Inspect

Assigns displays to categories. mode 'replace' (default) sets the full category list of each display in display_ids to category_ids; mode 'add' or 'remove' adds/removes one category (category_ids[0]) across many displays without touching other assignments. Discover IDs with list_display_categories; create categories with manage_display_category.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoreplace (default) sets the exact list; add/remove mutates one category across displays.
display_idsYesDisplay profile IDs to update.
access_tokenNoOptional bearer token; prefer session_request_id.
category_idsYesCategory IDs; for mode 'add'/'remove' only the first entry is used.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
modeNo
resultsNo
categoryIdNo

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already flag destructiveHint=true and idempotentHint=true, but the description adds the crucial behavioral nuance of what actually gets destroyed: replace 'sets the full category list' (overwrites all assignments), while add/remove does so 'without touching other assignments.' This is exactly the 'what gets destroyed' context the rubric credits, and it is consistent with the annotations.

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 dense sentences with no filler. The core action is front-loaded, mode semantics follow in order of importance, and the sibling-tool routing is one tight clause at the end. Every sentence earns its place.

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?

For a destructive, multi-mode tool, the description covers modes, defaults, scoping behavior, and ID discovery/creation routing. With annotations covering the safety profile, a 100%-covered schema, and an output schema present, the only notable gap is failure/partial-failure semantics (e.g., behavior when a display_id is invalid), which is minor.

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 cross-parameter semantics the schema's individual field descriptions don't fully convey: how display_ids and category_ids interact differently per mode, that replace sets the full list per display, and that add/remove applies one category across many displays. This goes beyond merely restating schema text.

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?

Opens with a specific verb+resource: 'Assigns displays to categories.' The three modes (replace/add/remove) are each defined with precise semantics, and the description names the two most confusable siblings (list_display_categories, manage_display_category) and what each is for, so an agent can tell assignment apart from discovery and creation without opening their schemas.

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?

Provides explicit when-to-use guidance per mode: replace for setting the exact category list, add/remove for surgically mutating one category across many displays. It also names alternatives for adjacent operations ('Discover IDs with list_display_categories; create categories with manage_display_category'), which is clear routing against the sibling set.

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

authenticateAuthenticate SessionA
Idempotent
Inspect

Validates a JWT agent token and reports the identity and scope it carries. It caches NOTHING: no server-side state remembers this call, so the credential still travels on every protected call afterwards. Use only when your client cannot send an Authorization: Bearer header; prefer session_request_id-based auth via create_auth_session. Not needed after get_auth_session returned 'active'.

ParametersJSON Schema
NameRequiredDescriptionDefault
jwtNoAlias for token. Use this if your wrapper cannot send the 'token' field reliably.
tokenNoThe raw JWT token string returned by get_auth_session or an OAuth access token. Pass the opaque token exactly as received — do not add a 'Bearer ' prefix and do not expand or decode the JWT claims.
access_tokenNoAlias for token. Use this if your wrapper follows OAuth naming conventions.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
emailNo
scopeNo
userIdNo
isAgentNo
expiresAtNo
sessionBoundNo
authenticatedNo
transportAuthRequiredNo

TDQS

A4.5/5.0
Behavior4/5

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

The description adds a valuable behavioral trait beyond the annotations: 'It caches NOTHING: no server-side state remembers this call, so the credential still travels on every protected call afterwards.' This explains the statelessness and its practical consequence. Annotations already provide idempotentHint and destructiveHint, so the description's extra context earns a 4 rather than a 5.

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 sentences, each with a distinct purpose: purpose, behavioral caveat, and usage routing. No filler words, and the most important information is front-loaded.

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?

The description covers what the tool does, when it should and shouldn't be used, and the crucial consequence of its statelessness. With an output schema available to describe return values, nothing essential is missing.

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%, with all three parameters (jwt, token, access_token) fully described, including aliases and usage warnings. The description does not add parameter-level detail, so the baseline of 3 applies.

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?

The first sentence states a specific verb and resource: 'Validates a JWT agent token and reports the identity and scope it carries.' It clearly distinguishes this tool from create_auth_session (session_request_id-based auth) and get_auth_session (active status) in the same description.

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?

The description explicitly states when to use it ('Use only when your client cannot send an Authorization: Bearer header'), names the preferred alternative (create_auth_session), and gives a negative condition ('Not needed after get_auth_session returned active'). This is complete routing guidance.

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

broadcast_contentBroadcast ContentA
Destructive
Inspect

Sends HTML to many displays at once. Target explicit display_ids, all=true for every accessible display, or include_category_ids to reach every display in those categories (include_descendants for subcategories, dry_run to preview matches without sending). Locked displays are skipped with reasons. For a single display use send_html. Requires content scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
allNotrue targets all accessible displays.
htmlNoComplete HTML document. Mutually exclusive with base64_html.
dry_runNoPreview: return the matched displays without sending. Works with all targeting modes.
durationNoSeconds the content stays; 0 = indefinite.
base64_htmlNoBase64-encoded HTML. Mutually exclusive with html.
descriptionNoShort summary of the content being sent (required when sending).
display_idsNoDisplay profile IDs to target.
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.
include_descendantsNoWith include_category_ids: also include subcategories.
include_category_idsNoCategory IDs: broadcast to displays assigned to these categories.

Output Schema

ParametersJSON Schema
NameRequiredDescription
sentNo
dryRunNo
matchedNo
resultsNo
skippedNo

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already signal destructive mutation, read/write behavior, and non-idempotence. The description adds behavioral disclosures beyond the annotations: locked displays are skipped with reasons, all=true means 'every accessible display', and dry_run previews without sending. It also states the auth requirement 'Requires content scope'.

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 compact sentences front-load the core purpose and then layer targeting, preview, and constraints. No filler or redundant restatement of the schema.

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?

For an 11-parameter broadcast tool with an output schema present, the description covers auth scope, targeting modes, locked-display failure behavior, and alternative routing. It stops short of stating explicit conflict rules between targeting parameters, but the 'or' phrasing and full schema coverage make the remaining ambiguity minor.

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?

While the schema covers 100% of parameters, the description adds grouping semantics: it identifies the three mutually exclusive targeting strategies ('explicit display_ids, all=true... or include_category_ids'), explains include_descendants as subcategory expansion, and positions dry_run as a preview option across all modes. This synthesis is value beyond the per-parameter schema text.

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?

The opening sentence 'Sends HTML to many displays at once' states a specific verb plus resource and scope. It distinguishes itself from send_html with 'For a single display use send_html', and names the three targeting modes. This leaves no ambiguity about what the tool is for.

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?

The description explicitly tells the agent when to prefer the sibling send_html ('For a single display') and when broadcast_content is appropriate (explicit display_ids, all=true, or include_category_ids). It also covers preview with dry_run and subcategory expansion with include_descendants, giving concrete selection context.

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

claim_displayClaim DisplayAInspect

Adopts an unclaimed guest or pending display as a managed personal display (permanent ownership transfer, counts against quota). Use only when the user explicitly wants to take over hardware that is already running; for first-time setup prefer pair_by_code. Requires admin scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
display_idYesThe short ID of the pending, guest or demo display to claim. This is the hardware or temporary ID shown on the device.
access_tokenNoOptional bearer token; prefer session_request_id.
profile_nameYesFriendly name to assign to the newly claimed display. Non-empty string. Example: 'Reception Kiosk'.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
profileIdNo
linkedHardwareIdNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations only provide generic false hints, so the description carries the burden. It discloses permanence ('permanent ownership transfer'), quota impact, and admin scope requirement. It does not contradict annotations; no conflict with destructiveHint=false since a transfer is not necessarily destructive.

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 sentences, front-loaded with action and consequences, then usage guidance and auth requirement. No filler or repetition of schema text.

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 an output schema present and all parameters documented, the description covers the essential behavioral, usage, and auth context. It even names the alternative tool to keep the agent on the right path. No critical gap for invoking correctly.

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 has a descriptive schema comment, so the baseline is 3. The description reaffirms that display_id refers to an unclaimed/pending display and profile_name is the new friendly name but adds little beyond the schema.

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 ('Adopts') and resource ('unclaimed guest or pending display'), and clarifies the result ('permanent ownership transfer, counts against quota'). It is clearly distinguishable from the sibling pair_by_code, which is called out by name.

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 instructs when to use ('only when the user explicitly wants to take over hardware already running') and when not to ('for first-time setup prefer pair_by_code'). Also states required permission (admin scope).

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

clear_displayClear DisplayA
DestructiveIdempotent
Inspect

Removes the current live content from a display and returns it to its idle/default state. Viewers will immediately see the change. Use this when the user wants to blank or reset a display. This does not delete the display itself — use delete_display for that. Requires authentication with at least content_only scope. Returns id and status ('cleared').

ParametersJSON Schema
NameRequiredDescriptionDefault
display_idYesThe 8-character alphanumeric display profile ID to clear, e.g. 'ABCD1234'.
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
statusNo
currentContentDescriptionNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover destructive/idempotent/readOnly hints. The description adds the authentication scope requirement ('Requires authentication with at least content_only scope') and the immediate viewer effect ('Viewers will immediately see the change'), which go beyond annotations. No contradiction.

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?

Six short sentences, each adding distinct value: action, effect, usage, alternative, auth, return. Front-loaded with the core operation and effect, minimal fluff.

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?

Given that an output schema exists, the description still covers effects, auth scope, and sibling distinction. Nothing an agent needs to decide and invoke correctly is missing.

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 covers 100% of parameters including descriptions for display_id, access_token, and session_request_id. The description adds no new parameter-specific meaning beyond the schema, so baseline 3 is appropriate.

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?

Clear verb+resource: 'Removes the current live content from a display and returns it to its idle/default state.' Differentiates from delete_display by explicitly stating 'This does not delete the display itself.'

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?

Gives explicit when to use ('when the user wants to blank or reset a display'), names the alternative ('use delete_display for that'), and provides the auth prerequisite. Clear routing among siblings.

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

configure_displayConfigure DisplayA
DestructiveIdempotent
Inspect

Updates display settings: rename (name), lock or unlock content changes (locked), privacy mode for share links (privacy_mode), embed-origin allowlist (origins), hardware permissions (camera, microphone, geolocation), preferred language, mouse cursor, badge overlay and watermark position. Only the fields you pass are changed; online displays apply changes immediately. Use for any display setting change. Not for sending content (send_html, send_url) or deleting (delete_display). Requires admin scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew display name (rename).
lockedNotrue blocks content changes until unlocked; false unlocks.
originsNoEmbed-origin allowlist for Public displays; [] allows all origins.
whitelistNoDomain whitelist for whitelist-only mode.
display_idYes8-character display profile ID, e.g. 'ABCD1234'.
access_tokenNoOptional bearer token; prefer session_request_id.
allow_cameraNo
privacy_modeNoPrivate caps share-link TTL at 1 hour; Public (signage mode) allows 24 hours.
allow_microphoneNo
strict_whitelistNotrue: the display whitelist replaces the org whitelist instead of extending it.
allow_geolocationNo
connectivity_modeNoPer-display network mode override.
show_mouse_cursorNo
preferred_languageNo
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.
show_badge_overlayNo
watermark_positionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
nameNo
allowCameraNo
allowMicrophoneNo
changedSettingsNo
showMouseCursorNo
allowGeolocationNo
showBadgeOverlayNo
effectiveLanguageNo
preferredLanguageNo
watermarkPositionNo
appliedToLiveDisplayNo

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already indicate destructiveHint=true and readOnlyHint=false. The description adds meaningful behavioral context beyond annotations: partial updates, immediate effect for online displays, and the admin scope requirement. It doesn't contradict annotations and provides extra operational detail.

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?

The description is compact and well-ordered: a list of settings up front, then behavior/constraints, then usage guidance. Every sentence contributes value without redundancy.

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?

Given the tool's complexity (17 parameters, many boolean toggles), the description covers the essential behavior, scope, and known caveats. The output schema exists, so return format is not needed. The main missing details are some parameter descriptions, but those are already in the input schema, so the description is sufficiently complete for an agent to use correctly.

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 59%, so the description should compensate for undocumented parameters. It does explain many: rename, lock/unlock, privacy mode, origins, hardware permissions, language, cursor, badge, watermark. However, several parameters (whitelist, strict_whitelist, connectivity_mode, access_token, session_request_id) are not described, leaving some ambiguity that the schema partially offsets.

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?

The description clearly states the verb ('Updates'), the resource ('display settings'), and enumerates the specific settings. It explicitly distinguishes itself from sibling operations by naming what it is not for ('Not for sending content (send_html, send_url) or deleting (delete_display)').

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 states 'Use for any display setting change' and provides exclusions with alternative tool names. Also clarifies partial-update semantics ('Only the fields you pass are changed') and immediacy for online displays, which guides call timing.

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

configure_organizationConfigure OrganizationA
DestructiveIdempotent
Inspect

Updates organization settings: rename (name) and/or network connectivity defaults for all its displays (default_connectivity_mode, global_whitelist). Only provided fields change. Use when an org admin renames the organization or declares network topology. Requires admin scope and org-admin role.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew organization name (rename).
org_idYesOrganization ID from list_organizations.
access_tokenNoOptional bearer token; prefer session_request_id.
global_whitelistNoDomain whitelist applied org-wide in whitelist-only mode.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.
default_connectivity_modeNoDefault connectivity for all org displays.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
orgIdNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, and idempotentHint=true, so the mutation and idempotency are known. The description adds value by noting 'Only provided fields change' (partial update behavior) and requiring 'admin scope and org-admin role', which are not in annotations. No contradiction with annotations exists.

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 sentences with no fluff. The action and fields are front-loaded, followed by usage guidance and auth. Every sentence contributes essential information, and the structure is clean and scannable.

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?

The tool has 6 parameters and an output schema (not shown), so return values are covered elsewhere. The description includes the action, scope, partial-update behavior, use case, and required permissions. It lacks any mention of side effects beyond mutation (which destructiveHint covers) but is otherwise complete for an agent to use correctly.

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%, so all parameters are already documented. The description adds only a general note that only provided fields change, which applies to all parameters rather than individual semantics. It does not explain enum values or parameter relationships beyond the schema, so baseline 3 is appropriate.

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?

The description clearly states the tool 'Updates organization settings' and enumerates the specific fields (name, default_connectivity_mode, global_whitelist), distinguishing it from create/delete/configure_display tools. The scope 'for all its displays' clarifies it operates at the org level, separating it from per-display configuration.

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?

It provides an explicit 'Use when an org admin renames the organization or declares network topology' condition, which is direct guidance. It does not explicitly mention alternatives (e.g., configure_display for per-display settings), but the scope statement 'for all its displays' implies the distinction, making the usage context clear.

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

create_api_keyCreate API KeyAInspect

Creates a long-lived API key for server-to-server integration without OAuth. The raw key is returned only once — store it securely. The user must explicitly consent to creating the key. Requires admin scope. Supports granular scoping: restrict the key to specific data-slot slugs, specific display IDs, a read/write permission flag, and/or fine-grained capability flags.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable name for the key. Example: 'Home Assistant', 'CI Pipeline'.
scopeNoScope for the key: 'content_only' (send content, list displays) or 'admin' (full management).content_only
org_idNoOptional organization ID. If set, the key acts on behalf of this organization.
permissionsNoGranular permission flag: 'read', 'write', or 'read_write' (default). Applied on top of 'scope' — e.g. a content_only read-only key cannot PUT data slots. Matched against HTTP verb: GET requires read, PUT/POST/PATCH/DELETE require write.read_write
access_tokenNoOptional bearer token; prefer session_request_id.
capabilitiesNoOptional JSON array of fine-grained capability flags this key may exercise. Allowed values: 'slot.read' (list/get slots), 'slot.write' (put/delete slots), 'display.read' (list/get displays, read content), 'display.send' (send_html/send_url/broadcast/clear/set_idle), 'display.manage' (rename/delete/lock/configure/license/pair/claim/create). Omit or pass [] for no capability restriction. Capabilities narrow — never expand — the key's rights; they combine with scope, permissions, and resource whitelists.
expires_in_daysNoOptional expiration in days. If not set, the key never expires.
allowed_slot_slugsNoOptional JSON array of data-slot slugs this key may touch (max 64). When set, every data-slot request must target one of these slugs. Omit or pass [] for no slug restriction. Example: ['sensor-lobby', 'sensor-garage'].
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.
allowed_display_idsNoOptional JSON array of display profile IDs this key may touch (max 64). When set, every display request must target one of these IDs. Omit or pass [] for no display restriction. Example: ['ABCD1234','EFGH5678'].

Output Schema

ParametersJSON Schema
NameRequiredDescription
keyNo
nameNo
keyIdNo
orgIdNo
scopeNo
warningNo
createdAtNo
expiresAtNo
permissionsNo
capabilitiesNo
allowedSlotSlugsNo
allowedDisplayIdsNo

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the minimal annotations, the description discloses high-value behavioral traits: the raw key appears only once and must be stored securely, creation requires explicit user consent, and admin scope is required. This is exactly the kind of operational context an agent needs and cannot infer from the schema alone.

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 front-load the purpose, then the critical security/authorization facts, then the scoping options. There is no filler and every sentence contributes meaning an agent needs before calling the tool.

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 10-parameter tool with a full output schema and minimal annotations, this description covers the non-obvious constraints: one-time secret, consent, admin scope, and the four scoping dimensions. The remaining details are safely carried by the 100%-covered schema and the output schema.

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%, so each of the 10 parameters is already well documented. The description summarizes the granular scoping model (data-slot slugs, display IDs, read/write flag, capability flags) and maps cleanly to the relevant parameters, but it does not add per-parameter semantics beyond the schema.

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?

The description states a specific verb and resource ('Creates a long-lived API key') and immediately distinguishes the tool from session-based alternatives by noting 'server-to-server integration without OAuth'. It also clarifies what kind of key is created and adds the meaningful constraint that the raw key is returned only once.

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?

The description gives clear usage context: use this for server-to-server integration without OAuth, with explicit user consent and admin scope required. It does not explicitly name alternatives like create_auth_session or say 'use X instead', but the context strongly implies the session-based sibling is not the right choice for long-lived integration keys.

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

create_auth_sessionCreate Auth SessionAInspect

Starts a browser login and returns a loginUrl plus sessionRequestId. Use as STEP 0 in a fresh conversation before any protected tool. Show the loginUrl to the user as a clickable link in their language, then poll get_auth_session until 'active' and pass session_request_id on every later call. Returns sessionRequestId, loginUrl, pollUrl and expiresIn.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoRequested access scope. Must be either 'content_only' (read and send content to displays) or 'admin' (content_only plus create/delete/rename displays). Defaults to 'content_only'.
agent_identifierNoOptional display name of the MCP client or agent, shown to the user in the browser consent screen. Example: 'ChatGPT' or 'my-home-automation'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
hintNo
pollUrlNo
loginUrlNo
expiresInNo
requestedScopeNo
sessionRequestIdNo

TDQS

A4.9/5.0
Behavior5/5

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

The description discloses key behavioral traits: it starts a login process, returns a sessionRequestId and loginUrl, and requires polling. It does not contradict annotations, and since annotations provide no safety hints, the description carries the full burden effectively.

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?

The description is three concise sentences. Front-loaded with the main action, followed by immediate usage guidelines, then additional steps. No unnecessary words.

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?

Given the complexity of an authentication flow, the description provides a complete step-by-step guide: start session, present loginUrl, poll for active status, and pass session_request_id everywhere. The existence of an output schema covers return values.

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 description coverage is 100%, so baseline is 3. The description adds value by explaining the scope enum values (content_only vs admin) and providing an example for agent_identifier, though it doesn't describe each parameter in detail.

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?

The description states exactly what the tool does: 'Starts a browser login and returns a loginUrl plus sessionRequestId.' It uses specific verbs and resources, and distinguishes itself from siblings by being the first step in authentication.

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 'Use as STEP 0 in a fresh conversation before any protected tool.' It provides clear instructions on showing the loginUrl to the user, polling get_auth_session, and passing session_request_id on later calls.

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

create_displayCreate DisplayAInspect

Pre-provisions a display without hardware, personal or inside an organization (org_id). The new display starts offline. For a physical screen ALWAYS prefer pair_by_code, which creates and pairs in one step; use create_display only to prepare a display before the screen exists or for virtual/API-only displays. Requires admin scope. Returns id plus setup and pairing URLs.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoFriendly display name, e.g. 'Lobby Screen'. Required when org_id is set.
org_idNoOptional: create the display inside this organization (needs manager role and a free license slot).
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
nameNo
statusNo
setupUrlNo
managedUrlNo
pairingUrlNo
approvalUrlNo
pairingExpiresAtNo

TDQS

A4.5/5.0
Behavior4/5

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

Beyond annotations, the description discloses that the new display starts offline, requires admin scope, and returns setup and pairing URLs. This adds meaningful behavioral context. It doesn't describe all edge cases, but the annotations already cover read-only, destructive, open-world, and idempotency traits.

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?

The description is compact and well-structured: it states the core purpose first, then usage guidance, then access requirements and return value. Every sentence earns its place with no redundancy.

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 tool with this complexity, the description covers purpose, when to use, auth requirement, initial state, and return payload. Combined with the fully documented schema and output schema, nothing essential is missing for an agent to invoke it correctly.

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%, so the parameters are fully documented in the schema. The description adds some semantic value by mentioning org_id and the pairing URL return, but it does not need to explain each parameter further.

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?

The description uses a specific verb–resource pair ('Pre-provisions a display') and clarifies that the display is created without hardware, either personally or in an organization. It explicitly distinguishes itself from pair_by_code, so the agent can confidently differentiate it from the closest sibling.

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?

The description gives explicit guidance: for physical screens ALWAYS prefer pair_by_code, and create_display should only be used to prepare a display before hardware exists or for virtual/API-only displays. This clearly states when to use and when not to use the tool, naming the alternative.

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

create_organizationCreate OrganizationAInspect

Creates a new organization and makes the authenticated user the owner. Use this when the user wants to set up a shared display fleet. Returns orgId, name, slug, type and yourRole. Requires admin scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesFriendly name for the organization. Example: 'Marketing Team'.
typeNoOrganization type. Defaults to 'organization' if omitted.
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
slugNo
typeNo
orgIdNo
yourRoleNo

TDQS

A4.3/5.0
Behavior4/5

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

Beyond the annotations, the description discloses that the user becomes owner, that admin scope is required, and what fields are returned. This materially helps an agent anticipate side effects and the shape of a successful response, which is valuable for a mutation tool.

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 concise sentences cover action, use case, return values, and scope requirement. It is front-loaded with the core purpose and contains no redundant 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?

For a straightforward create tool with full schema coverage and an output schema, the description is complete enough: it states the operation, the use case, the ownership side effect, returned values, and required scope. Nothing essential for calling it correctly is missing.

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%, so the schema already explains all four parameters, including the enum and auth fields. The description adds no parameter-specific detail beyond mentioning the returned fields and admin scope, so it meets the baseline without over-delivering.

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?

The description uses a specific verb and resource ('Creates a new organization') and adds the key detail that the authenticated user becomes owner, which differentiates it from configure_organization and delete_organization. It also ties the tool to a concrete context, setting up a shared display fleet, which makes the purpose unambiguous.

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?

It provides an explicit usage condition ('Use this when the user wants to set up a shared display fleet') and notes the admin scope requirement. However, it doesn't mention when not to use it or how it compares to related tools like configure_organization, list_organizations, or delete_organization, leaving some routing to inference.

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

delete_assetDelete AssetA
Destructive
Inspect

Deletes one or more assets. Displays referencing deleted assets will show broken images. Requires authentication with at least content_only scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_idsYesOne or more asset IDs to delete.
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
deletedNo
not_foundNo

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 and idempotentHint=false, and the description does not contradict them. It adds useful behavioral context beyond the annotations by warning that displays referencing deleted assets will show broken images and by specifying the required auth scope.

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?

The description is only two sentences, front-loads the core action, and each remaining sentence adds a distinct, valuable detail (side effect and auth requirement). There is no redundancy or filler.

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?

For a simple destructive tool with an output schema and annotations covering destructiveness/idempotence, the description provides the essential selection and invocation context: action, plural scope, consequence, and authentication. It does not discuss partial failure behavior or ID provenance, but those are not necessary for correct basic use.

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%, so all three parameters are already documented. The description adds no meaningful parameter-level semantics beyond repeating that multiple assets can be deleted; this matches the baseline 3 for high schema coverage.

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?

The description states a specific action ('Deletes') on a specific resource ('one or more assets'), and the scope ('one or more') adds precision. It is immediately distinguishable from sibling delete_* tools and from update_asset/upload_asset/get_asset by the verb+resource combination.

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?

The description provides clear usage context: this tool is for deleting assets, with a prerequisite ('Requires authentication with at least content_only scope') and a material consequence (broken images on referencing displays). It does not explicitly name alternatives or exclusions, so it stops short of a 5.

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

delete_data_slotDelete Data SlotA
Destructive
Inspect

Permanently deletes a data slot. Display HTML fetching its readUrl will receive 404 after deletion. Cannot be undone. Supply group_id to delete a group slot; omit for personal slots. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe slug of the data slot to delete.
group_idNoGroup/organization ID to delete a group slot. Omit for personal slots.
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
slugNo
slotIdNo
deletedNo
publicIdNo

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the destructiveHint annotation, the description discloses key behavioral consequences: deletion is permanent, cannot be undone, and any HTML fetching the readUrl will receive a 404. It also states the authentication requirement. These are concrete operational details that materially affect how an agent should invoke and reason about the tool.

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?

Four short sentences, each adding distinct value: the core action, the downstream 404 effect, irreversibility, and the group/personal/auth usage rule. The most important fact is front-loaded, and there is no filler or repetition of the schema.

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 destructive operation with a full input schema, output schema, and annotations, the description supplies all essential behavioral context: permanence, side effect on readUrl, auth requirement, and the group-vs-personal selection logic. An agent has enough information to invoke the tool correctly and understand the consequences.

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?

The schema already covers all four parameters with descriptions at 100% coverage, so the baseline is 3. The description repeats the group_id semantics but does not add meaningful parameter details beyond what the schema already states. No additional syntax, format, or relationship guidance is provided.

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?

The description opens with a specific verb and resource: 'Permanently deletes a data slot.' It clearly differentiates from sibling tools like set_data_slot, get_data_slot, list_data_slots, and other delete_* tools by immediately identifying the target resource and the destructive nature of the operation.

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?

The description provides clear usage context: group slots require group_id, personal slots omit it, and authentication is required. It does not explicitly name alternatives or exclusion conditions, but the group-vs-personal distinction and auth prerequisite give an agent enough situational guidance.

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

delete_displayDelete DisplayA
Destructive
Inspect

Permanently deletes a display and all its associated content. This action cannot be undone. Use this only when the user explicitly confirms they want to remove the display. Requires admin scope. Returns id, name and deleted (boolean true).

ParametersJSON Schema
NameRequiredDescriptionDefault
display_idYesThe 8-character alphanumeric display profile ID to delete, e.g. 'ABCD1234'.
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
nameNo
deletedNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true, but the description adds critical context: permanence ('cannot be undone'), cascading deletion ('all its associated content'), admin scope requirement, and the return shape. This goes beyond what annotations alone communicate, with no contradiction.

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 concise sentences front-load the most critical information: permanence, irreversibility, and the explicit confirmation requirement. Every sentence contributes value with no redundancy or 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?

For a destructive mutation, the description covers the essential operational details: irreversibility, cascading content deletion, admin auth requirement, user confirmation gate, and return values. Combined with the rich input schema and output schema, nothing necessary for correct invocation is missing.

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?

The input schema has 100% coverage, with detailed descriptions for display_id, access_token, and session_request_id. The tool description adds no parameter-specific meaning, so the baseline of 3 is appropriate.

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 and resource: 'Permanently deletes a display and all its associated content.' It clearly identifies the action and scope. It does not explicitly distinguish itself from siblings like clear_display or remove_display_from_org, so it falls short of a 5.

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?

The description provides clear usage context: 'Use this only when the user explicitly confirms they want to remove the display,' plus the admin scope requirement. It does not enumerate alternatives or explicitly state when not to use it, but the confirmation gate is strong enough guidance for a destructive action.

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

delete_organizationDelete OrganizationA
Destructive
Inspect

Permanently deletes an organization, releasing all its displays and removing all members. Only the owner can delete. This cannot be undone. Requires admin scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
org_idYesThe organization ID to delete.
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
orgIdNo
deletedNo
membersRemovedNo
displaysReleasedNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true, but the description adds crucial details beyond that: side effects (releasing displays, removing members) and authentication/permission requirements (owner-only, admin scope). It also emphasizes irreversibility, providing context not captured in annotations. No contradiction exists.

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?

The description is two tight sentences with zero redundancy. The first sentence front-loads the core action and its immediate consequences; the second packs permissions and irreversibility into three short clauses. Every word earns its place.

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?

For a destructive tool with an output schema and well-documented params, the description covers the essential information: what happens (permanent deletion), side effects, and access requirements. It omits nothing critical an agent would need to invoke it correctly, though it could theoretically mention the return value, which is presumably handled by the output schema.

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?

With 100% schema coverage, all three parameters (org_id, access_token, session_request_id) are already described in the input schema. The tool description adds no additional parameter-specific meaning, so a baseline score of 3 is appropriate given the schema already does the heavy lifting.

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?

The description clearly states the verb 'deletes' with the resource 'organization' and specifies concrete effects: releasing all displays and removing all members. This distinguishes it from sibling tools like delete_display or delete_asset, which target different resources. The irreversible nature is also made explicit.

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?

The description provides explicit prerequisites: only the owner can delete, and admin scope is required. While it doesn't name alternative tools or explicitly state when not to use it, the context is clear enough for an agent to infer that this is the correct choice for deleting an entire organization, not individual displays or assets.

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

fetchFetch ResourceA
Read-onlyIdempotent
Inspect

Fetches one agentView resource by agentview:// URI, e.g. agentview://public/status, agentview://account/me or agentview://display/ABCD1234. Use after search or with a known URI. Public URIs need no auth; account and display URIs need a session. Returns uri, type, title, text and structured data.

ParametersJSON Schema
NameRequiredDescriptionDefault
uriYesThe resource URI to fetch. Must use the agentview:// scheme. Examples: 'agentview://public/status', 'agentview://account/me', 'agentview://display/ABCD1234'.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
uriNo
dataNo
textNo
typeNo
titleNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already mark this as read-only, idempotent, and non-destructive. The description adds behavioral context beyond that: public URIs require no auth while account and display URIs require a session, and it summarizes the return shape. No contradictions with annotations.

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 sentences, with the core operation front-loaded, followed by usage direction, auth note, and return summary. Every sentence carries information without padding.

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 fetch tool with an output schema and read-only/idempotent annotations, the description covers when to use it, authentication requirements, and what is returned. Nothing essential is missing for an agent to invoke it correctly.

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%, so the baseline is 3; the description mostly restates the uri examples already in the schema. It adds only mild context that account/display URIs need a session, linking session_request_id to authenticated calls.

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 clearly identifies a specific verb ('Fetches'), a resource class ('agentView resource'), and the URI scheme with concrete examples. It does not explicitly distinguish this generic fetch from sibling get_* tools, so it misses full sibling differentiation.

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?

States when to use it ('Use after search or with a known URI') and gives auth preconditions by URI category. It does not name excluded alternatives or say when to prefer the sibling get_* tools, stopping short of a 5.

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

get_accountGet AccountA
Read-onlyIdempotent
Inspect

Returns the user's account profile: plan and features, personal display limits and remaining quota, accessible display count, organization memberships and points balance. Use for subscription, quota and membership questions. Not for listing displays (use list_displays). Requires content scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
hintNo
nameNo
planNo
emailNo
pointsNo
userIdNo
maxDisplaysNo
planFeaturesNo
organizationsNo
currentDisplaysNo
authenticatedViaNo
organizationCountNo
remainingDisplaysNo
maxPersonalDisplaysNo
currentPersonalDisplaysNo
totalAccessibleDisplaysNo
remainingPersonalDisplaysNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior. The description adds a useful extra behavioral constraint: 'Requires content scope,' which is authentication/permission context not present in the annotations. No contradiction with annotations.

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 sentences, each earning its place: what it returns, when to use it, and the explicit exclusion. The description is front-loaded with the resource and output content, and has no 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 annotations covering the safety profile, an output schema covering return structure, and the description covering scope, usage context, and sibling differentiation, nothing an agent needs to invoke it correctly is missing.

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% for both parameters, so the schema already fully documents them. The description adds no parameter-specific meaning beyond noting an auth scope requirement, which is not tied to a specific parameter.

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?

The description names a specific verb ('Returns'), a clear resource ('the user's account profile'), and enumerates the data returned (plan, quota, memberships, points). It also explicitly distinguishes itself from list_displays, so an agent can disambiguate among siblings.

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?

States exactly when to use it ('for subscription, quota and membership questions') and when not to ('Not for listing displays'), naming the alternative tool. This is explicit, actionable routing guidance.

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

get_agent_artifactGet Agent ArtifactA
Read-onlyIdempotent
Inspect

Returns an agent-onboarding artifact shipped with a store template: system prompt, Agent Skills SKILL.md or MCP-config snippet. Pass slug for the RAW template artifact (before install, {{slot:...}} placeholders intact) or display_id for the display-bound artifact with placeholders resolved against installed slots (ready to save, e.g. into ~/.claude/skills/). Discover keys via get_store_template_details (agentArtifacts array). Template mode needs no auth; display mode requires content scope and display ownership.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYesArtifact key, e.g. 'bot-system-prompt', 'agent-skill', 'mcp-config'.
slugNoTemplate slug for the raw artifact. Provide slug OR display_id.
display_idNoDisplay profile ID for the placeholder-resolved artifact. If both slug and display_id are given, display_id wins (substituted body).
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
keyNo
kindNo
slugNo
titleNo
contentNo
displayIdNo
unresolvedPlaceholdersNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds valuable context: template mode needs no authentication, display mode requires specific auth scopes, and placeholder resolution behavior. No contradictions.

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?

The description is concise (three well-structured sentences), front-loaded with the core purpose, and every sentence adds value. No redundancy or 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?

Given the complexity (5 params, output schema exists), the description covers all critical aspects: what the tool returns, the two modes, authentication requirements, and how to discover valid keys. Complete enough for correct agent invocation.

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%, baseline 3. The description adds meaning by explaining the precedence of display_id over slug, the auth context for access_token vs session_request_id, and the purpose of each parameter beyond schema descriptions.

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?

The description clearly states the tool returns an agent-onboarding artifact (system prompt, SKILL.md, or MCP-config snippet). It distinguishes between two modes: raw template (slug) and placeholder-resolved (display_id), and explains how to discover artifact keys via get_store_template_details.

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?

The description provides explicit guidance on when to use slug (template mode, no auth) versus display_id (display mode, requires auth and ownership). It also mentions the sibling get_store_template_details for key discovery. However, it does not explicitly exclude use cases.

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

get_assetGet AssetA
Read-onlyIdempotent
Inspect

Returns metadata for a single asset including its URL. Use this to verify an asset still exists before referencing it in HTML. Requires authentication with at least content_only scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
asset_idYesThe asset ID (e.g. 'ast_01H7KXZ...').
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlNo
nameNo
assetIdNo
mimeTypeNo
createdAtNo
sizeBytesNo
descriptionNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds an actionable auth requirement ('at least content_only scope') and mentions the URL in the response. No contradiction with annotations.

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, each earning its place: what the tool returns, when to use it, and what authentication is needed. No fluff or repetition.

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 simple read-only lookup tool, the description covers purpose, usage, auth, and return content. An output schema exists, so return-value details are already available to the agent.

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%, with asset_id, access_token, and session_request_id all documented in the schema. The description itself does not add param-level detail, so a baseline of 3 is appropriate.

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 metadata for a single asset including its URL.' This clearly differentiates it from sibling tools like list_assets, update_asset, delete_asset, and upload_asset.

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?

Gives a clear use case: 'Use this to verify an asset still exists before referencing it in HTML.' It does not explicitly name alternatives or exclusion conditions, but the context is clear for a single-asset lookup.

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

get_auth_sessionGet Auth SessionA
Idempotent
Inspect

Polls a login session created by create_auth_session until the user completes the browser login. Poll every 2-3 seconds while status is 'pending'. Status 'active' reports the GRANTED scope, read back from the issued token. Completing the login does NOT authenticate this MCP session: pass session_request_id on every protected call afterwards. Omit it and the server falls back to your connector's bearer token, which usually carries content scope only, so content tools keep working while admin tools like pair_by_code refuse with admin_scope_required. The raw token is intentionally not returned over MCP. 'expired' means start over with create_auth_session.

ParametersJSON Schema
NameRequiredDescriptionDefault
session_request_idYesThe sessionRequestId string returned by create_auth_session. Must be passed exactly as received.

Output Schema

ParametersJSON Schema
NameRequiredDescription
scopeNo
statusNo
expiresInNo
requestedScopeNo
tokenExpiresAtNo
sessionRequestIdNo

TDQS

A4.9/5.0
Behavior5/5

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

With annotations already signaling readOnlyHint=false and idempotentHint=true, the description adds substantial behavioral context: the raw token is intentionally not returned over MCP, completing login does NOT authenticate the MCP session, status 'active' reports the GRANTED scope read back from the token, and the fallback credential behavior with scope differences between content and admin tools. No contradiction with annotations — it enriches them.

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?

The description is dense (~120 words) but every sentence carries distinct, high-value information: purpose, polling cadence, status semantics, auth caveat, fallback behavior, security disclosure, and lifecycle handling. There is no filler, redundancy, or restatement of the schema. The length is fully justified by the tool's behavioral complexity.

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?

The tool has an output schema, so return values need no description-level coverage. The description covers all the remaining contextual needs: the orchestration relationship with create_auth_session, polling cadence, all three status outcomes (pending/active/expired) with appropriate actions, security constraints, and the critical downstream requirement to pass session_request_id on protected calls. Nothing an agent needs to invoke this correctly is missing.

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% and the schema description already says 'Must be passed exactly as received.' The tool description adds value beyond that by explaining where the ID comes from (create_auth_session), how it must be reused on every protected call, and what happens if omitted. This is genuine complementary information, not schema repetition.

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?

The description opens with a specific verb and resource: "Polls a login session created by create_auth_session until the user completes the browser login." This clearly distinguishes the tool from its siblings (create_auth_session creates, this polls; authenticate is a different auth path) and states the terminal condition precisely.

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?

Explicit operational guidance is given: poll every 2-3 seconds while status is 'pending', start over with create_auth_session on 'expired', and pass session_request_id on every protected call afterwards. It also explains the consequence of omitting the parameter (fallback to the connector's bearer token) and which tool category that breaks (admin tools like pair_by_code). This is exemplary when-to-use-and-how guidance.

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

get_data_slotGet Data SlotA
Read-onlyIdempotent
Inspect

Returns the current JSON content and metadata of a data slot by slug. Supply group_id to look up a group slot; omit it for personal slots. The response includes readUrl — the public anonymous URL for display HTML to fetch. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe slug of the data slot to retrieve.
group_idNoGroup/organization ID to retrieve a group slot. Omit for personal slots.
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
slugNo
typeNo
labelNo
contentNo
groupIdNo
readUrlNo
sizeBytesNo
updatedAtNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint, so no contradiction. The description adds useful behavioral context beyond annotations: authentication is required, and the response exposes a readUrl that is a public anonymous URL for fetching display HTML. This helps the agent understand auth expectations and how to use the result.

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 sentences with no filler. The primary behavior is front-loaded, followed by the group/personal distinction, the readUrl note, and the auth requirement. Every sentence 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 simple read-only retrieval tool, the description covers target selection, authentication, and a notable response field. The output schema covers return structure, and the annotations cover safety/idempotency, so nothing an agent needs to call this correctly is missing.

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%, so the schema already documents all four parameters adequately. The description's group_id guidance mostly repeats the schema description, and it does not add material meaning about slug, access_token, or session_request_id beyond what is already in the schema.

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?

The description states a specific verb and resource: 'Returns the current JSON content and metadata of a data slot by slug.' It also distinguishes personal vs group slots, which clarifies how this getter differs from list_data_slots, set_data_slot, and delete_data_slot.

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?

It gives clear usage context: supply group_id for group slots, omit for personal slots. It also notes authentication is required. It does not explicitly name alternative tools or exclusions, but 'by slug' sufficiently implies this is for retrieving a known slot rather than enumerating slots.

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

get_displayGet DisplayA
Read-onlyIdempotent
Inspect

Returns one display's state: status, lock, URLs, settings, language and current content summary. response_format 'detailed' adds browser/runtime facts (screen, viewport, engine), resolved connectivity mode with allowed domains, and full content state (idle content, content URL) — use detailed before generating complex HTML for the display. Use list_displays first to discover IDs. Requires content scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
display_idYes8-character display profile ID from list_displays, e.g. 'ABCD1234'.
access_tokenNoOptional bearer token; prefer session_request_id.
response_formatNoconcise (default) returns key fields; detailed adds runtime facts, connectivity/capabilities and full content state.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
nameNo
lockedNo
statusNo
contentNo
runtimeNo
hasTouchNo
isOnlineNo
settingsNo
setupUrlNo
managedUrlNo
pairingUrlNo
resolutionNo
deviceClassNo
capabilitiesNo
connectivityNo
currentContentNo
effectiveLanguageNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint. Description adds that it returns state and content summary, and details browser/runtime facts for 'detailed'. Also mentions 'Requires content scope' – a permission hint – which adds value beyond annotations.

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?

Two sentences plus a note on detailed usage and list_displays. Front-loaded with purpose. Could be slightly more concise, but overall efficient.

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?

Output schema exists, so no need to describe return values. Description covers two response formats and their use cases, scope requirement. Complete for a read-only tool with good schema coverage.

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%, so baseline 3. Description adds minor guidance (use list_displays for IDs) but does not explain parameter behavior beyond schema. Adequate but not extra helpful.

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?

Description states specific verb 'returns' and resource 'one display's state', listing key fields (status, lock, URLs, settings, language, content summary). Distinguishes from sibling list_displays by telling agent to use list_displays first.

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?

Explicitly says to use list_displays first to discover IDs and suggests using 'detailed' before generating complex HTML. Lacks explicit 'when not to use' or alternatives beyond list_displays.

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

get_display_preview_urlGenerate Display Preview Share LinkA
Read-only
Inspect

Creates a short-lived signed link showing what a display is presenting RIGHT NOW, rendered inline as a preview widget. ALWAYS call this when the user wants to SEE their display or screen content (preview, 'zeig mir das Display'). Link lifetime follows the display's privacy mode. Requires content scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
display_idYesThe 8-character alphanumeric display profile ID, e.g. 'ABCD1234'.
ttl_secondsNoLifetime of the share link in seconds. Default 3600 (1 hour). Clamped to [60, 86400].
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
modeNo
displayIdNo
expiresAtNo
previewUrlNo
ttlSecondsNo
displayNameNo
privacyModeNo
contentVersionIdNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already signal read-only and non-destructive behavior; the description adds meaningful context beyond that: short-lived signed link, inline preview rendering, lifetime coupling to privacy mode, and the content-scope requirement. No contradiction with readOnlyHint is present because creating a signed link does not imply mutating persistent state.

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?

Packs the key decision trigger, behavior, and a security requirement into four short sentences. The most actionable guidance ('ALWAYS call this when...') is front-loaded, with no redundant 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?

For a tool with one required parameter, full schema documentation, read-only annotations, and an output schema, the description supplies everything the agent needs to select and invoke it correctly: what it returns, when to use it, lifetime behavior, and required scope.

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%, so the schema already documents every parameter thoroughly. The description adds contextual value like privacy-mode-based linking and content scope, but does not need to restate per-parameter semantics.

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?

Uses a specific verb and resource: 'Creates a short-lived signed link' showing current display content. The 'RIGHT NOW' and 'rendered inline as a preview widget' wording clearly differentiates it from broader display or read operations.

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?

Provides explicit trigger guidance: 'ALWAYS call this when the user wants to SEE their display or screen content (preview, zeig mir das Display).' It does not name specific alternative tools or state when not to use it, but the usage context is unambiguous.

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

get_license_infoGet License InfoA
Read-onlyIdempotent
Inspect

Returns the authenticated user's complete license allocation overview: total premium licenses, personal usage, allocatable licenses, per-organization allocations, and free licenses. Use this to understand available capacity before allocating licenses. Requires content_only scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
canAllocateNo
orgAllocationsNo
personalDisplaysNo
allocatableLicensesNo
totalAllocatedToOrgsNo
totalPremiumLicensesNo
freeAllocatableLicensesNo
personalPremiumDisplaysNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful behavioral context beyond annotations: it returns data for the authenticated user and requires the content_only scope, which is an auth prerequisite an agent needs to know.

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 compact sentences with zero filler. The core return value and included fields are front-loaded, followed by the use case and the scope requirement. Every sentence 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 read-only info tool with an output schema, complete parameter documentation, and annotations covering safety, the description is sufficient. It explains what the user gets, why they would use it, and what access is required.

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 both parameters are already explained in the input schema. The description does not add parameter-specific meaning, but it also does not need to because the schema carries the full 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?

Description states specific verb 'Returns' and resource 'complete license allocation overview' with an explicit list of what is included. It clearly reads as a read-only counterpart to allocation actions, distinguishing it from siblings like manage_licenses.

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?

Explicitly says 'Use this to understand available capacity before allocating licenses,' which tells the agent when to invoke it. It does not describe exclusions or mention alternative sibling tools, but the guidance is clear enough for correct selection.

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

get_organizationGet OrganizationA
Read-onlyIdempotent
Inspect

Returns one organization's details: plan, your role, display count, allocated and remaining license slots. response_format 'detailed' adds the full member list (with roles) and display list. Use after list_organizations. Requires content scope and membership.

ParametersJSON Schema
NameRequiredDescriptionDefault
org_idYesOrganization ID from list_organizations or get_account.
access_tokenNoOptional bearer token; prefer session_request_id.
response_formatNoconcise (default) returns counts and core fields; detailed adds members and displays arrays.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
planNo
orgIdNo
membersNo
displaysNo
isActiveNo
yourRoleNo
memberCountNo
displayCountNo
allocatedSlotsNo
remainingSlotsNo

TDQS

A4.4/5.0
Behavior4/5

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

Beyond annotations (readOnlyHint, idempotentHint), the description adds behavioral detail on what fields are returned and how response_format alters the output. It does not contradict annotations and provides new context about membership requirements.

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?

The description is two sentences with no wasted words. The first sentence front-loads the main purpose and key fields; the second adds format options and usage prerequisites. Every sentence earns its place.

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?

Given the four parameters and presence of an output schema, the description covers the essential points: returned data, format options, prerequisite, and requirement. It does not detail return structure (handled by output schema) but is sufficient for agent invocation. Minor gap: no mention of rate limits or scope specifics.

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?

With 100% schema coverage, baseline is 3. The description adds meaning to response_format by explaining the difference between 'concise' and 'detailed', and notes that org_id comes from list_organizations or get_account, supplementing the schema's basic descriptions.

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?

The description clearly states the tool returns organization details including specific fields (plan, role, display count, allocated/remaining license slots) and distinguishes between 'concise' and 'detailed' response formats. It differentiates from siblings like list_organizations by focusing on a single organization and listing specific data.

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?

The description explicitly advises 'Use after list_organizations' and 'Requires content scope and membership,' giving clear context for when to invoke. It does not exclude other scenarios or mention alternatives, but the guidance is sufficient for most use cases.

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

get_public_statusGet Public StatusA
Read-onlyIdempotent
Inspect

Returns the server's public readiness status, version string and discovery URLs. Use this before authenticating to verify the server is reachable and to obtain entry-point URLs. No authentication required. Returns status ('ready'), server name, version, statusUrl and instructionsUrl.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
serverNo
statusNo
versionNo
statusUrlNo
instructionsUrlNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds useful behavioral context by specifying it is a public, unauthenticated endpoint and listing the returned fields, which goes beyond the annotations without contradicting them.

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?

The description is two sentences with no filler. It front-loads the primary result, then provides usage guidance and authentication context, making every sentence valuable.

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?

Given the tool has no parameters, an output schema, and clear annotations, the description fully covers when to use it, what it returns, and the authentication requirement. Nothing an agent needs to call it correctly is missing.

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?

The tool has zero parameters, so the schema fully covers the input surface. The description correctly adds no parameter information, and the baseline for a no-parameter tool applies.

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?

The description clearly states the tool returns the server's public readiness status, version string, and discovery URLs. It uses a specific verb and resource, and it distinguishes itself from authenticated siblings by emphasizing it is called before authenticating and requires no authentication.

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?

The description explicitly says to use this tool before authenticating to verify server reachability and obtain entry-point URLs. It also notes no authentication is required, giving clear context, though it does not explicitly name exclusion cases or alternatives among siblings.

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

get_storage_usageGet Storage UsageA
Read-onlyIdempotent
Inspect

Returns the storage pool snapshot (used, limit and remaining bytes) for the personal scope or a group — data slots and uploaded assets share this quota; check before large set_data_slot or upload_asset writes. Pass slug to additionally scan which displays reference that data slot (do this before delete_data_slot to know which displays would break). Narrowly-scoped API keys get suppressed=true with zeroed numbers. Requires content scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugNoOptional data-slot slug: also report which displays reference it (slotUsage).
group_idNoGroup/organization ID for the group pool. Omit for the personal pool.
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
scopeNo
groupIdNo
slotUsageNo
usedBytesNo
limitBytesNo
suppressedNo
remainingBytesNo

TDQS

A4.9/5.0
Behavior5/5

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

Disclosures beyond annotations: quota sharing between data slots and assets, return fields, optional slug behavior for display references, and suppressed=true for narrow API keys. All consistent with readOnlyHint and idempotentHint annotations.

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 sentences, front-loaded with main purpose, no redundancy. Each sentence provides distinct, valuable information without wasted words.

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?

Given 4 parameters, no required params, and an output schema (implied), the description covers returns, use cases, side conditions, and prerequisites (content scope). Complete for an agent to select and invoke correctly.

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 baseline 3. Description adds meaning: slug also returns which displays reference it (slotUsage) and advises using it before deletions; group_id indicates group vs. personal pool. Adds value beyond schema for key parameters.

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?

The description clearly states the tool returns a storage pool snapshot (used, limit, remaining bytes) for personal or group scope, and distinguishes from siblings by specifying its role before large writes or deletions. The verb 'Returns' and resource 'storage pool snapshot' are specific.

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 advises when to use: 'check before large set_data_slot or upload_asset writes' and 'do this before delete_data_slot to know which displays would break'. It also notes conditions like suppressed results for narrow API keys and required content scope.

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

get_store_template_contentGet Store Template Content (HTML + Slots)A
Read-onlyIdempotent
Inspect

Returns the raw display HTML of a published store template plus its slot definitions and allowed external origins, for editing or embedding the template yourself. {{asset:NAME}} placeholders resolve to public URLs; {{slot:KEY.prop}} stay intact for your own binding. Large HTML is windowed via max_bytes (default 51200) and offset; the result reports totalBytes and truncated. To push a template to a display directly, use send_store_template_to_display instead. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesTemplate slug from search_store_templates, e.g. 'bistro-warm-door'.
offsetNoByte offset into the HTML. Default 0.
versionNoOptional published version id (stpv_…) to pin. Omit for current.
max_bytesNoMaximum HTML bytes to return. Default 51200.

Output Schema

ParametersJSON Schema
NameRequiredDescription
htmlNo
slugNo
slotsNo
offsetNo
versionNo
truncatedNo
totalBytesNo
allowedExternalOriginsNo

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint. Description adds details on HTML windowing (max_bytes, offset, totalBytes, truncated) and placeholder resolution, going beyond annotations.

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 sentences, front-loaded with purpose, then behavior, then windowing and alternative. No wasted words.

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?

Covers all needed context: template slug source, placeholders, windowing, alternative tool. Output schema exists so return values not needed.

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%. Description adds context: placeholders resolve to public URLs, slots stay intact, windowing relates to totalBytes/truncated.

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?

Description clearly states it returns raw display HTML, slot definitions, and allowed origins. It specifies the resource and distinguishes from send_store_template_to_display.

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 to use (editing/embedding) and when not (pushing to display via alternative). Provides context on placeholders and windowing.

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

get_store_template_detailsGet Store Template DetailsA
Read-onlyIdempotent
Inspect

Returns full details of one store template: localized title and description, long-form markdown, category, suite, tags, features, preview image and agentArtifacts (bot-onboarding files such as system prompts, Agent Skills SKILL.md, MCP config). Use after search_store_templates before recommending or installing; when agentArtifacts is non-empty, fetch bodies via get_agent_artifact. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesThe template slug (English kebab-case) returned by search_store_templates, e.g. 'bistro-warm-door' or 'agent-ops-cyan-wall'.
languageNoPreferred content language. Defaults to 'en'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
slugNo
tagsNo
suiteNo
themeNo
titleNo
categoryNo
featuredNo
featuresNo
fileNameNo
placementNo
detailPathNo
sourceKindNo
descriptionNo
designStyleNo
previewPathNo
publishedAtNo
introMarkdownNo
setupMarkdownNo
agentArtifactsNoAgent-onboarding files shipped with the template (system prompts, Agent Skills standard SKILL.md, MCP config snippets). Empty array when the template ships none. Body lives behind get_agent_artifact (slug = raw, display_id = substituted).
previewImageUrlNo
audienceMarkdownNo
suiteDescriptionNo
useCasesMarkdownNo
categoryDescriptionNo

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already cover readOnlyHint, idempotentHint, destructiveHint, so the bar is lower. The description adds 'No authentication required', which is valuable behavioral context not in annotations.

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 efficient sentences: first succinctly lists return fields, second provides usage sequence. No extraneous information, front-loaded with key details.

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?

Given the tool's low complexity and presence of output schema, the description adequately covers purpose, usage context, behavioral traits, and parameter guidance without gaps.

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 description coverage is 100% (both parameters have detailed descriptions), so baseline is 3. The description reinforces the slug's origin and language default, adding minimal extra value. However, it doesn't introduce new parameter constraints, so 4 is appropriate.

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?

The description explicitly states 'Returns full details of one store template' and lists specific fields (localized title, description, markdown, etc.), making the verb and resource clear. It also distinguishes from siblings by referencing search_store_templates and get_agent_artifact.

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?

Provides explicit guidance: 'Use after search_store_templates before recommending or installing; when agentArtifacts is non-empty, fetch bodies via get_agent_artifact.' This clearly states when to use and suggests a follow-up action.

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

get_store_template_install_optionsGet Store Template Install OptionsA
Read-onlyIdempotent
Inspect

Returns the displays the user can install a store template on plus the data slots it needs (key, label, type, required). Call before send_store_template_to_display. An empty displays list means the user must first set up a display (pair_by_code). Requires content scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesTemplate slug returned by search_store_templates, e.g. 'bistro-warm-door'.
languageNoPreferred UI language for labels. Defaults to 'en'.
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
displaysNo
languageNo
templateSlugNo
requiredDataSlotsNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint, idempotentHint, destructiveHint. Description adds 'Requires content scope' authorization context. No contradictions; adds value beyond annotations.

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 sentences, all essential: purpose, prerequisite, edge case. No redundant words, front-loaded with key action.

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?

Has output schema for return values, annotations for safety, parameters fully documented, and description covers usage order and edge case. Complete for this tool's complexity.

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%, baseline 3. Description enhances slug with 'returned by search_store_templates', language as 'preferred UI language', and clarifies access_token vs session_request_id usage.

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?

The description clearly states it returns displays and data slots for a store template, with specific fields like key, label, type, required. It distinguishes from sibling tools like send_store_template_to_display and search_store_templates.

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?

Explicitly says 'Call before send_store_template_to_display', providing clear sequential usage. Also notes the empty displays list implies setup with pair_by_code, but does not exhaustively list when not to use.

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

list_api_keysList API KeysA
Read-onlyIdempotent
Inspect

Lists all API keys for the current user. Returns key metadata (prefix, name, scope, dates) but never the raw key. Requires admin scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
keysNo
countNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already mark the tool read-only, idempotent, and non-destructive. The description adds meaningful behavior beyond those hints: it returns only metadata (prefix, name, scope, dates), never the raw key, and requires admin scope. This is useful context for an agent deciding whether the call satisfies a request.

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?

The description is three short sentences with no filler. It front-loads the core action, then supplies the key behavioral caveat and the admin-scope requirement. Every sentence 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?

Given that an output schema exists (so return value details are handled elsewhere) and annotations cover safety, the description provides the remaining necessary context: current-user scope, admin requirement, and the fact that raw keys are never exposed. Nothing essential is missing for an agent to invoke this tool correctly.

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%, so both parameters (access_token and session_request_id) are already well-documented in the input schema. The description does not add parameter-specific semantics, but with full schema coverage the baseline score of 3 is appropriate.

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: 'Lists all API keys for the current user.' It also clarifies that raw keys are never returned, which distinguishes it from key-creation or key-revocation siblings. The scope (current user) and metadata-only behavior make the tool's purpose unambiguous.

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?

The description implies usage when you need to enumerate API keys, but it does not explicitly name alternatives like create_api_key or revoke_api_key, nor does it state when not to use this tool. The admin-scope requirement and current-user context provide some guidance, but routing is left to inference.

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

list_assetsList AssetsA
Read-onlyIdempotent
Inspect

Lists the user's uploaded assets (images, videos, fonts, documents) with public URLs for use in display HTML. Filter by type, search term or group. Check before upload_asset to avoid duplicates. response_format 'detailed' adds description, size and timestamps per asset. Requires content scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoFilter by MIME category.
limitNoMaximum results (default 50).
searchNoSearch in filename and description.
group_idNoOnly this group's assets. Omit for personal.
access_tokenNoOptional bearer token; prefer session_request_id.
response_formatNoconcise (default): id, name, url, mimeType; detailed adds description, sizeBytes, createdAt.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNo
assetsNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false; description aligns and adds behavior about response_format 'detailed' providing extra fields. No contradictions.

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 sentences, front-loaded with main purpose. No extraneous words. Each sentence adds distinct value: purpose then usage and features.

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 an output schema present, the description appropriately focuses on list behavior, filtering, and response format options. It mentions public URLs for display HTML, covering typical use cases. No missing essential context.

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 has 100% description coverage. Description adds meaning by explaining response_format behavior and that filtering can be by type, search, group. This adds value over the bare schema descriptions.

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?

The description clearly states the tool lists user's uploaded assets, specifies types (images, videos, fonts, documents) and mentions public URLs for display HTML. It distinguishes from sibling tools like upload_asset, delete_asset, update_asset.

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?

Explicitly advises to check before upload_asset to avoid duplicates. Mentions filter options. Does not explicitly state when not to use, but the advice on duplicate checking provides clear usage context.

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

list_data_slotsList Data SlotsA
Read-onlyIdempotent
Inspect

Lists data slots with optional filtering. Returns metadata only (no jsonContent). Each item includes readUrl. Use readUrl in display HTML fetch() calls. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results (default: 50, max: 200).
offsetNoOffset for pagination.
searchNoSearch in label (case-insensitive).
group_idNoGroup/organization ID to list shared group slots. Omit for personal slots.
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNo
slotsNo

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, establishing the safety profile. The description adds meaningful behavioral details beyond annotations: it returns metadata only (no jsonContent), each item includes readUrl, and authentication is required. It also explains the intended downstream use of readUrl, giving the agent important context for interpreting results.

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?

The description is three sentences with zero redundancy: purpose + filtering, return shape, and a directive on using readUrl. The most important scoping constraint (metadata only, no jsonContent) is front-loaded, and every sentence earns its place without repeating schema or annotation information.

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 an output schema present, the description does not need to explain return values in depth. It covers the core purpose, filtering capability, a key behavioral caveat (no jsonContent), the readUrl field, and authentication. Since all parameters are optional and fully described in the schema, the description provides enough context for correct invocation.

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%, so the schema already documents all six parameters. The description mentions 'optional filtering' generically but does not add detail about specific parameters like limit, offset, search, or group_id. Per calibration, a baseline of 3 is appropriate when the schema fully covers parameter semantics.

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?

The description states a specific verb ('Lists') and resource ('data slots') with optional filtering, which clearly defines the operation. It distinguishes itself from sibling tools like get_data_slot (single retrieval) and set_data_slot (write) by explicitly focusing on listing and noting it returns metadata only, not jsonContent. The resource and scope are unmistakable.

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?

The description gives clear context on when to use this tool — for listing data slots with filtering — and provides a practical instruction on using the returned readUrl in display HTML fetch() calls. It does not explicitly name alternatives or exclusion conditions (e.g., use get_data_slot for a single slot), but the context is sufficient for an agent to select it appropriately.

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

list_display_categoriesList Display CategoriesA
Read-onlyIdempotent
Inspect

Lists the authenticated user's personal display categories with stable IDs, paths and assignment counts. Use this to discover existing categories before assigning or replacing categories on a display. Requires authentication with at least content_only scope and display.read capability.

ParametersJSON Schema
NameRequiredDescriptionDefault
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNo
categoriesNo

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds authentication requirements (scope and capability) which is useful context beyond annotations. No contradiction, but behavioral traits are well-covered by annotations, so description adds moderate value.

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?

The description is two sentences: first states the action and output, second provides usage guidance. No redundant words, front-loaded with purpose, and structured for quick scanning.

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?

Given the tool's simplicity (list operation, two optional params, output schema present), the description covers purpose, usage context, and auth requirements completely. The presence of output schema obviates need for return value details.

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%, so schema already documents both parameters. The description adds a preference hint ('prefer session_request_id') but does not substantially augment parameter meaning. Baseline score of 3 is appropriate.

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?

The description uses specific verb 'lists' and resource 'personal display categories' with details (stable IDs, paths, assignment counts). It clearly distinguishes from sibling tools like assign_display_categories and manage_display_category by noting it is for discovery before assignment/replacement.

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?

The description explicitly states when to use the tool: 'before assigning or replacing categories on a display.' It also lists required authentication scope and capability. While it doesn't mention alternative tools or when not to use it, the usage context is clear and actionable.

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

list_displaysList DisplaysA
Read-onlyIdempotent
Inspect

Lists all displays the user can access, with id, name, online status, lock state and device class — the starting point to discover display IDs before get_display, send_html or send_store_template_to_display. Pass org_id to list an organization's displays instead. response_format 'detailed' adds screen/viewport facts, URLs and language per display. To show what a display looks like right now, use get_display_preview_url. Requires content scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
org_idNoOptional organization ID: list that organization's displays (member access required).
access_tokenNoOptional bearer token; prefer session_request_id.
response_formatNoconcise (default) returns key fields per display; detailed adds screen/viewport, URLs and language.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNo
displaysNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations indicate read-only, non-destructive, idempotent. Description adds context on scope (user's displays), output fields, and requirement (content scope), enhancing transparency beyond annotations.

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 clear sentences; front-loaded with purpose, then logically flows to options and alternatives. No redundant information.

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?

Covers output fields, prerequisites, and related tools. For a listing tool with output schema and good annotations, this is complete and sufficient.

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 covers all parameters with descriptions. Description adds no new parameter details beyond reaffirming org_id use and response_format behavior, so baseline score applies.

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?

Clearly states the tool lists all accessible displays with specific fields, and positions it as the starting point for display-specific tools, distinguishing it from siblings.

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?

Provides when to use (before get_display etc.), how to use org_id and response_format, and points to an alternative (get_display_preview_url). Lacks explicit when-not-to-use, but sufficient for a listing tool.

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

list_organizationsList OrganizationsA
Read-onlyIdempotent
Inspect

Returns all organizations the authenticated user belongs to with their role, display count, member count and allocated slots. Use this to answer questions about the user's organizations, how many displays an organization has, or team membership. Requires authentication with at least content_only scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNo
organizationsNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already convey read-only, idempotent, non-destructive behavior. The description adds meaningful context beyond annotations by specifying the required authentication scope ('content_only') and the exact shape of the result set. This helps the agent understand prerequisites and output contents without over-explaining.

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?

The description is two sentences with no filler: the primary behavior is front-loaded, followed by concrete use cases and the authentication requirement. Every sentence 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 read-only listing tool with a rich output schema and complete parameter descriptions, the description provides the essential missing context: what the tool returns, when to use it, and what auth is required. Nothing critical is left unstated.

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%, so both parameters are already well documented in the input schema. The description does not add extra parameter-level detail, but it doesn't need to; the baseline of 3 applies because the schema carries the semantic weight.

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?

The description states a specific verb and resource ('Returns all organizations the authenticated user belongs to') and enumerates the returned fields (role, display count, member count, allocated slots). This clearly distinguishes it from singular-fetch tools like get_organization and from other list tools focused on different resources.

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?

The description explicitly names concrete use cases: answering questions about the user's organizations, display counts, and team membership. It does not provide explicit when-not-to-use guidance or name alternative tools, but the intended context is clear enough for an agent to route correctly.

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

list_store_categoriesList Store CategoriesA
Read-onlyIdempotent
Inspect

Lists all published agentView store categories (e.g. Gastronomie, Wartezimmer, Empfang, Smart Home) with localized titles, descriptions and template counts. Use this to narrow a subsequent search_store_templates call when the user asks for 'templates for a waiting room' or similar. No authentication required. Returns count, language and a categories array where each entry has slug, title, description, templateCount, heroIconKey and detailPath.

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoPreferred content language. Defaults to 'en'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNo
languageNo
categoriesNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true. The description adds that no authentication is needed, returns count/language/categories array with specific fields, and implies use for published categories. No contradictions found.

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 sentences, each serving a distinct purpose: announcement, usage guidance, return structure. No fluff or repetition. Front-loaded with the core purpose.

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?

Given only one simple parameter and an output schema that exists (with described fields), the description is complete. It covers purpose, usage, auth, and return structure effectively.

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% with one parameter 'language' fully described via enum and default. The description does not add additional meaning beyond the schema, which is acceptable; baseline 3 is appropriate.

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?

The description states 'Lists all published agentView store categories' with concrete examples (e.g. Gastronomie, Wartezimmer) and details what each entry contains. It clearly distinguishes from siblings like search_store_templates, which is referenced as a follow-up use.

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?

Explicitly states to use this tool to narrow a subsequent search_store_templates call for user queries like 'templates for a waiting room'. Mentions no authentication required. Could be improved by also stating when not to use it, but the guidance is clear.

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

logoutLogoutA
Idempotent
Inspect

Acknowledgement only: agentView keeps no identity cache on the MCP session, so there is nothing to clear. It does NOT end an agentView login, revoke a token, or invalidate a session_request_id, and it will not reset a failing auth state. To stop acting as the user, stop sending the credential.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
loggedOutNo
sessionBoundNo
transportAuthRequiredNo

TDQS

A4.9/5.0
Behavior5/5

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

The description goes into useful detail beyond the annotations: it clarifies there is no identity cache, no token revocation, no state reset, and that a failing auth state won't be affected. This prevents the agent from assuming real logout behavior. No contradiction with idempotentHint or destructiveHint.

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 the core 'acknowledgement only' statement front-loaded. Each sentence earns its place by adding essential context about limitations and the correct alternative.

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?

Given zero parameters, a present output schema, and supporting annotations, the description fully covers what the tool is, what it lacks in effect, and how to achieve a true logout. Nothing essential is missing.

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?

With zero parameters and 100% schema coverage, there is nothing to document. The description properly emphasizes that the operation is an acknowledgement, which is all that is relevant. Baseline 4 applies.

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?

The description clearly states that this is an acknowledgement-only operation with no identity cache to clear. It explicitly differentiates itself from a real logout by listing what it does NOT do, so an agent can precisely understand the tool's role despite the generic name.

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?

The description gives explicit when-not-to-use guidance: it does not end a login, revoke a token, or invalidate a session_request_id. It also provides the correct alternative — 'stop sending the credential' — making the usage context unmistakable.

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

manage_display_categoryManage Display CategoryA
Destructive
Inspect

Creates or renames a display category (categories group displays for broadcast_content include_category_ids). action 'create' needs name (optional parent_category_id for a subcategory); action 'rename' needs category_id and new_name — assignments and grants stay intact. Discover IDs with list_display_categories; assign displays with assign_display_categories.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoCategory name for action 'create', e.g. 'Reception'.
actionYesOperation to perform.
new_nameNoNew category name (rename only).
category_idNoCategory ID to rename (rename only).
access_tokenNoOptional bearer token; prefer session_request_id.
parent_category_idNoOptional parent category ID (create only) for a subcategory.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
pathNo
oldPathNo
categoryIdNo
parentCategoryIdNo

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already communicate mutation and destructive potential, so the description adds useful context by stating that assignments and grants stay intact on rename. This explains a behavioral consequence beyond what the schema or annotations alone convey, though it doesn't elaborate on all potential side effects.

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 sentences carry substantial, well-organized information: action options, parameter requirements, behavioral note, and pointers to sibling tools. There is no filler and the key distinctions are front-loaded.

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?

Given the 100% schema coverage, output schema availability, and annotations, the description is complete enough for an agent to call the tool correctly. It covers the action-dependent requirements and points to the sibling tools for ID discovery and assignment, leaving no significant functional gap.

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 description coverage is 100%, so each parameter is already documented individually. The description adds action-conditional meaning, specifying which parameters apply to create versus rename and that parent_category_id is create-only, which helps the agent assemble the correct call.

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?

The description uses a specific verb phrase, 'Creates or renames a display category,' and defines the domain concept by noting categories group displays for broadcast_content include_category_ids. This clearly differentiates it from sibling tools like list_display_categories and assign_display_categories.

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?

It explicitly maps each action to its required parameters ('create' needs name; 'rename' needs category_id and new_name), and directs the agent to sibling tools for related tasks: list_display_categories for discovering IDs and assign_display_categories for assigning displays. This is strong when-to-use guidance.

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

manage_licensesManage LicensesA
Destructive
Inspect

Manages premium display licenses: action 'allocate' sets how many license slots an organization gets (licenses, 0 deallocates all), 'assign' binds a free license to a display, 'unassign' releases a display's license back to the pool. Check availability first with get_license_info. Requires admin scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesLicense operation.
org_idNoOrganization ID (action 'allocate').
licensesNoLicense slot count for 'allocate'; 0 deallocates all.
display_idNoDisplay profile ID (actions 'assign' and 'unassign').
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
nameNo
orgIdNo
badgeModeNo
freeLicensesNo
allocatedToOrgNo
isPremiumAssignedNo
personalDisplayLimitNo
freeAllocatableLicensesNo
totalAllocatableLicensesNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already mark this destructive, but the description adds meaningful behavior: 0 deallocates all slots, unassign returns a license to the pool, and admin scope is required. No contradiction exists between description and annotations.

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?

Three sentences with no filler; the action list is front-loaded and the prerequisite/scope warning is compact. The first sentence is long, but its colon-separated structure keeps it readable.

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?

For a multi-action, destructive license tool, it covers all action semantics, the prerequisite lookup, and permission requirement. It does not discuss edge cases or failure states, but the output schema and full parameter schema cover the remaining invocation details.

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%, so the bar for adding value is higher. The description does clarify 'free license' and the allocation/deallocation behavior, but most parameter mappings are already present in the schema, and token/session parameters are left to the schema.

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?

The description names a specific resource ('premium display licenses') and enumerates each action with its exact effect: allocate sets slot counts, assign binds a free license, unassign releases it. This goes beyond mere title repetition and clearly differentiates the tool from read-only license info via get_license_info.

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?

It gives concrete usage context: check availability first with get_license_info and requires admin scope. It does not explicitly spell out when not to use each action, but the action semantics plus prerequisite make the intended flow clear.

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

manage_org_memberManage Org MemberA
Destructive
Inspect

Manages organization membership: action 'invite' adds a member by email with a role, 'set_role' changes a member's role, 'remove' removes the member. Roles for organizations: 'admin' (manage members and displays), 'manager' (manage displays and content), 'viewer' (read-only); families accept 'child'. Requires admin scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNoRole for 'invite' and 'set_role': 'admin', 'manager', 'viewer' (families: 'child').
emailNoEmail address to invite (action 'invite').
actionYesMembership operation.
org_idYesOrganization ID.
access_tokenNoOptional bearer token; prefer session_request_id.
target_user_idNoMember user ID (actions 'set_role' and 'remove').
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
orgIdNo
newRoleNo
removedNo
previousRoleNo
targetUserIdNo
displaysTransferredNo

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the description's mutation nature is consistent. It adds the admin scope requirement and clarifies role semantics, which is useful beyond annotations. However, it does not disclose potential side effects (e.g., notification emails, irreversible removal) or what happens on invalid input. Given annotation coverage, this is a moderate contribution.

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 sentences cover the core actions, roles, and admin requirement without redundancy. The front-loaded action list immediately orients the agent, and no filler exists.

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?

With a 100% schema coverage and an output schema present, the description covers the necessary invocation logic: actions, roles, and authentication scope. It doesn't explain error handling or edge cases, but for a mutation tool with clear schema documentation, this is adequate. Slightly more on expected outcomes would push it to 5, but it's already strong.

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 all parameters are documented. The description adds value by linking parameters to actions (email for invite, target_user_id for set_role/remove) and defining role values, which the schema lists but does not explain in context. This goes beyond simple repetition of the schema.

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?

The description clearly identifies the tool as managing org membership with three specific actions (invite, set_role, remove) and defines the role options. This distinguishes it from other org-related tools like configure_organization or list_organizations, making its purpose unambiguous.

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?

The description explains when each action is appropriate (invite adds a member, set_role changes, remove removes) and lists the valid roles for organizations and families. It also notes the admin scope requirement, giving the agent context for invocation. It could be more explicit about when not to use this tool in favor of siblings, but the action-oriented guidance is strong.

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

pair_by_codePair Display by CodeAInspect

Pairs a physical screen with the 6-character code shown on https://display.agentview.de — the recommended first-time setup: ask the user to open that URL on the TV and read the code, then call this (creates and pairs in one step). Pass target_display_id to rebind an EXISTING display profile onto new hardware instead (keeps name, settings, content). Requires admin. A connector session normally holds content scope only, which is NOT a dead end and does NOT need the connector re-authorized: run create_auth_session with scope 'admin', show the user the loginUrl, poll get_auth_session until active, then call this again with that session_request_id. The handle authorizes the call even when the connector's own token cannot.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe 6-character pairing code shown on the display (e.g. 'AB3K7F').
access_tokenNoOptional bearer token; prefer session_request_id.
profile_nameNoFriendly name for the display (required for new pairing, ignored for rebind). Example: 'Lobby Screen'.
target_display_idNoTo rebind: the existing display profile ID to switch to the new hardware. Omit for new display pairing.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
profileIdNo
linkedHardwareIdNo

TDQS

A5/5.0
Behavior5/5

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

It discloses that the call both creates and pairs in one step and that rebinding keeps name, settings, and content. It further reveals the admin requirement and the auth-scope failure mode, adding valuable context beyond annotations.

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?

The description is dense but front-loaded, opening with the core pair action before moving to rebinding and the auth edge case. Each sentence adds distinct procedural or prerequisite value; no 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?

It covers the happy path, the rebind variant, admin requirements, an authentication recovery flow, and when to poll get_auth_session. Since output schema exists, return values are already covered; nothing needed to call the tool correctly is missing.

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

Parameters5/5

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

Despite 100% schema coverage, the description adds decision rules: profile_name is required for new pairing but ignored on rebind; target_display_id is the switch for rebinding; session_request_id comes from create_auth_session. This materially enriches parameter understanding.

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?

The description opens with a specific action — pairing a physical screen with a 6-character code — and immediately distinguishes first-time pairing from rebinding an existing display profile via target_display_id. This makes it distinct from broader siblings like create_display or claim_display.

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?

It explicitly presents itself as the recommended first-time setup with step-by-step user instructions, and gives the alternative rebind path with target_display_id. It also details when to use create_auth_session/get_auth_session first and explicitly says re-authorization is not needed, providing strong decision guidance.

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

read_display_htmlRead Display HTMLA
Read-onlyIdempotent
Inspect

Reads the raw HTML source currently shown on a display so you can inspect or edit it and push it back with send_html. content_type 'idle' reads the default/fallback content instead. Responses are windowed for large documents: max_bytes (default 51200) and offset page through the source; the result reports totalBytes and truncated. Not for visual previews (use get_display_preview_url). Requires content scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
offsetNoByte offset to start reading from. Default 0.
max_bytesNoMaximum bytes of HTML to return. Default 51200.
display_idYes8-character display profile ID, e.g. 'ABCD1234'.
access_tokenNoOptional bearer token; prefer session_request_id.
content_typeNo'live' (default) reads active content; 'idle' reads default content.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
htmlNo
nameNo
offsetNo
sourceNo
truncatedNo
hasContentNo
htmlLengthNo
totalBytesNo
contentTypeNo

TDQS

A4.7/5.0
Behavior5/5

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

Beyond annotations (readOnly, idempotent, not destructive), the description adds key behaviors: windowed reading with max_bytes and offset, reporting totalBytes and truncated. No contradiction.

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?

Four sentences front-load purpose, then add paging details, then exclusion. No wasted words; every sentence adds value.

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?

Given 6 parameters, 1 required, and an output schema (not shown but acknowledged), the description covers purpose, windowing, alternatives, and prerequisite (content scope). Complete for agent invocation.

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%, baseline 3. Description adds context on paging behavior (max_bytes default, offset) and content_type explanation beyond enum values, but mostly reinforces schema.

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?

The description clearly states it reads raw HTML source shown on a display, distinguishes from get_display_preview_url for visual previews, and explains the content_type parameter for idle vs live content. The verb 'reads' and resource 'HTML source' are specific.

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?

Explicitly says not for visual previews and directs to get_display_preview_url. Mentions pushing back with send_html. But does not provide guidance on when to use access_token vs session_request_id or prerequisites like content scope.

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

remove_display_from_orgRemove Display from OrganizationA
Destructive
Inspect

Removes a display from an organization, clearing its group assignment and all display grants. The display becomes unassigned. Requires admin scope and admin or owner role.

ParametersJSON Schema
NameRequiredDescriptionDefault
org_idYesThe organization ID.
display_idYesThe display profile ID to remove.
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
removedNo
displayIdNo
previousOrgIdNo

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already flag destructive and non-idempotent behavior. The description adds substantial behavioral detail by enumerating the side effects: group assignment is cleared, all display grants are cleared, and the display becomes unassigned. It also discloses the required admin scope and role, which is valuable beyond the structured hints.

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?

The description is two sentences with no filler. It front-loads the action and its immediate effects, then states authorization requirements. Every sentence earns its place.

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?

The description covers the action, the specific side effects, the resulting unassigned state, and the required role/scope. Combined with a full parameter schema and an output schema, this is sufficient for an agent to call the tool correctly. Clearer sibling differentiation would make it fully complete, but the wording already prevents obvious confusion with delete_display.

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 every parameter, including both required IDs and authentication fields, has a description in the schema. The tool description adds no new parameter-level meaning, so the baseline score of 3 is appropriate.

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?

The description states a specific verb ('Removes') and resource ('a display from an organization') and explicitly names the consequences: clearing group assignment and all display grants, with the display becoming unassigned. This clearly differentiates it from destructive siblings like delete_display or clear_display, which have different scopes and effects.

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?

The description conveys when to use the operation: when a display should be disassociated from an organization rather than deleted or merely reconfigured. It also states access requirements (admin scope and admin/owner role), but it does not explicitly name alternative sibling tools or provide exclusions.

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

revoke_api_keyRevoke API KeyA
Destructive
Inspect

Permanently revokes an API key. This is irreversible — the key will immediately stop working. Requires admin scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
key_idYesThe ID of the key to revoke (from list_api_keys).
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
keyIdNo
revokedNo
alreadyRevokedNo

TDQS

A4.3/5.0
Behavior4/5

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

While annotations already mark destructiveHint=true, the description adds valuable behavioral specifics: 'irreversible' and 'immediately stop working,' plus the admin scope requirement. This goes beyond the annotation's binary signal and informs the agent about consequences and authorization needs.

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?

The description is two sentences with zero filler. The action is front-loaded, and the critical irreversible consequence fits naturally into the second clause. Every word 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 destructive action with a clear schema and an output schema present, this description covers the necessary operational details: what happens, when it applies, and the access requirement. Nothing essential is missing for an agent to call it correctly.

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?

The input schema covers all parameters with descriptions (100% coverage), so the schema already documents key_id and the auth tokens. The description adds no additional parameter information, so the baseline of 3 is appropriate.

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?

The description clearly states a specific verb ('revokes') and resource ('API key'), and emphasizes permanence ('permanently revokes'). This differentiates it from siblings like create_api_key and list_api_keys without needing to open their schemas.

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?

The description specifies a key usage condition: 'Requires admin scope.' This gives clear context for when the tool is applicable, though it does not explicitly name alternatives or exclusion cases. The distinction from create/list is implied by the operation itself.

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

search_public_apisSearch Public APIsA
Read-onlyIdempotent
Inspect

Searches a curated catalog of 600+ free public APIs (no key, HTTPS) for embedding live data in display HTML via fetch(): weather, news, finance, sports, images, food and 40+ more categories. Use when generating HTML that needs live internet data. Set list_categories=true to get the category menu with counts instead of search results. Returns docs links, CORS status and fetch() hints. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results, 1-20. Default 10.
queryNoFree-text search, e.g. 'weather forecast', 'bitcoin price', 'jokes'.
categoryNoCategory ID filter, e.g. 'weather', 'finance', 'news'. Omit for all.
cors_onlyNotrue returns only APIs with confirmed browser CORS support. Default false.
list_categoriesNotrue returns all categories with API counts instead of search results.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNo
queryNo
resultsNo
categoryNo
corsOnlyNo
categoriesNo
totalCatalogApisNo

TDQS

A4.6/5.0
Behavior5/5

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

Discloses no authentication required, returns docs links, CORS status, and fetch() hints. Annotations already declare readOnlyHint and idempotentHint, and the description adds context about the curated catalog size and category count.

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?

Two sentences, well front-loaded with purpose and usage. Second sentence is slightly long but packs important details. No wasted words.

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?

Given 5 parameters and output schema present, the description covers key use cases, parameter behavior, and return details. No gaps identified.

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 baseline 3. Description adds value by explaining list_categories behavior beyond schema (returns category menu with counts), and gives query examples like 'weather forecast'.

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?

Description clearly states it searches a curated catalog of free public APIs, specifying the use case for embedding live data in HTML via fetch(). It distinguishes from sibling tools like search or search_store_templates by focusing on public APIs with no auth required.

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?

Explicitly says 'Use when generating HTML that needs live internet data' and describes the list_categories option for category navigation. Does not mention alternatives, but context signals and sibling list provide differentiation.

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

search_store_templatesSearch Store TemplatesA
Read-onlyIdempotent
Inspect

Searches the agentView template store for ready-made display designs ('Zahnarzt-Wartezimmer', 'Bistro', 'reception', ...). Use when the user wants a polished pre-built design instead of generated HTML; results render as a gallery widget. Filter by category, suite and language; paginate with limit/offset. Follow up with get_store_template_details. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of templates to return. Defaults to 10.
queryNoFree-text search over template title, description and tags. Examples: 'Zahnarzt', 'italienisches Bistro', 'conference room'.
suiteNoOptional design-family suite slug (e.g. 'bistro-warm', 'sushi-minimal').
offsetNoOffset into the filtered result set for pagination. Defaults to 0.
categoryNoOptional category slug to restrict the search (English kebab-case, e.g. 'gastronomie', 'waiting-room').
languageNoPreferred content language. Defaults to 'en'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
limitNo
totalNo
offsetNo
languageNo
templatesNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, so the safety profile is clear. The description adds value by noting 'No authentication required' and 'results render as a gallery widget', which are behavioral details beyond what annotations provide. No contradictions.

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?

The description is three sentences, front-loading the core purpose. Each sentence serves a clear function: stating the action and examples (first sentence), usage context (second sentence), and filtering options with follow-up (third sentence). No redundant or unnecessary words.

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?

Given the tool has 6 parameters, all schemas are complete, and there is an output schema (mentioned as gallery widget). The description provides enough context for an agent to decide when to use this tool and how to construct the search, including the follow-up step. The absence of return value details is compensated by the output schema reference.

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 description coverage is 100%, so the schema already documents all 6 parameters. The description adds practical examples for 'query' (e.g., 'Zahnarzt', 'italienisches Bistro') and clarifies 'suite' and 'category' as optional filters, enhancing the semantic understanding of how to use the parameters.

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?

The description uses a specific verb ('Searches') and resource ('agentView template store for ready-made display designs'), with concrete examples like 'Zahnarzt-Wartezimmer'. It clearly distinguishes from siblings such as list_store_categories and get_store_template_details by noting the follow-up action and the gallery widget rendering.

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?

The description explicitly states when to use this tool: 'when the user wants a polished pre-built design instead of generated HTML'. It also explains how to filter and paginate, and recommends following up with get_store_template_details. While it doesn't explicitly exclude alternatives, the context is clear enough.

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

send_htmlSend HTMLA
Destructive
Inspect

Shows HTML content on a display: menus, dashboards, welcome pages, schedules or any custom design. slot 'live' (default) replaces the current content; slot 'idle' stores the default/fallback content shown when nothing live is active (idle requires admin scope). Always pass a short description so later content reads stay meaningful. Exactly one of html or base64_html. For external web pages use send_url; to edit current content call read_display_html first. For polished results load prompt render_premium_display_html or resource agentview://public/design-system. Requires content scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
htmlNoComplete HTML document to render. Mutually exclusive with base64_html.
slotNoTarget slot: 'live' (default) replaces current content; 'idle' sets the default shown when idle (admin scope).
tokenNoDisplay-specific demo/preview token for unauthenticated access. NOT the OAuth token.
durationNoSeconds the content stays; 0 = indefinite (default). Live slot only.
display_idYes8-character display profile ID, e.g. 'ABCD1234'.
base64_htmlNoBase64-encoded HTML (standard base64). Use only when raw HTML cannot survive JSON transport. Mutually exclusive with html.
descriptionYesShort human-readable summary of the content, e.g. 'Weekly KPI dashboard'.
access_tokenNoOptional bearer token; prefer session_request_id. Distinct from the display-specific 'token'.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
nameNo
idleFileNo
idleVersionNo
idleContentClearedNo

TDQS

A4.8/5.0
Behavior5/5

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

Beyond the destructiveHint annotation, the description discloses exactly what gets affected: the 'live' slot replaces current content, while 'idle' stores fallback content. It also reveals authentication requirements ('idle requires admin scope', 'Requires content scope') and explains why a description parameter matters ('so later content reads stay meaningful'). This adds meaningful behavioral context beyond the structured annotations.

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 description is dense but front-loaded with the core purpose. Every sentence contributes something important—slot semantics, mutual exclusivity, alternatives, scope, and design resources. It is slightly longer than strictly necessary, but the information is well-ordered and free of 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?

For a tool with 9 parameters and an output schema, the description covers the critical operational context: slot behavior, encoding constraint, required description, scope requirements, and alternatives. It doesn't need to explain return values because the output schema exists, and it doesn't omit any information an agent needs to call the tool correctly.

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 parameters are already well-documented. The description still adds value by emphasizing the mutual exclusivity between html and base64_html, and by instructing the agent to always provide a short description. It does not repeat every schema detail, but the added cross-parameter guidance lifts it above the baseline.

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?

The description names a specific action ('Shows HTML content on a display') and identifies the resource (a display) with concrete use cases (menus, dashboards, schedules). It further distinguishes itself by naming alternatives: 'For external web pages use send_url; to edit current content call read_display_html first.' This makes the tool's purpose unmistakable and separates it from related siblings.

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?

The description gives explicit when-to-use guidance: it tells the agent to use send_url for external pages and read_display_html before editing current content. It also states hard usage rules like 'Exactly one of html or base64_html', 'Always pass a short description', and the admin-scope requirement for the idle slot. This is clearly actionable guidance for selecting and invoking the tool.

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

send_store_template_to_displaySend Store Template to DisplayA
DestructiveIdempotent
Inspect

Installs a published store template onto a display: materializes the HTML, auto-creates required data slots (reusing prior installs) and publishes within seconds. Call get_store_template_install_options first for valid targets and slots; customize per-slot JSON inline via data_slot_overrides (raw JSON string or inline object per key, max 64 KiB each). Requires content scope and control access to the display.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesTemplate slug to install, e.g. 'bistro-warm-door'. Must be a currently published template.
display_idYesDisplay profile ID (8-char alphanumeric) from list_displays or get_store_template_install_options.
access_tokenNoOptional bearer token; prefer session_request_id.
idempotency_keyNoOptional opaque key (max 128 chars) to make this install retry-safe. If a previous successful install for the same (user, display, idempotency_key) tuple exists within 24 hours, the cached result is returned without re-publishing. Use this when an MCP client may retry the call after a network timeout (e.g. ChatGPT and other LLM hosts retry tool calls automatically) so the user doesn't see the display flicker through two near-identical installs. Recommended format: a UUID generated client-side per user request.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.
data_slot_overridesNoOptional { key: value } map keyed by data-slot key (see requiredDataSlots). Each value is JSON payload to install into that slot — either a string of raw JSON or an inline object/array. Unknown keys are silently dropped; malformed JSON fails with invalid_slot_override. Per-slot payload capped at 64 KiB, max 64 overrides per call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
fileNameNo
displayIdNo
versionIdNo
templateSlugNo
overrideCountNo
installedSlotsNo
contentVersionIdNo

TDQS

A4.6/5.0
Behavior5/5

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

Description discloses important behaviors: auto-creates data slots reusing prior installs, publishes within seconds, idempotency key behavior (24-hour cache, retry-safety). Annotations indicate destructive and idempotent, and description aligns without contradiction. Adds substantial context beyond annotations.

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?

Single paragraph, front-loaded with purpose. Every sentence serves a purpose (purpose, prerequisite, parameter details, access). No redundant or missing information.

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?

Covers prerequisites, idempotency, overrides, and access requirements. Output schema exists so return values are handled elsewhere. For a complex tool with 6 params and nested objects, the description is sufficiently complete.

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%, baseline 3. Description adds meaningful details: for data_slot_overrides (unknown keys dropped, malformed JSON fails, size/quantity limits), for idempotency_key (usage with retry scenarios, format recommendation). Adds value beyond schema.

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?

Description starts with a specific verb+resource: 'Installs a published store template onto a display' and further details materializing HTML, auto-creating data slots, and publishing within seconds. Clearly distinguishes from siblings like send_html or get_store_template_install_options.

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?

Explicitly states to call get_store_template_install_options first for valid targets and slots, and mentions required access (content scope and control access). Provides clear context but does not explicitly mention when not to use this tool versus alternatives.

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

send_urlSend URLA
Destructive
Inspect

Shows an external web page on a display via full-page iframe: dashboards, websites or web apps. slot 'live' (default) replaces current content; slot 'idle' stores it as default/fallback content (admin scope). The URL must be absolute HTTP(S). Check get_display (response_format 'detailed') first when unsure about connectivity or embedding limits. If the page design is not display-ready, prefer send_html with generated content. Requires content scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesAbsolute HTTP or HTTPS URL to load, e.g. 'https://example.com/dashboard'.
slotNo'live' (default) or 'idle' for default/fallback content (admin scope).
durationNoSeconds the content stays; 0 = indefinite (default). Live slot only.
display_idYes8-character display profile ID, e.g. 'ABCD1234'.
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.
content_descriptionNoShort summary of what the page shows (recommended).

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
nameNo
idleFileNo
idleVersionNo
idleContentClearedNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, and the description adds meaningful behavioral context: slot 'live' replaces current content, slot 'idle' stores default/fallback content, requires content scope, and URL must be absolute HTTP(S). It stops short of explicitly stating irreversibility or consequences of replacement, but 'replaces' plus the destructive annotation cover the core side effect.

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?

The description is three compact sentences with the core action and slot behavior front-loaded. Every sentence earns its place: purpose, operational constraints, and usage guidance. There is no filler or redundant repetition.

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?

Given the rich schema coverage and output schema, the description provides the missing operational context: slot semantics, scope requirement, URL constraints, and when to check get_display or switch to send_html. Nothing essential for an agent to call this tool correctly is absent.

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%, so the schema carries the parameter documentation burden. The description mostly restates slot semantics and the absolute-URL constraint that already appear in the schema, adding little new parameter-level meaning beyond the general guidance to prefer send_html for non-display-ready pages.

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?

The description names a specific verb ('Shows'), a specific resource ('external web page on a display'), and the mechanism ('full-page iframe'). It also distinguishes the intent from the sibling send_html by noting it is for display-ready dashboards/websites/web apps, so an agent can tell this tool apart at a glance.

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?

The description gives explicit routing guidance: check get_display (response_format 'detailed') when unsure about connectivity or embedding limits, and prefer send_html when the page design is not display-ready. It also states the content scope requirement, leaving little to inference.

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

set_data_slotSet Data SlotA
DestructiveIdempotent
Inspect

Creates or updates a mutable JSON data slot (max 2 MB) that display HTML fetches via its readUrl — the live-data backbone for store templates. The slug is stable; reusing it updates in place. type 'value' stores JSON verbatim; 'aggregate' composes up to 32 sources ({slot:'name'} or one {prefixMatch:'agent-'}) within the same personal/group scope. Requires content scope. Returns slug, readUrl and size.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesStable slug for the data slot. Must match ^[A-Za-z0-9_-]{8,64}$. Same slug on a later call updates the existing slot. Slug stays exactly as supplied; the public URL uses a separate server-generated PublicId so the slug itself is never sensitive.
typeNoSlot kind. 'value' (default) stores 'content' verbatim. 'aggregate' stores 'content' as a composite-slot definition. Immutable after creation.
labelNoHuman-readable label (max 200 chars). Required when creating a new slot; optional on update.
contentYesJSON content to store. For value slots: any valid JSON value up to 2 MB. For aggregate slots: a definition object { sources: [{slot,as?} | {prefixMatch}], onMissing?, onInvalidJson?, includeMeta?, staleAfterMs?, output? }.
group_idNoGroup/organization ID for shared group slots. Omit for personal slots.
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
slugNo
typeNo
labelNo
groupIdNo
readUrlNo
sizeBytesNo
updatedAtNo

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already signal readOnly=false, idempotent=true, and destructive=true, and the description adds meaningful behavior beyond that: the 2 MB cap, in-place replacement via a stable slug, aggregate composition rules, scope constraint, and returned fields. This significantly enriches the annotation-only picture without contradicting it.

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?

Four dense sentences, each carrying distinct information: core behavior, mutation semantics, type semantics, and auth/return information. No filler or redundancy; the most critical facts are front-loaded.

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 an output schema present and full schema coverage for all 7 parameters, the description supplies the remaining operational context: size limit, update semantics, aggregation behavior, scope requirements, and return value highlights. An agent has enough to invoke this tool correctly and interpret its role among related data-slot tools.

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%, so the baseline is 3. The description does add high-level meaning by explaining the difference between 'value' and 'aggregate' contents and the 32-source composition rule, but it mostly reinforces what the parameter descriptions already state rather than introducing substantial new parameter semantics.

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?

The description opens with a specific verb and resource: 'Creates or updates a mutable JSON data slot' and attaches a concrete purpose ('display HTML fetches via its readUrl'). It also distinguishes the two behavioral modes ('value' vs 'aggregate'), separating this tool from sibling list/get/delete data-slot tools without ambiguity.

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?

The description makes the intended use explicit: this is 'the live-data backbone for store templates' and explains when each type is appropriate ('value' stores verbatim, 'aggregate' composes multiple sources). It does not name alternatives explicitly, but the context is clear enough to route an agent to this tool for mutable slot creation/updating rather than read/delete operations.

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

set_display_grantSet Display GrantA
DestructiveIdempotent
Inspect

Grants or revokes a member's access to one display inside an organization. action 'set' (default) creates/updates the grant with access_level 'view' (see status) or 'control' (send content); action 'remove' revokes it. The target user must be an organization member. Requires admin scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNo'set' (default) creates/updates the grant; 'remove' revokes it.
org_idYesOrganization ID.
display_idYesDisplay profile ID.
access_levelNoRequired for action 'set'.
access_tokenNoOptional bearer token; prefer session_request_id.
target_user_idYesUser to grant or revoke.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
grantedNo
removedNo
displayIdNo
accessLevelNo
targetUserIdNo

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true, and idempotentHint=true, so the mutation/destructive nature is covered. The description adds meaningful context beyond annotations by explaining what 'set' and 'remove' do, defining access levels, and stating the admin scope requirement. No contradiction with annotations.

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 concise sentences cover purpose, actions, access levels, prerequisites, and permissions without any filler. The main purpose is front-loaded, and every sentence earns its place.

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?

Given the output schema exists, return values do not need to be explained. The description covers the required member condition, admin scope, action semantics, and access-level meanings. It is slightly light on what happens if access_level is provided with action 'remove', but this is a minor edge case given the schema already marks it as only required for 'set'.

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. The description goes beyond the schema by explaining the 'view' access level as 'see status' and 'control' as 'send content', and by clarifying the default behavior of 'action'. This adds useful meaning not present in the parameter descriptions.

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?

The description uses a specific verb ('Grants or revokes') and names the exact resource ('a member's access to one display inside an organization'). It clearly distinguishes this from sibling tools like manage_org_member or assign_display_categories by focusing on display-level grants.

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?

The description provides clear context: it explains the default action, the two actions, and explicitly states prerequisites ('target user must be an organization member' and 'Requires admin scope'). It does not explicitly name alternatives or say when not to use it, but the provided conditions are sufficient for an agent to infer appropriate usage.

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

submit_feedbackSubmit FeedbackAInspect

Sends the user's feedback, feature request or bug report about agentView itself (not display content) for later review. Confirm the exact wording with the user before sending; optional sentiment. There is no automatic reply. Requires content scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesThe user's verbatim feedback text (max 2000 characters). Pass what the user actually said; do not paraphrase or add your own commentary.
sentimentNoOptional overall sentiment of the feedback. Set only when the user's tone is clear; omit if unsure.
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
idNo
statusNo

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already mark the operation as non-readOnly and non-destructive. The description adds meaningful behavioral context: the feedback is sent for later review, there is no automatic reply, and content scope is required, which is not visible from the schema alone.

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?

The description is four short sentences with the primary action front-loaded and no filler. Every sentence contributes: what it sends, confirmation behavior, no-reply expectation, and required scope.

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?

With a full output schema, complete parameter descriptions, and annotations, the description covers the key prerequisites and expectations. The only minor gap is that 'content scope' is not elaborated, but the phrase still signals a required precondition.

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%, with each parameter already documented, including 'prefer session_request_id'. The description reinforces the verbatim-message requirement and optional sentiment but adds no meaning beyond what the schema already provides.

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?

The description clearly states the verb 'Sends' and identifies the resource as the user's feedback, feature request, or bug report about agentView itself, not display content. This scoping distinguishes it from content-sending sibling tools like broadcast_content or send_html.

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?

It gives clear usage context: use for feedback about agentView, confirm wording with the user, sentiment is optional, and there is no automatic reply. The explicit 'not display content' exclusion serves as a when-not signal, though it does not name an alternative tool.

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

test_display_contentTest Display ContentA
Read-onlyIdempotent
Inspect

Dry-run validator for generated HTML: runs agentView's size and description checks WITHOUT touching a real display. Use after composing complex HTML and before send_html or broadcast_content. No display_id needed; the response carries simulated=true. Capped at 1 MB. Requires authentication.

ParametersJSON Schema
NameRequiredDescriptionDefault
htmlNoComplete HTML document to validate. Mutually exclusive with base64_html — provide exactly one.
base64_htmlNoBase64-encoded HTML payload. Mutually exclusive with html.
descriptionYesShort human-readable description of what the HTML represents (1-1000 chars). Same validation rules as send_html.
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
hintNo
successNo
displayIdNo
simulatedNo
sizeBytesNo
descriptionNo
displayNameNo

TDQS

A4.6/5.0
Behavior5/5

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

Discloses important behavior beyond annotations: 'simulated=true', 'capped at 1 MB', 'requires authentication', and 'without touching a real display'. These complement the readOnly/idempotent hints without contradiction, giving the agent a full safety profile.

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 sentences, front-loaded with the core purpose, followed by usage, response marker, limit, and auth. No wasted words; each clause adds essential information.

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?

Given an output schema exists, the description need not detail return values. It covers purpose, usage context, simulation flag, size cap, and auth. It lacks a few details like how access_token vs session_request_id are handled, but those are fully documented in the schema, so it is nearly complete.

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%, so the baseline is 3. The description adds minimal parameter-specific value beyond clarifying that no display_id is needed (which isn't a parameter). It does not elaborate on html/base64_html mutual exclusivity, but the schema already covers that.

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?

The description clearly states it's a 'Dry-run validator for generated HTML' with a specific verb and resource. It explicitly differentiates from siblings by saying 'before send_html or broadcast_content' and mentioning 'no display_id needed', making its scope unambiguous.

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 instructs 'Use after composing complex HTML and before send_html or broadcast_content', providing a clear temporal context and naming alternative tools. This is direct guidance on when and when not to use it.

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

update_assetUpdate AssetA
DestructiveIdempotent
Inspect

Updates the name and/or description of an existing asset. The URL does not change. At least one of name or description must be provided. Requires authentication with at least content_only scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew filename for the asset.
asset_idYesThe asset ID to update.
descriptionNoNew description for the asset.
access_tokenNoOptional bearer token; prefer session_request_id.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlNo
nameNo
sizeNo
asset_idNo
mime_typeNo
descriptionNo

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already convey mutation (readOnlyHint=false, destructiveHint=true) and idempotency. The description adds value by stating the URL invariant, the required input constraint, and the auth scope. It does not elaborate on the destructive overwrite behavior, but the annotations cover the safety profile.

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 front-load the purpose and key constraint before moving to authentication. Every sentence earns its place and there is no 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?

For a five-parameter update tool with full schema coverage, an output schema, and safety annotations, the description supplies the remaining actionable details: required field combination, URL stability, and auth scope. Nothing an agent needs to call it correctly is missing.

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. The description goes beyond the schema by clarifying that at least one of name/description is required even though the schema marks only asset_id as required, and by noting the URL remains unchanged. This adds meaningful semantic context for invocation.

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?

The description states a specific verb ('Updates') and resource ('existing asset'), and narrows the operation to 'name and/or description' while noting the URL does not change. This clearly distinguishes update_asset from siblings like upload_asset, get_asset, and delete_asset.

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?

It gives clear usage constraints: at least one of name or description must be provided, and authentication requires at least content_only scope. It does not explicitly call out when to prefer upload_asset vs update_asset, but the scope and prerequisites are stated clearly enough for an agent to decide.

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

upload_assetUpload AssetAInspect

Upload one or more files (images, fonts, CSS, video, etc.) as assets and receive stable URLs. Use these URLs in your HTML with or @font-face. Assets are cached on displays. Pass files as base64-encoded data. Requires authentication with at least content_only scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
filesYesArray of file objects, each with 'name' (filename with extension) and 'data' (base64-encoded content).
group_idNoOptional group ID to associate the assets with.
access_tokenNoOptional bearer token; prefer session_request_id.
descriptionsYesJSON object mapping each filename to a human-readable description.
session_request_idNoSession handle from create_auth_session; pass it on every authenticated call.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countNo
assetsNo

TDQS

A4.2/5.0
Behavior4/5

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

Beyond annotations, the description adds meaningful behavioral details: files are base64-encoded, assets are cached on displays, and authentication requires at least content_only scope. It does not contradict annotations and provides useful operational context.

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?

The description is tightly written: purpose, usage context, encoding behavior, and auth requirement each earn their place. It is front-loaded with the core action and avoids redundant filler.

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?

Given the schema and output schema cover structured details, the description is nearly complete: it explains the main use case, encoding requirement, cache behavior, and auth constraints. The required 'descriptions' parameter is not highlighted in prose, but the schema documents it fully.

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%, so the baseline is 3. The description reinforces that files are base64-encoded and supports multiple files, but it adds little meaning beyond what the schema already documents for individual parameters.

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?

The description uses a specific verb ('Upload') and resource ('files... as assets') and clearly states the outcome ('receive stable URLs'). It differentiates from sibling tools by framing uploads against delete/get/list/update assets with no ambiguity.

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?

Clear use context is provided: upload files to be referenced in HTML via <img src> or @font-face, with stable URLs and display caching. It does not explicitly name alternatives or say when not to use this tool, but the context is strong enough to guide selection.

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

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to create and manage customizable dashboards with text, list, stats, progress, and chart widgets, accessible via a read-only web viewer and JSON API.
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to create projects, post rich status updates with images and video, claim tasks, read replies, and gate work behind user approvals over a live browser dashboard.
    3
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to create interactive charts, diagrams, and tables displayed on a real-time dashboard, supporting multiple data sources with privacy-focused local execution.
    1
    MIT
  • A
    license
    A
    quality
    F
    maintenance
    Enables AI agents to build freeform dashboards for e-ink panels by listing widgets and devices, laying out a canvas, rendering a preview, and pushing to the panel.
    18
    AGPL 3.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4/5.0
Disambiguation4/5

Most tools map cleanly to distinct resource-action pairs (displays, organizations, assets, data slots, store templates, auth). A few clusters like the get_store_template_* family and the auth/session tools could still confuse an agent, but their descriptions are explicit enough to separate them.

Naming Consistency4/5

The dominant pattern is consistent verb_noun snake_case (list_*, get_*, create_*, delete_*, send_*, set_*, manage_*). Deviations like fetch, search, authenticate, logout, and pair_by_code are understandable but break the otherwise uniform naming scheme.

Tool Count1/5

With 57 tools this server far exceeds the 50+ threshold, creating an extreme tool-set size for an MCP server. Even though the underlying platform is feature-rich, the sheer number of tools heavily taxes context and selection.

Completeness4/5

The surface covers display, organization, asset, data slot, store template, auth, API key, and licensing lifecycles in impressive depth. Minor gaps exist, such as no delete operation for display categories and no reboot/power control for displays.

Resources