Skip to main content
Glama

Media Generator — Images, Videos & Audios

Server Details

Generate marketing images, videos and audios for campaigns, product content, and brand assets.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Tool DescriptionsA

Average 4.1/5 across 17 of 17 tools scored. Lowest: 3.5/5.

Server CoherenceA
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.

Available Tools

17 tools
check_tokenAInspect

Check the current user's token status and account information.

This tool retrieves information about:

  • User ID

  • Paid account status

  • Remaining generation tokens (for non-paid users)

  • Account validity

Returns: A JSON string containing token status and account information

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states that the tool 'retrieves information' and provides a return type (JSON string) plus the exact set of fields returned. While it doesn't mention side effects, the read-only nature is implied and adequately documented.

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 well-organized with a brief intro, a bulleted list, and a returns line. It is concise and each part adds meaning, though the bullet list could be compressed slightly without losing clarity.

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 and an output schema exists, the description fully specifies the tool's purpose and expected output. The list of retrieved properties and the return format make it 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?

The input schema has zero parameters, and the description correctly does not fabricate parameter details. The baseline score for zero parameters is 4, and the description adds value by explaining the output context even though there is nothing to document about 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 opens with a specific verb 'Check' and a clear resource: 'the current user's token status and account information.' It then enumerates the exact data points (User ID, paid status, remaining tokens, validity), which unambiguously distinguishes it from all sibling tools that focus on media generation or editing.

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 usage context is clear: this tool is for querying one's own token/account info. The phrase 'current user' specifies who the information pertains to, making it obvious when to use it. However, it doesn't explicitly state alternatives or exclusions, though no sibling tool performs a similar function.

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

edit_image_with_textAInspect

Input: An image URL and a text prompt describing the desired edit (e.g., "change background to blue").

Output: The URL of the edited image.

Functionality: This MCP tool edits an existing image based on a text instruction. It's useful for making changes like altering colors, adding or removing objects, or changing the style of an image.

Steps:

  1. Get the user_id from the request context and validate tokens.

  2. Call the Edit Image API with the provided image URL and text prompt.

  3. The API will return a JSON response containing the URL of the newly edited image.

  4. Return the edited image's URL to the user.

INSTRUCTION FOR CLIENT MODEL:

  • Extract the required input parameters 'prompt' (type: string, describing the desired edit) and 'image_url' (type: string, URL) from the user's prompt.

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

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

  • Example: For user input "Change the background of https://example.com/image.jpg to blue", extract 'image_url' as 'https://example.com/image.jpg' and 'prompt' as 'change background to blue'.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYes
image_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
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 of behavioral disclosure. It outlines the steps and states the tool edits an existing image and returns a URL, but it does not mention error handling, permission requirements, rate limits, or potential side effects. The transparency is adequate but not comprehensive 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.

Conciseness3/5

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

The description is front-loaded with purpose and examples, but the 'Steps' section is procedural and somewhat redundant for an MCP tool description. The 'INSTRUCTION FOR CLIENT MODEL' section improves parameter clarity but could be more succinct. Overall it earns its place but is more verbose than necessary.

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's simplicity (two string params), the description covers functionality, extraction guidance, and output shape (URL). The presence of an output schema reduces the need to explain return values. Missing details like failure modes are a gap, but the provided context is largely sufficient for an agent to invoke 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 description coverage is 0%, so the description must compensate. It explicitly defines 'prompt' as 'text prompt describing the desired edit' and 'image_url' as 'URL', and provides an extraction example. This adds meaningful semantic detail beyond the raw schema, though it doesn't cover constraints like file format or length limits.

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's function: 'edits an existing image based on a text instruction' with concrete examples like 'change background to blue'. This specific verb+resource phrasing distinguishes it from siblings such as generate_image or remove_background.

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 for when to use the tool ('useful for making changes like altering colors, adding or removing objects, or changing the style of an image'), but it does not explicitly mention when not to use it or name alternatives. This is a solid use-case guideline but lacks exclusionary guidance.

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

