Media Generator — Images, Videos & Audios
Server Details
Generate marketing images, videos and audios for campaigns, product content, and brand assets.
- Status
- Healthy
- Uptime
- 93.0% over 82 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- Saify-Technologies/saifs-ai-mcps-docs
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 17 tools
Most tools target clearly distinct operations (image edit, video gen, TTS, background removal, upscaling). However, generate_video vs image_to_video, music_generator vs song_generator, and logo_generator vs generate_image have overlapping boundaries that require careful reading to distinguish.
The majority follow verb_noun snake_case (generate_image, text_to_speech, remove_background), but the audio/logo tools break the pattern with a noun_generator suffix (logo_generator, music_generator, song_generator), and bare names (fetch, search, health) deviate further. Readable but inconsistent.
17 tools is reasonable for a multi-modal media server spanning image, video, and audio generation plus supporting lookups. Slightly heavy but each tool covers a distinct capability, so no tool feels redundant.
Strong coverage: image generation/edit/upscale/background removal, text-to-video and image-to-video, music/song/TTS, plus discovery helpers (search, fetch, get_languages, get_music_categories) and token/health checks. Minor gaps like video editing or image-to-image variations remain but core lifecycle is covered.
Available Tools
17 toolscheck_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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the disclosure burden, and it does convey this is a read/inspect operation that returns status rather than mutating anything. It also enumerates the returned fields. It stops short of stating auth requirements or any rate limits, but for a zero-param read tool the behavioral profile is largely complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then a scannable field list and a Returns section. Slightly redundant in that the header line and Returns line restate the same idea, but it is well-sized and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description need not define the response shape, and with zero parameters there are no schema gaps to fill. The account/token context is complete for the call, with the only real omission being explicit usage guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema leaves nothing to document; the baseline of 4 applies. The description appropriately adds no parameter detail because none exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Check") and resource ("current user's token status and account information") and enumerates the exact fields retrieved. It is clearly distinguishable from the sibling generation tools, though it never explicitly names or contrasts with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied — an agent can infer this is used to verify token balance before generation, but there is no explicit when-to-use statement, no alternatives named, and no prerequisite context. The note that remaining tokens apply to non-paid users gives some scoping help.
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:
Get the user_id from the request context and validate tokens.
Call the Edit Image API with the provided image URL and text prompt.
The API will return a JSON response containing the URL of the newly edited image.
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'.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| image_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the auth path ('get the user_id from the request context and validate tokens') and that the backend is an Edit Image API returning JSON with a URL — useful context. It omits error behavior, rate limits, image size/format constraints, and reversibility, which are the traits an agent would need for a mutation-style media call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with Input/Output, which is good, but the 'Steps' block repeats the input/output facts and adds internal implementation detail (call the API, receive JSON, return URL) that gives the caller nothing actionable, and the client-model instruction restates the parameter mapping already covered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with an output schema present, the definition covers inputs, purpose, and the high-level flow, so nothing essential to invocation is missing. It stops short of stating failure modes or input constraints, which keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 — and it does, defining 'prompt' as the text describing the desired edit and 'image_url' as the source image URL, plus a worked extraction example ('change background to blue'). Only the exact expected prompt phrasing or URL constraints remain unspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('edits an existing image based on a text instruction') and enumerates the kinds of edits supported (color, objects, style). The word 'existing' implicitly separates it from generate_image, but no sibling is named, so an agent must still infer the boundary with remove_background or upscale_image.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Use cases are described ('altering colors, adding or removing objects, or changing the style'), which implies when the tool fits, and an extraction example is supplied for the caller. However, there is no explicit routing guidance versus overlapping siblings such as remove_background (also changes backgrounds) or generate_image (creates rather than edits).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchBInspect
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
| Name | Required | Description | Default |
|---|---|---|---|
| resource | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the return payload ('JSON string containing detailed information...parameters, usage examples, functionality'), which is useful, but it omits behavior when a resource name is invalid, whether this hits external services, and any auth or rate-limit considerations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The second sentence restates the first ('Fetch detailed information...' / 'This tool allows ChatGPT to get detailed information...'), which is pure redundancy, and naming the client 'ChatGPT' is wasted text. The Args/Returns structure is otherwise clean and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with an output schema already present, the description covers purpose, argument, and return shape adequately. It still leaves a gap around how to obtain valid resource names and its relationship to the search sibling, which matters for a discovery tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate for the single parameter. It does clarify that 'resource' is the name of a tool or resource to fetch, adding meaning beyond the bare string type, but gives no format, naming convention, or example of a valid value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (fetch) and resource (tool/resource metadata) and is clearly distinguishable from the generation-oriented siblings like generate_image and song_generator. The 'or resource' hedge slightly muddies what is being fetched, but the core purpose is legible.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no exclusions. A sibling named 'search' exists and is the obvious alternative for discovery, yet the description never says when to fetch by name versus search, nor where a valid resource name comes from.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_imageBInspect
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:
We will get the user_id from the request context.
We will validate the user's generation tokens.
We will call the Generate Image API with the prompt provided by the user.
This Generate Image API will return a JSON response with the image url.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose meaningful behavior: user_id is pulled from request context, the user's generation tokens are validated (implying quota/authorization gating), an external Generate Image API is called, and the image URL is returned. It omits failure modes, token exhaustion behavior, and latency/rate limits, which keeps it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The Input/Output/Functionality sections restate the same idea three times before the actual guidance, and the five numbered steps describe internal implementation (context lookup, API call) rather than agent-relevant behavior. The useful extraction instructions are buried at the end rather than front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the return value need not be explained, yet the description still names the image URL result. Given one required parameter, no annotations, and a simple generation contract, the description covers enough for an agent to call it correctly, though it says nothing about error or token-exhaustion responses.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single 'prompt' parameter, so the description must compensate, and it does: it explains the value should describe the image to generate, that it is extracted from natural language rather than named by the user, and gives a concrete example ('cat in a spacesuit on Mars'). Format constraints (length limits, style keywords, negative prompts) are still unstated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('generate an image based on a text prompt') and the Functionality line confirms it plainly. It never names or contrasts with close siblings such as edit_image_with_text, upscale_image, or logo_generator, so sibling differentiation is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of when to pick this over edit_image_with_text or logo_generator, and no prerequisites in the usage sense. The 'INSTRUCTION FOR CLIENT MODEL' block addresses argument extraction, not tool selection, so it does not satisfy this dimension.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_videoBInspect
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:
We will get the user_id from the request context.
We will validate the user's generation tokens.
We will call the Text to Video API with the prompt provided by the user.
This Text to Video API will return a JSON response with the video details including URL.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose real behavior: user_id is pulled from request context and the user's generation tokens are validated before the Text-to-Video API call, revealing a quota/auth requirement. However, it omits latency expectations for a generation task, failure modes when tokens are insufficient, and cost implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The Input/Output/Functionality framing is reasonably front-loaded, but the prompt requirement is stated three times (Input line, Functionality paragraph, client instruction) and the numbered 'We will...' step list is boilerplate that largely restates the same pipeline. The extraction example earns its place; the rest is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, yet the description still spells out the return value (video URL), which is harmless redundancy. For a token-gated generation tool it covers the input, the pipeline, and the result adequately; the main gap is behavior on token-validation failure and expected generation time.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the single 'prompt' parameter, so the description must compensate, and it does: it defines the parameter as a detailed scene description and supplies a concrete extraction example ('robot dancing in a city at night'). It does not state any length or content constraints on the prompt, keeping it short of a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The functionality sentence gives a specific verb+resource: 'generate a video based on a text prompt.' The 'based on a text prompt' qualifier implicitly separates it from the sibling image_to_video, but it never names or contrasts that sibling explicitly, so an agent must still infer which generation tool applies. Clear purpose, weak sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative guidance. Siblings like image_to_video, generate_image, and music_generator exist, yet nothing states when text-driven video generation is the correct pick. The only procedural guidance is about prompt extraction, not tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_languagesBInspect
Input: No input required.
Output: Returns a JSON string containing all available languages.
Functionality: This tool fetches all available languages from the API.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose the two things an agent most needs here — no input required and a JSON string of all languages returned — but it says nothing about authentication, whether the list is cached/complete, or any rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short labeled lines (Input / Output / Functionality) with no filler. The label scaffolding is slightly heavier than needed for such a trivial tool, but nothing is wasted and it is easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description need not enumerate return fields, and it does not. For a zero-parameter read-only listing tool, what is stated is sufficient to invoke it correctly; only auth/rate-limit context is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, and the description correctly states 'No input required', which matches the empty schema. Baseline 4 applies for a parameterless tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'fetches all available languages from the API'. An agent immediately knows what it gets. It does not distinguish itself from the structurally similar sibling get_music_categories, but most siblings are unrelated media tools, so ambiguity risk is low.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no statement of prerequisites, and no mention of any alternative (e.g., get_music_categories). Usage is only implied by the tool's name and output description.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that no input is required and that the return is a JSON string of categories, which implies a safe read, but it says nothing about authentication, rate limits, caching, or whether the category list is stable. Adequate but thin for a zero-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The same fact is stated three times: the 'Output: Returns a JSON string containing all available music categories...' line, the 'Returns:' block, and again in the client-model instruction. That redundancy bloats a zero-parameter tool, and the actual purpose is not front-loaded—it appears third, under 'Functionality.'
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a trivial zero-arg lookup with an output schema present, the description covers purpose, absence of inputs, and when to call it. The only shortfall is that it wastes space re-describing return values the output schema already defines instead of adding invocation context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, which is the baseline-4 case. The description correctly reinforces 'This tool requires no input parameters,' matching the empty schema, and adds nothing misleading.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The Functionality line gives a clear verb+resource: 'fetches all available music categories from the API.' It is unambiguous and separable from siblings like music_generator, but it never explicitly contrasts itself with any alternative tool, so it stops short of the top score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The instructions state a concrete condition: 'Call this tool before music generation to get available categories,' and explain the reason (choosing an appropriate category). There is no when-not guidance or named alternative, but the trigger condition is explicit.
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
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It communicates that this is a read-style verification returning a status message, but does not disclose whether it checks dependencies/readiness, latency, or failure modes. Minimal but adequate for a trivial health endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short lines, front-loaded with the purpose. The 'Returns:' block partly duplicates information already conveyed by the existing output schema, so it is slightly redundant but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so the description needn't enumerate return values, and it doesn't over-explain. For a 0-parameter health check, this is complete enough to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. There are no parameter semantics to explain, and the description correctly omits any.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: a health check endpoint that verifies the server is running. It is sufficiently distinct from all siblings (none of which perform health checks), though it does not explicitly contrast itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the purpose ('verify server is running'), which for a health endpoint is largely self-evident. No explicit when-to-use/when-not-to-use guidance or named alternatives are provided, but the natural trigger condition is readable.
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:
We will get the user_id from the request context.
We will validate the user's generation tokens.
We will call the Image-to-Video API using the provided image URL and descriptive prompt.
The API processes the inputs and returns a JSON response containing the video URL.
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'.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| image_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses a real behavioral trait: it reads user_id from context and validates the user's generation tokens before calling the API, implying an auth/quota gate. It stops short of error modes, latency, or what happens when tokens are insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Input/Output are front-loaded and the extraction example is valuable, but the five-step 'Steps' section narrates internal implementation (fetch user_id, validate tokens, call API, parse JSON) that the agent cannot act on. For a two-parameter tool this is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values are structurally covered, and the description still confirms a video URL is returned. Combined with the token-validation note and the parameter extraction example, an agent has enough to call it correctly, missing only alternative-selection guidance and error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it largely does: it defines image_url as a URL and prompt as a scene description, plus a worked extraction example. It omits constraints like accepted image formats or prompt length limits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it converts a static image into a dynamic video, with the image as the base and the prompt guiding animation. This clearly separates it from text-driven siblings like generate_video, though it never names an alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied ('converts a static image into a dynamic video'); there is no explicit when-to-use vs generate_video or generate_image, no prerequisites beyond token validation, and no exclusions. The invocation guidance is present but selection guidance is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
logo_generatorBInspect
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:
We will get the user_id from the request context.
We will validate the user's generation tokens.
We will call the Logo Generation API with the provided prompt.
This Logo Generation API will return a JSON response with the logo image URL.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 does disclose real behavioral traits: it pulls user_id from request context, validates generation tokens, and returns a URL — enough to signal a token-gated operation. However, it does not say what happens when tokens are exhausted/invalid (error behavior) or whether the call is billed/rate-limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with Input/Output/Functionality headers, which is good, but the five-step internal implementation walkthrough and the repetitive client-model instruction restate the same points. Roughly a third of the text is implementation detail an agent does not need to invoke the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter generator with an output schema, the description covers input meaning, the token prerequisite, and the general flow, so it is nearly sufficient. It explains the return value redundantly (output schema already exists) but omits failure modes for the token check.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and there is a single parameter, so the description must compensate. It does: it explains the prompt should 'describe the desired logo style or content' and supplies a concrete extraction example ('vegan bakery with green leaves'), giving meaning well beyond the bare string type.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('generates a logo using the provided text prompt') and clearly scopes it as logo creation via the Logo Generation API. It is clear, but it never explicitly distinguishes itself from the sibling 'generate_image', so an agent must infer when a logo tool is preferable to a generic image tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use/when-not-to-use guidance and no mention of alternatives such as generate_image or edit_image_with_text. The only directional text is a client-model instruction about extracting the prompt parameter, which is parameter handling rather than tool-selection guidance.
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:
Gets user_id from context and validates tokens.
Generates music using the prompt and category ID.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| duration | No | ||
| music_category_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
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 does disclose useful internals: it 'validates tokens' (implying auth) and 'retrieves the final music URL from the queue' (implying async latency). But it says nothing about failure modes, queue wait times, or rate limits, so it only partially meets the higher bar set by the missing annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded, but the description is bloated with redundancy: duration is described three times, and the 'Args'/'Returns' blocks duplicate the schema and the client-model instructions. The 'INSTRUCTION FOR CLIENT MODEL' section is largely restating extraction that the schema already conveys.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required (and is redundant here). The description supplies enough for an agent to call correctly: required inputs, the optional duration semantics, and the get_music_categories prerequisite. The main gap is the unexplained overlap with song_generator.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, and it largely does: it explains prompt as a text description of desired music, music_category_id as a valid integer category ID, and duration as optional, 0-30 seconds, defaulting to 15. Only the duration bound and default are covered; nothing extra is added for the required params beyond the schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb+resource: 'generates music based on a text prompt and selected music category ID.' It is clear about what the tool produces (a music URL). However, it never distinguishes itself from the sibling 'song_generator', leaving an agent to infer the difference between music and song generation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'RECOMMENDATION: Call get_music_categories() first to see available category IDs' explicitly routes the agent to a prerequisite sibling. It also clarifies duration is optional. It lacks when-not-to-use guidance or a comparison to song_generator, but the prerequisite routing is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_backgroundBInspect
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:
We will get the user_id from the request context.
We will validate the user's generation tokens.
We will call the Background Remover API with the provided image URL.
This Background Remover API will return a JSON response with the processed image URL.
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'.
| Name | Required | Description | Default |
|---|---|---|---|
| image_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses that generation tokens are validated (an auth/quota prerequisite) and that an external Background Remover API is called, but it omits failure modes, what happens when tokens are insufficient, and any rate or size limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The Input/Output framing is front-loaded and the client extraction instruction earns its place, but steps 1-5 describe internal server implementation (token validation, API calls) that an agent cannot act on and that add bulk without value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 already present, the description covers the input format, the extraction behavior, and the general return shape adequately. It could add when-not-to-use context, but nothing critical for calling the tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, and it does: it names the 'image_url' string parameter, specifies it is a URL, and gives a concrete extraction example. It adds meaning well beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'remove the background from an image', reinforced by input/output statements. It does not, however, distinguish itself from adjacent siblings like edit_image_with_text or upscale_image, which also take an image URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 such as edit_image_with_text or upscale_image. The client instructions cover how to extract the parameter but say nothing about choosing this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchAInspect
Search for tools and resources available in the Saifs AI MCP server.
This tool allows ChatGPT to discover available tools and their capabilities. It searches through tool descriptions, names, and functionality to find relevant tools.
Args: query: The search query to find relevant tools
Returns: A JSON string containing search results with tool information
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose the search index scope (tool descriptions, names, functionality), which is genuinely useful. However it says nothing about whether the operation is read-only/safe, any auth or rate constraints, or result limits, which is a notable gap for an unannotated tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, which is good, but the second sentence ('allows ChatGPT to discover available tools and their capabilities') largely restates the first, and the 'Returns' section is redundant given an output schema exists. Roughly a third of the text does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter discovery tool with an output schema (so return values need not be described), the description covers purpose and what the search operates over. What an agent needs to call it correctly is present; only behavioral caveats (safety, limits) are absent, which is minor at this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'query' property has no schema-level documentation, so the description's 'The search query to find relevant tools' is the only source of semantics. It conveys the parameter's intent but adds nothing about matching behavior, expected syntax, or query construction.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search) and resource (tools and resources in the Saifs AI MCP server), and explicitly frames it as a discovery tool for capabilities. This unambiguously separates it from all 17 siblings, which are concrete media/token/health operations, none of which is a discovery tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: 'allows ChatGPT to discover available tools' suggests when to reach for it, but there is no explicit when-to-use trigger, no when-not guidance, and no mention of an alternative path. Adequate but with clear gaps.
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:
We will get the user_id from the request context.
We will validate the user's generation tokens.
We will call the Lyrics to Melody API with the provided lyrics and parameters.
This API will return a JSON response with the generated song URL and details.
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'.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | Yes | ||
| title | No | Melody | |
| lyrics | Yes | ||
| country | No | US | |
| language | No | English | |
| ref_file_url | No | ||
| audio_duration | No | ||
| ref_audio_strength | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful behavior: it pulls user_id from request context, validates the user's generation tokens (implying quota/limit enforcement), calls an external Lyrics to Melody API, and returns a song URL. It stops short of stating failure modes, what happens when tokens are exhausted, or latency/rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The Input/Output/Functionality opening is well front-loaded, but the 'Steps' list is padded boilerplate (step 5 merely restates step 4), and the long 'INSTRUCTION FOR CLIENT MODEL' block is largely prompt-engineering scaffolding rather than tool semantics. It is functional but noticeably over-sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter, no-annotation tool whose output schema already covers return values, the description supplies the needed input semantics, the token-validation prerequisite, and the high-level pipeline. Only the ambiguous defaults (audio_duration, ref_file_url) keep it from being fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, and it largely does: it names both required params (lyrics, tags), explains tag semantics with examples and multi-tag combining, and lists all six optional params with defaults, including the 0.0-1.0 range for ref_audio_strength. Gaps remain on the meaning/units of audio_duration (default 0) and the expected format of ref_file_url.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: it 'generates a custom song from provided lyrics' matching style/mood/tone from tags. That is clear and non-tautological. However, it does not differentiate from the sibling tool 'music_generator', which an agent must otherwise disambiguate on its own.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through the required inputs (lyrics plus genre tags) and the token-validation step, so an agent can infer this is the lyrics-to-song path. But there is no explicit when-to-use guidance versus siblings like music_generator or text_to_speech, and no when-not or prerequisite conditions stated.
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:
Gets user_id from context and validates tokens.
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'.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| voice_id | No | female | |
| language_id | No | en |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses meaningful behavior: it validates tokens, derives user_id from context, applies language and voice defaults, and returns a generated audio URL. It does not mention constraints such as text length limits, audio format, storage lifetime, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is front-loaded and structured, but it repeats the same information across Input/Output, Args/Returns, and client instructions. Some redundancy reduces conciseness, though the extra guidance is largely useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter text-to-speech tool with no annotations and an output schema, the description covers inputs, defaults, output, and a language-discovery recommendation well. It is still missing behavioral constraints such as maximum text length and supported voice/language values beyond the get_languages pointer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, and it does: it names all three parameters, explains defaults for language_id and voice_id, gives example values such as 'fr' and 'male', and points to get_languages() for valid language IDs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: it converts text to speech in a specified language and voice and returns the audio URL. This clearly distinguishes it from siblings such as video_to_audio, music_generator, and song_generator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context with defaults, an example mapping a user request to parameters, and a recommendation to call get_languages() first. It does not explicitly state when not to use this tool versus alternatives, so it falls short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upscale_imageBInspect
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:
We will get the user_id from the request context.
We will validate the user's generation tokens.
We will call the Image Upscaler API with the provided image URL and scale factor.
This Image Upscaler API will return a JSON response with the upscaled image URL.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| image_url | Yes | ||
| scale_factor | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it discloses that the user_id is pulled from request context and generation tokens are validated — a real auth/failure hint. However it lists internal API steps that don't inform invocation and omits failure behavior or whether the image URL must be publicly reachable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The same fact — an upscaled image URL is returned — is restated three times across Functionality, Output, and Steps, and the numbered 'Steps' narrate internal API plumbing that the agent cannot act on. Section labels help, but the redundancy and irrelevant internals dilute the signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and both parameters are fully documented, so the basics are covered for a simple 2-param tool. The gap is routing: nothing tells the agent why to pick upscale_image over the many image/video siblings, which is the main ambiguity left unresolved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate, and it largely does: image_url as a string URL, scale_factor as an integer defaulting to 2 with allowed values 2-4, plus a worked example. It stops short of stating accepted URL formats or image type/size limits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'upscale an image to a higher resolution' with input/output described. It is distinguishable from generation siblings like generate_image, but never names or contrasts any sibling (e.g. edit_image_with_text) that an agent might confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains parameter extraction (default 2, range 2-4) but never says when to choose this tool over the 17 siblings, nor any preconditions or exclusions. All the guidance is about how to fill arguments, not when to invoke.
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:
We will get the user_id from the request context.
We will validate the user's generation tokens.
We will call the Audio Application API with the muted video URL and the provided prompt.
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.
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'.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | ||
| video_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full disclosure burden, and it does a fair job: it reveals that a user_id is pulled from request context, that generation tokens are validated before proceeding, and that the audio is generated then merged via an external API. It does not discuss failure modes, latency, or reversibility, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Input/Output/Functionality are appropriately front-loaded, but the five-step 'Steps' list largely restates the functionality paragraph and the client instruction block repeats the parameter semantics. Roughly half the text is redundant, which hurts an otherwise well-structured definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter generative tool with an output schema present, this is close to complete: inputs are explained, the processing pipeline is disclosed, and the return value (updated video URL) is stated. The only shortfall is the absence of guidance on model choice or alternatives, which the sibling list makes relevant.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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, and it does: video_url is specified as a muted video URL and prompt as text describing the desired audio, with an end-to-end extraction example. Format detail is still thin (no URL scheme or prompt-length constraints), so it falls short of 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: it takes a muted video plus a text prompt and generates an audio track merged back into the video. That is clearly distinct from siblings like image_to_video, generate_video, or text_to_speech. It stops short of explicitly naming the sibling it is not, so it is not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'INSTRUCTION FOR CLIENT MODEL' block gives concrete calling context, extraction rules, and a worked example, so usage is implied clearly. However, it never states when to prefer this tool over alternatives such as text_to_speech, music_generator, or song_generator, and gives no exclusions or prerequisites beyond the input format.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
17 tool updates
- Changed
check_token1 field changed- removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
edit_image_with_text1 field changed- removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
fetch1 field changed- removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
generate_image1 field changed- removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
generate_video1 field changed- removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
get_languages1 field changed- removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
get_music_categories1 field changed- removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
health1 field changed- removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
image_to_video1 field changed- removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
logo_generator1 field changed- removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
music_generator1 field changed- removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
remove_background1 field changed- removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
search1 field changed- removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
song_generator1 field changed- removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
text_to_speech1 field changed- removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
upscale_image1 field changed- removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
- Changed
video_to_audio1 field changed- removed
Output schema / descriptionRemoved value: -"Generic wrapper for non-object return types."
1 tool update
- Removed
feedback
1 tool update
- Added
feedback
17 tool updates
- First observed
check_token - First observed
edit_image_with_text - First observed
fetch - First observed
generate_image - First observed
generate_video - First observed
get_languages - First observed
get_music_categories - First observed
health - First observed
image_to_video - First observed
logo_generator - First observed
music_generator - First observed
remove_background - First observed
search - First observed
song_generator - First observed
text_to_speech - First observed
upscale_image - First observed
video_to_audio
Publisher details
- Operator
- Saifs.ai · Publisher source
- Operator website
- https://saifs.ai/ · Publisher source
- Vendor relationship
- Not applicable
- Documentation
- Not applicable
- Trust center
- Not applicable
- Restrictions
- Not applicable
Related MCP Connectors
On-brand creative studio for AI agents: images, video, audio, and 3D.
On-brand ad creative generation: teach it your brand once, generate images and video forever.
Generate images, videos, voiceovers, and captions from a chat prompt.
Create and edit on-brand images and videos with reusable character and product references.
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables an AI assistant to generate and edit brand-compliant marketing images through MCP tools, including creating visuals from prompts, modifying reference photos, and refining results based on prior output.-
- FlicenseNot gradedqualityBmaintenanceEnables to plan, write, illustrate, and voice a full marketing campaign through an MCP pipeline that generates copy, moodboards, voiceovers, and images with automated guardrails and budget controls.-
- AlicenseNot gradedqualityDmaintenanceGenerate and refine AI images/audio/video through natural conversation.412Apache 2.0

inReels MCPofficial
AlicenseNot gradedqualityCmaintenanceEnables AI agents to generate video ads, UGC ads, static image ads, voiceovers, and faceless videos, with tools for quoting, model discovery, asset upload, and run status checks.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.