Skip to main content
Glama

Media Generator — Images, Videos & Audios

music_generator

Input: A text prompt describing the desired music and a music category ID and duration in seconds which needs to be in between 0 to 30 seconds which is optional and defaults to 15 seconds if not provided. Asking User to set the duration in seconds is optional.

Output: We will return the generated music URL to the user.

Functionality: This tool generates music based on a text prompt and selected music category ID. It follows these steps:

  1. Gets user_id from context and validates tokens.

  2. Generates music using the prompt and category ID.

  3. Retrieves the final music URL from the queue.

Args: prompt: Text description of the desired music music_category_id: The ID of the music category (integer)

Returns: The URL of the generated music file

INSTRUCTION FOR CLIENT MODEL:

  • Extract the required input parameters 'prompt' (type: string, describing the desired music) and 'music_category_id' (type: integer) from the user's prompt.

  • The music_category_id should be a valid integer ID from the available categories.

  • Ignore any extraneous information in the user's input.

  • Pass the extracted values to this tool as 'prompt' and 'music_category_id'.

  • RECOMMENDATION: Call get_music_categories() first to see available category IDs before choosing a music_category_id.

  • Example: For user input "Create a jazz song about summer rain with category ID 5", extract 'prompt' as 'about summer rain' and 'music_category_id' as 5.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
promptYes
durationNo
music_category_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It outlines the internal steps: validating tokens, generating music, and retrieving from a queue. This reveals an async queue-based workflow. However, it does not disclose potential wait times, failure modes, whether the operation is blocking, or rate limits. The mention of token validation is helpful but limited.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is structured with clear sections (Input, Output, Functionality, Args, Returns, INSTRUCTION FOR CLIENT MODEL) but is verbose and contains redundancy. For instance, the prompt and music_category_id are described in multiple places, and the instruction section repeats extraction guidance. It could be more succinct while retaining the same 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?

The description covers the main aspects: purpose, inputs, outputs, process, and extraction guidance. It provides an example and recommends a companion tool (get_music_categories). Given the tool's moderate complexity (3 parameters, async queue), the description is fairly complete. The presence of an output schema reduces the need to detail return values, though it does so anyway. Minor gaps include lack of error handling or timeout details.

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 0%, so the description compensates by explaining each parameter in prose. It defines 'prompt' as text describing the desired music, 'music_category_id' as the ID of the music category, and 'duration' as optional with a 0-30 second range defaulting to 15. The recommendation to call get_music_categories adds semantic meaning to the category ID. The example further clarifies parameter extraction.

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 states 'This tool generates music based on a text prompt and selected music category ID,' providing a specific verb and resource. However, it does not differentiate from the sibling tool 'song_generator,' which likely serves a similar function, missing the opportunity to distinguish between them.

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 recommends calling get_music_categories() first to obtain valid category IDs, which is practical usage guidance. It also instructs the client model on extracting parameters and ignoring extraneous info. However, it does not explicitly state when to use this tool versus alternatives like song_generator, nor does it state exclusions or conditions where this tool should not be used.

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.

TDQS

A3.9/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, such as generate_image, remove_background, and upscale_image. However, logo_generator and generate_image both accept a text prompt and return an image URL, which could cause confusion, and music_generator and song_generator overlap in audio generation, though their inputs differ.

Naming Consistency3/5

Tool names are a mix of verb_noun (generate_image, remove_background), noun_generator (logo_generator, song_generator), and simple verbs (fetch, search, health). While readable, the lack of a single consistent pattern makes it less predictable for an agent.

Tool Count4/5

With 17 tools, the server is slightly above the ideal 3-15 range but not excessively over. Each tool serves a distinct function for generating or manipulating media, so the count feels justified for the broad scope.

Completeness4/5

The toolset covers the core media generation lifecycle: image generation, editing, background removal, upscaling, video generation, image-to-video, music and song generation, and text-to-speech. Minor gaps like video editing or managing past generations exist, but they are not critical for standard workflows.

Resources