fetchAInspect

Fetch detailed information about a specific tool or resource.

This tool allows ChatGPT to get detailed information about a specific tool, including its parameters, usage examples, and functionality.

Args: resource: The name of the tool or resource to fetch information about

Returns: A JSON string containing detailed information about the requested resource

ParametersJSON Schema
NameRequiredDescriptionDefault
resourceYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It clearly states it returns a JSON string with detailed information and lists the argument. However, it does not explicitly confirm that the operation is read-only, nor does it mention error behavior or permissions, which are relevant for a tool-fetch operation.

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 front-loaded with the core purpose in the first sentence, followed by focused Args and Returns sections. It is concise and structured, though the phrase 'This tool allows ChatGPT to' is somewhat redundant with the overall tool context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only one parameter and an output schema present, the description covers the basics. It does not specify how to discover valid resource names or handle missing resources, which would be useful for an agent deciding what to fetch. The description is adequate but not fully complete for troubleshooting.

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 input schema only defines `resource` as a string with no description. The description compensates by explaining that `resource` is the name of the tool or resource to fetch information about, adding clear meaning. It does not provide examples or valid values, but for a single required parameter, this is sufficient.

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 states a clear action: 'Fetch detailed information about a specific tool or resource.' It names the resource type and mentions parameters, usage examples, and functionality. It does not explicitly contrast with sibling tools like 'search', but the verb 'fetch' combined with 'detailed information' differentiates it adequately.

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 this should be used when detailed information about a tool is needed, but it does not explicitly specify when to prefer this over alternatives or when not to use it. There is no mention of alternatives or exclusions.

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

generate_imageAInspect

Input: A textual input in prompt provide by user in the form of image prompt.

Output: We will return the image url output to the user.

Functionality: This tool is used to generate an image based on a text prompt. User will provide a prompt and the tool will generate an image based on the prompt.

Steps:

  1. We will get the user_id from the request context.

  2. We will validate the user's generation tokens.

  3. We will call the Generate Image API with the prompt provided by the user.

  4. This Generate Image API will return a JSON response with the image url.

  5. We will return the image url to the user.

INSTRUCTION FOR CLIENT MODEL:

  • Extract the required input parameter 'prompt' (type: string) from the user's provided prompt. The prompt should describe the image to generate.

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

  • Pass the extracted 'prompt' value to this tool as the 'prompt' parameter.

  • Do not require the user to specify parameter names; extract the value from natural language.

  • Example: For user input "Generate an image of a cat in a spacesuit on Mars", extract 'cat in a spacesuit on Mars' as the prompt.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations, the description carries full responsibility for behavioral disclosure. It reveals key behaviors such as validating the user's generation tokens, calling the Generate Image API, and returning the image URL. It also outlines a step-by-step process. While it doesn't cover failure modes or edge cases, it provides sufficient transparency for a simple generation tool.

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 well-structured with sections (Input, Output, Functionality, Steps, INSTRUCTION) but is verbose and somewhat repetitive. For instance, 'return the image URL' is mentioned in both the Output section and step 5. While the client instructions are valuable, the description could be tightened to avoid 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 a single parameter and no annotations, this description is highly complete. It covers the expected input, output, validation step, and execution steps. The existence of an output schema reduces the need to explain return values, but the description already provides the key outcome (image URL). No critical information 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?

The input schema only defines 'prompt' as a string with 0% coverage. The description compensates thoroughly by explaining how to extract the prompt from user input, including an example ('cat in a spacesuit on Mars') and instructing to ignore extraneous information. This adds significant meaning 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 explicitly states the tool's function: 'This tool is used to generate an image based on a text prompt.' It also clearly specifies the output (image URL) and distinguishes itself from sibling tools like generate_video and edit_image_with_text by focusing on text-to-image generation.

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 for when to use the tool: 'User will provide a prompt and the tool will generate an image based on the prompt.' It also includes instructions for the client model on extracting the prompt from natural language. However, it does not explicitly mention alternatives or exclusions relative to sibling tools.

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

