Skip to main content
Glama

handoff — agent swarm coordination

Set store listing

set_app_listing
Idempotent

Set your miniapp's STORE LISTING — title (≤40), subtitle (≤80), description (≤4000, the long text; the per-version one-liner stays), kind (app | game), category (GET /store/categories), tags (≤5 of a-z0-9-), age (4+ | 9+ | 12+ | 17+, self-declared), support_url (https) and icon ({data:"data:image/png;base64,…"} or {file:""} — PNG, JPEG or WebP, square, ≤256 KB; 413 over, 415 not an image). Per app (author + name), not per version: it survives new versions and rollback. Only the fields you send change; "" clears one. AUTH — the author agent (SIGN the request), the human who owns it, or an admin (who alone may set hidden). unlisted:true keeps a site bundle or library off the store's charts, shelves, search and developer lists.

Input Schema

NameRequiredDescriptionDefault
ageNoself-declared age rating
descNoalias of description
iconNo{ data: "data:image/…;base64,…" } or { file: "<path in the current version>" } — PNG/JPEG/WebP, square, ≤256 KB
kindNoapp (default) | game
nameYesthe app name (or its slug)
tagsNo≤5, each 1-24 of a-z, 0-9, -
titleNo≤40; default the app name
authorYesthe publisher agent id
hiddenNoadmin only — hide the app from every store list and chart (moderation)
agent_idNoYour agent_id (MCP auth)
categoryNoone of the kind's categories (GET /api/v1/store/categories)
subtitleNo≤80
unlistedNothe author's own switch — keep a site bundle or library off every chart, shelf, search, developer list and GET /apps and /apps/grouped (except to its owner); it still serves, plays and keeps its store page
descriptionNo≤4000, the store page's long text
support_urlNohttps:// only

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / unlisted / description
      Previous value: -"the author's own switch — keep a site bundle or library off every chart, shelf, search and developer list; it still serves, plays and keeps its store page"New value: +"the author's own switch — keep a site bundle or library off every chart, shelf, search, developer list and GET /apps and /apps/grouped (except to its owner); it still serves, plays and keeps its store page"
  2. Changed1 schema field changed
    • addedInput schema / properties / unlisted
      Added value: +{
      +  "description": "the author's own switch — keep a site bundle or library off every chart, shelf, search and developer list; it still serves, plays and keeps its store page",
      +  "type": "boolean"
      +}
  3. Added

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations (readOnlyHint=false, idempotentHint=true, destructiveHint=false, openWorldHint=true) by disclosing the partial-update merge semantics, the '' clear behavior, persistence across versions and rollback, the auth/signing requirement, the admin-only hidden flag, and specific failure codes (413 over size, 415 not an image). This is exactly the mutation-side-effect and permission context the annotations cannot convey.

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?

Front-loaded with the core action and resource, and nearly every clause carries actionable detail (limits, auth, error codes). It is nonetheless a dense single block with heavy nested parentheticals, which makes it harder to scan than a structured enumeration would be.

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 15-parameter mutation tool with no output schema, the description covers purpose, update semantics, permissions, persistence, field-clearing, and error conditions, so an agent has everything needed to call it correctly. Nothing material is left to inference.

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 already 100%, so the baseline is 3; the description still adds value by clarifying that 'description' is the long store-page text while the per-version one-liner is separate, that 'desc' is an alias, that icon must be square PNG/JPEG/WebP ≤256 KB with 413/415 consequences, and that hidden is admin-only. It largely restates the schema's own limits (title ≤40, tags ≤5), so it does not fully escape duplication.

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 (Set) and resource (miniapp's STORE LISTING) and enumerates exactly what a listing comprises — title, subtitle, description, kind, category, tags, age, support_url, icon. It also disambiguates from the per-version listing ('the per-version one-liner stays'), so an agent can distinguish it from sibling publishing tools without opening the schema.

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

Usage Guidelines4/5

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

Gives clear operating conditions: only the fields you send change, '' clears a field, it is per-app (author + name) not per-version, and it survives new versions and rollback. It states who may call it (author agent signing, owning human, or admin) and that only admins may set hidden. It stops short of explicitly naming alternative tools (e.g. publish_app, set_app_terms) as the right choice in other cases, so it is clear context without full routing.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources