Skip to main content
Glama

initiate_license

Idempotent

Start a license purchase for any track, including partner tracks. Returns a payment_id, the exact USDC amount, and the receiving wallet on Base (chain ID 8453). Before the user pays, confirm the track title and artist in track_to_confirm with them. The user must send the USDC from the same wallet address provided here; no memo is needed. After the user confirms they sent payment, call verify_license with the payment_id.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
track_idYesThe track id exactly as returned by search_catalog, ai_search, or get_track, for example "417" or "partner_82". Never remove the "partner_" prefix.
license_typeYessocial_media ($5 USDC: TikTok, Instagram, YouTube, X) or all_digital ($35 USDC: advertising, apps, games, podcasts, websites).
paying_walletYesThe Base wallet address (0x followed by 40 hex characters) the user will send USDC from.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / track_id / description
      Previous value: -"The track ID from search_catalog, ai_search, or get_track."New value: +"The track id exactly as returned by search_catalog, ai_search, or get_track, for example \"417\" or \"partner_82\". Never remove the \"partner_\" prefix."
    • changedInput schema / properties / track_id / type
      Previous value: -"integer"New value: +"string"
  2. Added

TDQS

A4.7/5.0
Behavior4/5

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

Annotations declare non-readOnly, openWorld, idempotent, non-destructive, and the description adds real operational context: amounts, the Base chain ID 8453, the same-wallet requirement, and that no memo is required. It does not say how long a payment_id remains valid or what happens if initiate_license is called twice for the same track, which is the remaining gap given idempotentHint=true.

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 purpose and return values are front-loaded in the first sentence, followed by the confirmation prerequisite and the explicit next-step call. Every sentence carries an instruction or a factual constraint; nothing is 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?

No output schema exists, yet the description enumerates the return payload (payment_id, exact USDC amount, receiving wallet on Base). Combined with the documented wallet and confirmation constraints and the named follow-up tool, an agent has everything needed to execute and continue the flow.

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 constraining paying_wallet to 'the same wallet address provided here' (i.e. the funding source must match the request parameter), which is a semantic constraint not present in the schema text, and by reinforcing the price/chain context for license_type.

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 ('Start a license purchase for any track, including partner tracks') and immediately distinguishes scope by noting partner tracks are covered. The successor tool verify_license is named, so the agent can place this step in the broader licensing flow without opening a schema.

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

Usage Guidelines5/5

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

Explicit multi-step guidance: confirm track title and artist with the user, send USDC from the same wallet given here, no memo needed, then call verify_license with the payment_id once payment is confirmed. Both the when-to-use and the handoff to the alternative tool are spelled out.

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