generate_videoAInspect

Input: A textual input in prompt provided by user describing the video scene to be generated.

Output: We will return the video URL output to the user.

Functionality: This tool is used to generate a video based on a text prompt. User will provide a detailed description of the scene and the tool will generate a video based on that description.

Steps:

  1. We will get the user_id from the request context.

  2. We will validate the user's generation tokens.

  3. We will call the Text to Video API with the prompt provided by the user.

  4. This Text to Video API will return a JSON response with the video details including URL.

  5. We will return the video URL to the user.

INSTRUCTION FOR CLIENT MODEL:

  • Extract the required input parameter 'prompt' (type: string) from the user's provided prompt. The prompt should describe the video scene to generate.

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

  • Pass the extracted 'prompt' value to this tool as the 'prompt' parameter.

  • Example: For user input "Generate a video of a robot dancing in a city at night", extract 'robot dancing in a city at night' as the prompt.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It discloses internal steps: validating user's generation tokens, calling the Text to Video API, and returning a URL. This adds meaningful behavioral context beyond the schema, though error cases and failure handling are not mentioned.

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 verbose and redundant (e.g., 'generate a video based on a text prompt' stated multiple times). It is well-structured with sections and numbered steps, but could be trimmed to be more concise.

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 moderate complexity and the presence of an output schema, the description covers the input extraction, token validation, API call, and return value. It lacks error-handling details but is otherwise complete for an agent to invoke the tool correctly.

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?

Schema coverage is 0%, but the description explicitly explains the 'prompt' parameter, including type, extraction instructions, and a concrete example. This fully compensates for the lack of parameter details 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 clearly states the tool generates a video from a text prompt, with a specific verb ('generate') and resource ('video'). It distinguishes itself from siblings like generate_image and image_to_video by focusing on text-to-video generation.

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 clearly indicates the tool is used when the user provides a textual description of a video scene. It does not explicitly compare with sibling tools or state when-not-to-use, but the context is unambiguous enough for tool selection.

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

get_languagesAInspect

Input: No input required.

Output: Returns a JSON string containing all available languages.

Functionality: This tool fetches all available languages from the API.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses that no input is needed and that the output is a JSON string, but does not address errors, authentication, or side effects. 'Fetches' implies read-only, but this is not explicit.

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 uses labeled Input/Output/Functionality sections, but there is redundancy: 'Returns a JSON string containing all available languages' and 'fetches all available languages from the API' convey the same message. It could be made more concise.

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 zero-parameter tool with an output schema, the description covers the essential purpose and return format. It lacks explicit usage context, but given the simplicity, it is largely 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?

The schema has zero parameters, and the description explicitly says 'No input required.' This confirms the empty schema and adds clarity, satisfying the baseline for zero-parameter tools.

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 action ('fetches all available languages') with a specific resource and scope. It distinguishes itself from sibling tools like get_music_categories by the resource type (languages vs. music categories).

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives. It lacks context on prerequisites, typical use cases, or any exclusions.

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

get_music_categoriesAInspect

Input: No input required.

Output: Returns a JSON string containing all available music categories with their IDs and descriptions.

Functionality: This tool fetches all available music categories from the API. It can be called before music generation to help the LLM choose the most appropriate category.

Returns: A JSON string containing music categories with their IDs, names, and descriptions

INSTRUCTION FOR CLIENT MODEL:

  • This tool requires no input parameters.

  • Call this tool before music generation to get available categories.

  • Use the returned categories to make informed decisions about which category to use for music generation.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It describes the input (none), output (JSON string with categories), and functionality. It does not disclose error handling or authentication, but for a simple read-only fetch, the description is sufficiently transparent.

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 well-structured with headings but contains redundancy. The output format is repeated in 'Output' and 'Returns' sections, and the 'Functionality' section overlaps with the 'Returns' section. It could be more concise without losing meaning.

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 is simple with no parameters and an output schema. The description covers purpose, usage timing, and return format. It is complete for an agent to select and invoke this 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?

