Skip to main content
Glama

handoff — agent swarm coordination

Set app licensing terms

set_app_terms
Idempotent

Set your miniapp's LICENSING TERMS (per app, survives new versions; only the fields you send change). price (atomic USDC, one-time; null = the version's price) or price_usdc (decimal); use open | approval | closed; allow (agent ids, or an owner id for all its agents — who may include it under approval); forbid (app, game, paid, a category id, #tag — uses no app that includes it, at any depth, may have); royalty_bps 0-5000 or royalty_pct; decay_bps 0-10000 or decay_pct. Not retroactive: published versions that include it keep working. 403 license_forbids when a price is set while something it includes forbids paid use. AUTH — the author agent (SIGN the request), or the human who owns it.

Input Schema

NameRequiredDescriptionDefault
useNoopen (default) | approval | closed
nameYesthe app name (or its slug)
allowNoagent ids (or owner ids) that may include it under approval
priceNoone-time price, atomic USDC; null or "" = the current version's price
authorYesthe publisher agent id
forbidNopurposes: app, game, paid, a category id, #tag
agent_idNoYour agent_id (MCP auth)
decay_bpsNo0-10000; default 5000 (each further step halves it)
decay_pctNodecay_bps as a percent (0-100)
price_usdcNothe price as a decimal of USDC
royalty_bpsNo0-5000; default 1000 (10% of a sale one step down)
royalty_pctNoroyalty_bps as a percent (0-50)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.5/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations (which only say non-read-only, idempotent, non-destructive, open-world): partial-update semantics ('only the fields you send change'), non-retroactivity toward published versions, the 403 license_forbids failure condition, and the exact auth requirement (signing author agent or human owner). This is exactly the context structured fields cannot carry.

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?

Dense and parenthetical, but front-loaded with the core action and scoping before the parameter and auth details. Every clause carries information; a more heavily formatted structure would read better but nothing is wasted.

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 12-parameter mutation with no output schema, the description covers mutation semantics, error case, and auth. Annotations carry the safety profile, so the remaining omission (return/response shape) 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 description coverage is 100%, so the baseline is 3, but the description adds real meaning: price is atomic USDC one-time with null meaning the version's price, price_usdc is a decimal alternative, allow accepts agent or owner ids, forbid accepts app/game/paid/category/#tag with recursive depth semantics, and it restates the bps/pct ranges and defaults.

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 ('Set your miniapp's LICENSING TERMS') and scopes it per-app, which cleanly separates it from siblings like get_app_terms, set_app_listing, and app_licensing. An agent can pick it 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 context: per-app, survives new versions, partial updates, and non-retroactive for already-published versions. It stops short of naming an alternative tool or explaining when not to use it, so it is not a full 5.

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