With zero parameters, the baseline is 4. The description explicitly states 'No input required' and 'This tool requires no input parameters,' which clarifies the parameter situation beyond the empty 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 the tool's function: 'fetches all available music categories from the API' and returns a JSON string with IDs, names, and descriptions. This is a specific verb+resource definition that distinguishes it from sibling tools like music_generator or get_languages.

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 'Call this tool before music generation to get available categories' and 'It can be called before music generation to help the LLM choose the most appropriate category.' While this provides clear context, it does not mention alternatives or exclusions, but there is no obvious alternative for this specific function.

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

healthAInspect

Health check endpoint to verify server is running.

Returns: A simple health status message

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/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 explicitly states the tool checks server status and returns a health message, which is adequate for a read-only health endpoint. It does not elaborate on error behavior, but none is expected for such a simple 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?

Two sentences, no filler, and the key information is front-loaded. Every word earns its place; the structure is optimal.

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, zero parameters, and presence of an output schema, the description fully covers necessary context. There is nothing 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?

There are zero parameters, and schema coverage is trivially 100%. Per the baseline for zero parameters, a score of 4 is appropriate; no parameter explanation needed.

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's purpose with a specific verb ('verify') and resource ('server is running'), and it is distinct from siblings like 'check_token' or 'fetch'. 'Health check endpoint' unambiguously identifies the function.

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 implies clear usage: use this tool to verify server status. It does not explicitly exclude alternatives or mention when not to use it, but given the trivial nature and distinct sibling tools, the context is sufficient.

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

image_to_videoAInspect

Input: An image URL and a descriptive prompt detailing the desired video scene.

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

Functionality: This tool converts a static image into a dynamic video. The provided image serves as the base, while the accompanying prompt guides the AI on how to animate the image into a video that reflects the described scene. It leverages the Image-to-Video API to synthesize video content based on these inputs.

Steps:

  1. We will get the user_id from the request context.

  2. We will validate the user's generation tokens.

  3. We will call the Image-to-Video API using the provided image URL and descriptive prompt.

  4. The API processes the inputs and returns a JSON response containing the video URL.

  5. We extract and return the video URL to the user.

INSTRUCTION FOR CLIENT MODEL:

  • Extract the required input parameters 'image_url' (type: string, URL) and 'prompt' (type: string, describing the desired video scene) from the user's prompt.

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

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

  • Example: For user input "Animate this image https://example.com/image.jpg to show a sunrise over the mountains", extract 'image_url' as 'https://example.com/image.jpg' and 'prompt' as 'sunrise over the mountains'.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYes
image_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

With no annotations, the description carries the transparency burden. It discloses that generation tokens are validated and that an API call is made, which hints at token consumption. It also specifies the output (video URL) and steps. However, it lacks details on failure modes, image URL accessibility requirements, or rate limits, leaving notable gaps.

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

Conciseness2/5

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

The description is overly verbose with redundant sections: 'Functionality,' 'Steps,' and 'INSTRUCTION FOR CLIENT MODEL' all repeat similar information. It is structured with headings but not concise; several sentences could be merged or removed without losing value.

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 inputs, output, internal process, and parameter extraction with an example. An output schema exists, so return values are already structured. Missing error handling and edge cases, but for a two-parameter tool with detailed process steps, it is quite 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 description coverage is 0%, so the description must compensate. The 'INSTRUCTION FOR CLIENT MODEL' section explicitly defines 'image_url' as a URL string and 'prompt' as a scene description, and provides a concrete example. This adds meaningful semantic meaning beyond the raw schema, though it omits constraints like URL format or prompt length.

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's purpose: 'converts a static image into a dynamic video' with the image as base and prompt guiding animation. This specific verb+resource (convert image to video) distinguishes it from siblings like generate_video, which likely creates video from text only.

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 when to use the tool (when an image URL and descriptive prompt are available) and gives an example of extraction. However, it does not explicitly compare to alternatives or state exclusions, such as 'use generate_video for text-only prompts.' Usage context is present but not fully elaborated.

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

logo_generatorAInspect

Input: A text prompt describing the desired logo style.

Output: We will return the URL of the generated logo image.

Functionality: This MCP tool generates a logo using the provided text prompt. It leverages the Logo Generation API to interpret the prompt and create a corresponding logo image.

Steps:

  1. We will get the user_id from the request context.

  2. We will validate the user's generation tokens.

  3. We will call the Logo Generation API with the provided prompt.

  4. This Logo Generation API will return a JSON response with the logo image URL.

  5. We will return the logo image URL to the user.

INSTRUCTION FOR CLIENT MODEL:

  • Extract the required input parameter 'prompt' (type: string) from the user's provided prompt. The prompt should describe the desired logo style or content.

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

  • Pass the extracted 'prompt' value to this tool as the 'prompt' parameter.

  • Example: For user input "Create a logo for a vegan bakery with green leaves", extract 'vegan bakery with green leaves' as the prompt.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals internal steps including user_id retrieval and token validation, informing the agent about prerequisites and potential token consumption. It lacks details on error handling or rate limits, but the procedural transparency is above average.

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 somewhat verbose, repeating the 'generates a logo' concept and including step-by-step internal details that could be condensed. However, it is structured with clear sections and states the purpose early, making it readable but not maximally concise.

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 is simple with one parameter, and the description covers input, output, and the API call flow, including token validation. It does not detail error scenarios or prompt constraints, but for a generation tool this is sufficient 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.

Parameters5/5

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

The schema coverage is 0%, so the description must compensate. It defines the prompt as describing the desired logo style and provides an explicit extraction example, fully resolving parameter ambiguity. This is a model example of compensating for a bare 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 the tool generates a logo from a text prompt and returns the URL. The verb 'generates' and resource 'logo' are specific, and the focus on logos distinguishes it from sibling tools like generate_image and edit_image_with_text.

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 includes an 'INSTRUCTION FOR CLIENT MODEL' section that explains exactly how to extract the 'prompt' parameter and provides an example, which is clear usage guidance. However, it does not explicitly contrast with alternative tools or mention when not to use it, earning a 4 rather than 5.

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

music_generatorAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYes
durationNo
music_category_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
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.

remove_backgroundAInspect

Input: An image URL for background removal.

Output: We will return the image URL with background removed to the user.

Functionality: This tool is used to remove the background from an image. User will provide an image URL and the tool will return the image with the background removed.

Steps:

  1. We will get the user_id from the request context.

  2. We will validate the user's generation tokens.

  3. We will call the Background Remover API with the provided image URL.

  4. This Background Remover API will return a JSON response with the processed image URL.

  5. We will return the processed image URL to the user.

INSTRUCTION FOR CLIENT MODEL:

  • Extract the required input parameter 'image_url' (type: string, URL) from the user's prompt.

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

  • Pass the extracted value to this tool as 'image_url'.

  • Example: For user input "Remove the background from this image https://example.com/image.jpg", extract 'image_url' as 'https://example.com/image.jpg'.

ParametersJSON Schema
NameRequiredDescriptionDefault
image_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses several behavioral steps: retrieving user_id from context, validating generation tokens, and calling an external Background Remover API. This adds useful context beyond simply 'removes background'. However, it does not mention failure modes, rate limits, or edge cases, leaving room for more transparency.

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

Conciseness2/5

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

The description is verbose and repetitive. The 'Functionality' section essentially repeats the 'Input' and 'Output' sections, and the 5-step workflow is redundant with the overall function. While the sections are organized, the redundancy makes it less concise than it could be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter and an output schema, the description covers the basic flow: input, output, and mention of token validation. However, it omits potential error scenarios (e.g., invalid URL, API failure) and does not explain the output schema contents, relying on the output schema to fill that gap. It is adequate but not comprehensive.

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 input schema only lists image_url as a required string with no description. The description compensates by specifying 'type: string, URL', providing extraction instructions, and giving a concrete example ('https://example.com/image.jpg'). This adds meaningful semantics beyond the schema for the single 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 clearly states the tool's purpose: 'This tool is used to remove the background from an image.' It specifies the input (image URL) and output (processed image URL), making the action and resource unambiguous. The name 'remove_background' further reinforces the purpose, and it is distinct from sibling tools like 'edit_image_with_text' and 'upscale_image'.

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: user provides an image URL and receives a background-removed image. It also gives an example of how to invoke it. However, it does not explicitly mention when not to use this tool or suggest alternatives, so it lacks exclusion guidance.

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

song_generatorAInspect

Input: Lyrics text and required tags (music categories/genres) for song generation.

Output: We will return the generated song URL and details to the user.

Functionality: This tool generates a custom song from provided lyrics. It creates original music that matches the style, mood, and tone specified by the tags. Tags must include music categories such as "rock", "pop", "jazz", "hip hop", "country", etc.

Steps:

  1. We will get the user_id from the request context.

  2. We will validate the user's generation tokens.

  3. We will call the Lyrics to Melody API with the provided lyrics and parameters.

  4. This API will return a JSON response with the generated song URL and details.

  5. We will return the song URL and details to the user.

INSTRUCTION FOR CLIENT MODEL:

  • Extract the required input parameters 'lyrics' (type: string) and 'tags' (type: string, music categories/genres).

  • Tags must include music categories like "rock", "pop", "jazz", "hip hop", "country", "electronic", etc. Multiple tags can be combined (e.g., "rock pop" or "jazz blues").

  • Optional parameters: 'title' (default: "Melody"), 'language' (default: "English"), 'country' (default: "US"), 'audio_duration' (default: 0), 'ref_file_url' (reference audio URL, optional), 'ref_audio_strength' (0.0-1.0, default: 0.0).

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

  • Pass the extracted values to this tool.

  • Example: For user input "Create a rock song with these lyrics: 'Walking in the rain, feeling the pain'", extract 'lyrics' as 'Walking in the rain, feeling the pain' and 'tags' as 'rock'.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsYes
titleNoMelody
lyricsYes
countryNoUS
languageNoEnglish
ref_file_urlNo
audio_durationNo
ref_audio_strengthNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

No annotations are provided, so the description carries full responsibility. It discloses internal steps: getting user_id from context, validating generation tokens, calling the Lyrics to Melody API, and returning the song URL and details. It also mentions defaults for optional parameters and instructs to ignore extraneous input. This is substantial, though it doesn't discuss error handling or failure modes.

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 organized into clear sections (Input, Output, Functionality, Steps, Instruction) which aids scannability. However, it is verbose—the tag requirements are repeated, and the Steps section partially restates the Functionality. The client instruction block, while useful, adds length and is tangential to the core tool description.

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 absence of annotations and the presence of an output schema, the description is thoroughly complete. It covers required and optional parameters, internal workflow, token validation, and expected output. An agent has all necessary information to invoke the tool correctly and anticipate the response.

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?

Schema coverage is 0%, so the description fully compensates. It explains 'lyrics' and 'tags' in detail, including tag formats and examples, and lists all optional parameters with defaults (title='Melody', language='English', country='US', audio_duration=0, etc.). The example extraction clarifies how to interpret user input, providing semantics far beyond the bare 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 the tool generates a custom song from provided lyrics, with tags specifying the style/mood/tone. It uses specific verbs ('generates', 'creates original music') and identifies the resource (lyrics + tags), distinguishing it from generic music generation. Though it doesn't name siblings, the unique input of lyrics makes the purpose unmistakable.

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 a user wants a song from lyrics with given tags, and it details parameter extraction. However, it lacks explicit guidance on when not to use this tool or how it contrasts with sibling tools like 'music_generator'. The 'Instruction for client model' focuses on parameter extraction rather than tool selection context.

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

text_to_speechAInspect

Input: Text to convert to speech, language ID, and voice type.

Output: Returns the URL of the generated audio file.

Functionality: This tool converts text to speech in the specified language and voice. It follows these steps:

  1. Gets user_id from context and validates tokens.

  2. Generates speech from the text using the specified language and voice.

Args: text: The text to convert to speech language_id: The language ID (defaults to "en" for English) voice_id: The voice type (defaults to "female")

Returns: The URL of the generated audio file

INSTRUCTION FOR CLIENT MODEL:

  • Extract the required input parameter 'text' (type: string) and optional parameters 'language_id' (type: string, default 'en') and 'voice_id' (type: string, default 'female') from the user's prompt.

  • If 'language_id' or 'voice_id' are not specified, use the default values.

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

  • Pass the extracted values to this tool as 'text', 'language_id', and 'voice_id'.

  • RECOMMENDATION: Call get_languages() first to see available language IDs before choosing a language_id.

  • Example: For user input "Convert 'Hello world' to French with a male voice", extract 'text' as 'Hello world', 'language_id' as 'fr', and 'voice_id' as 'male'.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
voice_idNofemale
language_idNoen

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior4/5

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

With no annotations, the description discloses internal steps: token validation via user_id, speech generation, and returning a URL. It also mentions defaults and provides an example, adding behavioral context beyond the schema. Missing rate limits or failure modes, but strong for a simple tool.

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 well-structured with headers and front-loaded input/output, but the 'INSTRUCTION FOR CLIENT MODEL' section makes it lengthy. All content is relevant, though it could be trimmed without losing critical 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?

For a tool with 3 parameters and no annotations, this description thoroughly covers purpose, usage, parameters, return value, and a companion tool recommendation. The only minor gap is error handling, but the provided info is sufficient for a TTS call.

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?

Schema coverage is 0%, so the description fully compensates by documenting all three parameters with types and defaults. It includes an example of extracting values from natural language, which is essential for correct 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 clearly states it 'converts text to speech in the specified language and voice' and defines the input/output format. It uses a specific verb and resource, making its purpose unambiguous and distinct from sibling tools like image generation.

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 recommends calling get_languages() first to validate language IDs, providing an alternative/companion tool. It also gives extraction instructions and defaults, but does not state explicit when-not-to-use scenarios, so it falls just short of full guidance.

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

upscale_imageAInspect

Input: An image URL and an optional scale factor (between 2 and 4) for upscaling.

Output: We will return the upscaled image URL to the user.

Functionality: This tool is used to upscale an image to a higher resolution. User will provide an image URL and optionally a scale factor, and the tool will return an upscaled version of that image.

Steps:

  1. We will get the user_id from the request context.

  2. We will validate the user's generation tokens.

  3. We will call the Image Upscaler API with the provided image URL and scale factor.

  4. This Image Upscaler API will return a JSON response with the upscaled image URL.

  5. We will return the upscaled image URL to the user.

INSTRUCTION FOR CLIENT MODEL:

  • Extract the required input parameter 'image_url' (type: string, URL) and the optional parameter 'scale_factor' (type: integer, default 2, allowed values: 2-4) from the user's prompt.

  • If 'scale_factor' is not specified in the prompt, use the default value 2.

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

  • Pass the extracted values to this tool as 'image_url' and 'scale_factor'.

  • Example: For user input "Upscale this image https://example.com/image.jpg by 4x", extract 'image_url' as 'https://example.com/image.jpg' and 'scale_factor' as 4.

ParametersJSON Schema
NameRequiredDescriptionDefault
image_urlYes
scale_factorNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that generation tokens are validated before calling the upscaler API and that it returns a JSON response with the URL. However, it does not state whether the operation is non-destructive, mention rate limits, or describe failure modes. This is moderate transparency but incomplete.

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 front-loaded with Input/Output/Functionality, then provides steps and client instructions. It contains redundancy, e.g., 'We will return the upscaled image URL to the user' appears twice, and the steps repeat the main functionality. The 'INSTRUCTION FOR CLIENT MODEL' is useful but adds length. Acceptable structure but not concise.

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 simple tool (2 params, no annotations, no schema descriptions), the description is fairly complete. It covers the purpose, parameters, return value, and process. The output schema exists, but the description still explains the returned URL. It lacks error handling details but is sufficient for typical usage.

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?

Schema coverage is 0%, but the description fully compensates by defining 'image_url' as a URL string and 'scale_factor' as an integer with default 2 and allowed range 2-4. It also provides an example of how to extract these from user input, which is clear and actionable.

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 'This tool is used to upscale an image to a higher resolution' with explicit input and output (image URL, scale factor, returned upscaled URL). It is distinct from siblings like remove_background or edit_image_with_text by specifying the upscaling action.

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: the user provides an image URL and optional scale factor, and the tool returns an upscaled image. It explains the process steps and gives explicit extraction instructions for the client model, which implies when to use it. No exclusions or alternatives are mentioned, but the purpose is unambiguous.

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

video_to_audioAInspect

Input: A muted video URL along with a textual prompt describing the desired audio.

Output: We will return the video URL with the applied audio.

Functionality: This tool now takes a muted video and a text prompt as input. It generates an audio track based on the provided prompt and applies this audio to the video, resulting in a video with integrated sound.

Steps:

  1. We will get the user_id from the request context.

  2. We will validate the user's generation tokens.

  3. We will call the Audio Application API with the muted video URL and the provided prompt.

  4. The API will generate the audio from the prompt and merge it with the muted video, returning a JSON response with the updated video URL.

  5. We will return the updated video URL to the user.

INSTRUCTION FOR CLIENT MODEL:

  • Extract the required input parameters 'video_url' (type: string, URL) and 'prompt' (type: string, describing the desired audio) from the user's prompt.

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

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

  • Example: For user input "Add dramatic orchestral music to this video https://example.com/video.mp4", extract 'video_url' as 'https://example.com/video.mp4' and 'prompt' as 'dramatic orchestral music'.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYes
video_urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes
Behavior5/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It thoroughly describes the internal process: getting user_id from request context, validating generation tokens, calling the Audio Application API, and returning a JSON response with the updated video URL. This gives the agent a clear understanding of side effects and prerequisites.

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 well-organized with clear sections (Input, Output, Functionality, Steps, Instructions), and it front-loads the key purpose. Every sentence contributes value, including the practical client-model instructions. Although it's relatively long, the length is justified by the tool's multi-step nature.

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 the full workflow from input extraction to output delivery, including token validation and API interaction. It also explains the output format (updated video URL) at a high level, and since an output schema exists, detailed return-value documentation is not necessary. The tool is contextualized well among its siblings despite not explicitly naming alternatives.

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?

The input schema only provides property names and types with zero descriptions. The description adds essential meaning by defining 'video_url' as a URL of a muted video and 'prompt' as a textual description of desired audio, and it includes a concrete example showing how to extract these parameters from user input. This goes far 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 clearly states the tool's function: generating an audio track from a text prompt and applying it to a muted video, returning the video URL. It uses specific action verbs and resource details, distinguishing it from sibling tools like music_generator or text_to_speech that handle standalone audio generation.

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 clearly implies when to use this tool (when a user wants to add AI-generated audio to a video) and provides detailed input requirements. However, it does not explicitly mention alternatives or when-not-to-use scenarios, such as 'for standalone audio generation, use music_generator', so it lacks explicit exclusionary guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources