Tastepix
Server Details
Generate images from Claude, ChatGPT, Cursor and Codex with 12 top AI image models and 10 tools: up to 4 images per call, SVG vectorization, editing and more. Remote MCP with OAuth, no API keys. Pay per image, no subscription.
- Status
- Healthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 10 tools
Tools target distinct operations (generate, animate, upscale, vectorize, remove background, list models, show, upload). The two upload tools (request_upload vs upload_images) have similar purposes and could be momentarily confused, but descriptions clearly differentiate the use cases.
All 10 tools follow a consistent verb_noun snake_case pattern (animate_image, generate_image, get_video, list_models, remove_background, request_upload, show_images, upload_images, upscale_image, vectorize_image). No deviations or mixed conventions.
10 tools is well-scoped for an image/video generation and manipulation service. Each tool covers a unique capability (generation, animation, upscaling, vectorization, background removal, model listing, upload, viewing) without redundancy.
Covers core image and video generation, editing, upscaling, vectorization, background removal, model listing, and upload/view flows. Missing explicit asset management (e.g., delete, list all assets), but no critical dead ends for typical user workflows.
Available Tools
10 toolsanimate_imageAnimate an imageAInspect
Turn an image into a short video clip (Grok Imagine Video, 720p, with sound), charged per second. Returns at once with status "rendering" and a generation_id: the inline viewer shows the video when it is ready (usually under a minute). If the user asks about it later, call get_video with that generation_id. Do not call animate_image again for the same request.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | No | How it should move, e.g. "slow push-in, waves rolling in". Omit for gentle natural motion. | |
| seconds | No | Length in seconds: 5, 8, 10. Default 5. | |
| asset_id | Yes | The image to animate: an asset_id from a previous result or upload. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare a generic write/open-world profile; the description discloses substantially more: asynchronous return with status 'rendering', the generation_id handle, expected latency ('usually under a minute'), per-second billing, and idempotency guidance. This is exactly the behavioral context annotations cannot convey.
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?
Efficient and front-loaded: the action and its economics lead, then the async contract, then the follow-up routing rule. Every sentence earns its place, though the parenthetical model/resolution clause is slightly dense.
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 no output schema, the description correctly compensates by describing the immediate return (status 'rendering' plus generation_id) and where the result surfaces. An agent has everything needed to call it and handle the response 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?
Schema description coverage is 100%, so prompt, seconds, and asset_id are fully documented in the schema itself. The description only echoes the asset_id/generation_id flow rather than adding syntax or format detail, so the baseline 3 applies.
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 ('turn an image into a short video clip') and adds concrete scope: model (Grok Imagine Video), 720p, with sound, billed per second. It is immediately distinguishable from siblings like generate_image and get_video.
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?
Explicitly routes follow-up usage elsewhere ('call get_video with that generation_id') and gives a clear when-not ('Do not call animate_image again for the same request'). Both the alternative and the exclusion condition are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_imageGenerate or edit an imageAInspect
Generate an image from a prompt, or edit/combine images by passing them as references. Each call is charged to the user. Call it once per request: the result is already shown to the user inline, so do not call it again to refine, retry or verify, and do not call show_images for it, unless the user asks for changes or more images. When the user wants several options or variations of the same idea, set count (up to 4) in this one call instead of calling it several times; each image is charged. Returns an asset_id for later edits.
| Name | Required | Description | Default |
|---|---|---|---|
| count | No | How many images to make from this same prompt (1-4), each charged at the normal price. Use it when the user asks for several options or variations (e.g. "4 logo ideas"); otherwise leave it at 1. | |
| model | No | Model id. Default nano-banana-2.1. Map what the user names to one of these without calling list_models or asking which variant (first listed wins): nano-banana-2.1 (Nano Banana 2.1); nano-banana-2-lite (Nano Banana 2 Lite); nano-banana-pro (Nano Banana Pro); gpt-image-2.5 (GPT Image 2.5); gpt-image-2.5-fast (GPT Image 2.5 Fast); flux-3 (FLUX.3); seedream-5-pro (Seedream 5.0 Pro); seedream-5-flash (Seedream 5.0 Flash); qwen-image-3 (Qwen Image 3); recraft-v4.1 (Recraft V4.1); recraft-v4.1-vector (Recraft V4.1 Vector); grok-imagine-2 (Grok Imagine 2.0). Call list_models only for advice, prices or models not listed. | nano-banana-2.1 |
| prompt | Yes | What to generate, or the edit to apply to the reference images. | |
| resolution | No | One of the model's resolutions in list_models (e.g. 1K, 2K, 4K). Ignored for models without resolutions. | |
| aspect_ratio | No | e.g. 1:1, 3:4, 16:9. Supported values depend on the model (list_models aspect_ratios); unsupported ones are mapped to the nearest supported ratio. Omit when editing to keep the first reference asset's ratio. | |
| reference_urls | No | Public https image URLs to use as references. | |
| reference_asset_ids | No | asset_ids of previous or uploaded images to edit or use as references. Max per model: list_models max_references. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare non-read-only, open-world, non-destructive. The description adds the material facts annotations cannot carry: every call and every image is billed, results are already rendered inline, and the call returns an asset_id for later edits. The cost and idempotency disclosures are precisely the risk-relevant behavior an agent needs before invoking a paid 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core capability, then the constraints in descending order of importance (billing, single-call rule, batching, return value). Every sentence carries an operational instruction; nothing is decorative or repeated.
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 7-parameter generative tool with no output schema, the description covers the missing pieces an agent needs: cost model, retry/suppression behavior, the inline rendering that replaces a show_images call, batch-via-count, and the asset_id returned for follow-up edits. Nothing essential to correct invocation 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?
Schema description coverage is 100%, so the schema already documents all seven parameters well and baseline is 3. The description still adds value by stating count goes 'up to 4' in one call and by explaining the asset_id return that feeds reference_asset_ids, but it does not add anything about resolution, aspect_ratio, or reference limits beyond what the schema says.
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 concrete verb+resource pair and covers both modes ('Generate an image from a prompt, or edit/combine images by passing them as references'), which maps directly onto the reference_urls/reference_asset_ids parameters. It also names sibling tools (show_images, list_models) so an agent can separate this from adjacent capabilities without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-call and when-NOT-to-call guidance: call once per request, do not retry/refine/verify, do not follow with show_images, and only re-call if the user asks for changes. It also routes multi-option requests to the count parameter instead of repeated calls, which is exactly the ambiguity an agent would otherwise guess wrong on.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_videoGet a videoARead-onlyInspect
Check on a video started with animate_image. Returns status "rendering" while it is being made, or shows the finished video inline. Free.
| Name | Required | Description | Default |
|---|---|---|---|
| generation_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds genuinely useful behavioral context beyond that: the two return states ("rendering" vs. finished video shown inline) and the fact that the call is free. It omits failure behavior for an unknown or expired generation id, which keeps it out of the top band.
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 sentences with no filler; the dependency on animate_image is front-loaded and each sentence contributes distinct information (source of the id, return states, cost).
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 no output schema and no annotations covering returns, the description correctly explains the two possible outcomes, which is the key thing an agent needs to branch on. It is close to complete for a one-parameter polling tool, missing only error/expiry 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 description coverage is 0% for the single generation_id parameter, so the description must compensate. It implies the id originates from animate_image, which is helpful context, but it never names the parameter or explains that it is the generation identifier returned by that call, so the mapping is left partly to inference.
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 — checking on a video — and explicitly ties it to the sibling tool that produces the resource ("a video started with animate_image"). An agent can distinguish this polling tool from animate_image, generate_image, and the show/list siblings without opening any schema.
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 clearly states the trigger condition: use this after a video has been started with animate_image. It does not, however, give exclusions or practical polling guidance (e.g., how often to re-check), so it stops short of the full when/when-not treatment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_modelsList image modelsARead-onlyInspect
Curated image models with what each is best for and its price per image by resolution in EUR and USD (the user pays in their account currency), plus the extra per reference image. Set all=true only if the user asks for a model not listed. Choose the model yourself; never ask the user to pick between variants (use the first listed of a family).
| Name | Required | Description | Default |
|---|---|---|---|
| all | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this as a safe, closed-world read (readOnlyHint=true, openWorldHint=false). The description adds genuine context beyond that: pricing is quoted in EUR and USD while the user is billed in account currency, and reference images carry an extra charge. It does not discuss ordering guarantees or pagination, so it stops 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?
Three sentences, front-loaded with what is returned, followed by the parameter rule and the selection policy. Every sentence changes agent behavior and none is redundant.
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 no output schema, the description takes on the burden of describing the return payload and does so (best-for notes, per-resolution pricing in two currencies, reference-image surcharge), while also covering the sole parameter and downstream selection policy. Nothing needed to call this one-parameter read tool correctly 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 coverage is 0%, so the description must carry the single boolean parameter, and it does: 'all' is documented as the switch for models not in the curated list, with an explicit default behavior of curated-only. The only minor gap is that it never states how exhaustive the 'all' set is.
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 (list) and resource (curated image models) and details exactly what the listing contains: best-use notes and per-image pricing by resolution in EUR/USD plus reference-image surcharges. This clearly separates it from the action siblings (generate_image, upscale_image, etc.), which mutate or produce images rather than enumerate models.
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 explicit conditional guidance for the one parameter: 'Set all=true only if the user asks for a model not listed.' It also supplies an agent-facing decision policy ('Choose the model yourself; never ask the user to pick between variants'), which tells the agent how to act on the results rather than just what they contain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_backgroundRemove backgroundAInspect
Remove the background of an image, leaving the subject on transparency (PNG). Great for product shots, logos, stickers and portraits. Charged per image. The result shows inline and gets its own asset_id.
| Name | Required | Description | Default |
|---|---|---|---|
| asset_id | Yes | The image to work on: an asset_id from a previous result or upload. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (not destructive, open world), the description discloses two real behavioral traits: the operation is charged per image, and the result is rendered inline while also receiving its own asset_id (implying a new asset rather than in-place mutation, consistent with destructiveHint=false). It does not cover failure modes or rate limits, but for a one-parameter image transform this is solid added value.
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 sentences, front-loaded with the action and output, then use cases, then cost and return behavior. Every sentence carries distinct information with no filler.
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 no output schema, the description compensates by explaining what comes back – an inline result plus an asset_id – and warns about per-image cost. Combined with a single well-documented parameter, an agent has everything needed to call it 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?
There is a single parameter with 100% schema description coverage, so the schema already explains that asset_id is an asset from a previous result or upload. The description adds nothing about parameter format or sourcing beyond that, so the baseline of 3 applies.
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 (remove) and resource (background of an image) plus the precise output form (subject on transparency, PNG). No sibling tool does background removal, so an agent can distinguish it from upscale_image, vectorize_image, and animate_image without further reading.
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 gives clear situational context – product shots, logos, stickers, portraits – which tells the agent when this tool is the right fit. It stops short of naming exclusions or alternative tools for cases where background removal is the wrong choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
request_uploadGet an upload URLAInspect
One-time URL to upload a local file. For clients that can run code: PUT the file with the returned curl command. The upload widget uses it too. In chat apps prefer upload_images. Accepted: image/png, image/jpeg, image/webp.
| Name | Required | Description | Default |
|---|---|---|---|
| mime_type | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only cover the generic safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false), so the description must carry the real behaviour, and it does: the URL is one-time, the flow is a client-side PUT via a returned curl command, and the widget consumes it too. It omits expiry window, auth requirements, and size limits, 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?
Front-loaded with the core fact (one-time URL) and four short, purposeful sentences. The trailing accepted-types list duplicates the schema enum, which is the only wasted line, and the fragmentary style slightly hurts parseability.
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 no output schema, the description usefully explains what comes back (a curl command / one-time URL) and how to consume it, and the single parameter's valid values are covered. Missing details about URL expiry, permissions, and error cases leave a small gap for a network-facing 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 description coverage is 0%, but the single parameter is an enum whose allowed values are already listed in the schema, and the description's 'Accepted: image/png, image/jpeg, image/webp' simply restates them. It adds the mild context that these describe the file being uploaded but no format/validation nuance beyond the enum.
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 opens with a specific verb and artifact: a 'One-time URL to upload a local file', which is exactly what the tool returns. It explicitly distinguishes itself from the sibling upload_images ('In chat apps prefer upload_images'), so an agent can route without opening either schema.
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 names the operating condition for this tool (clients that can run code, PUT the file with the returned curl command) and names the alternative plus the condition that selects it (chat apps → upload_images). This is explicit when/when-not routing rather than implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_imagesShow imagesARead-onlyInspect
Render existing images inline when the user asks to see earlier results again or after an upload. Free. Not needed after generate_image, whose result is already shown.
| Name | Required | Description | Default |
|---|---|---|---|
| asset_ids | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds non-schema behavioral context — that the call is free and that rendering is inline/idempotent-ish after an upload — but says nothing about invalid asset IDs or the 50-item cap behavior.
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 sentences, zero filler, with the core action stated first and the sibling exclusion last. Every sentence carries distinct information.
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?
No output schema exists, but since output is 'images rendered inline' the description adequately conveys the return effect. The remaining gap is parameter provenance: an agent is never told what an asset_id is or where to obtain one, which is significant for a single required-array parameter at 0% coverage.
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 required parameter 'asset_ids', and the description never names it or explains where the IDs come from. The phrases 'existing images' and 'earlier results' only loosely imply provenance, so the description fails to compensate for the coverage gap.
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 ('Render existing images inline') and scopes it to a situation. It also explicitly distinguishes itself from a close sibling by declaring it is 'not needed after generate_image', so an agent can separate the two without opening either schema.
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?
Gives explicit positive triggers ('the user asks to see earlier results again or after an upload') and an explicit exclusion ('Not needed after generate_image, whose result is already shown'). This is exactly the when/when-not routing guidance the dimension asks for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_imagesUpload imagesARead-onlyInspect
Show an inline upload widget so the user can add local images (e.g. ones they attached in chat). Then wait: the user sends a message with the new asset_ids.
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | Short hint shown in the widget, e.g. "Drop the product photo". | |
| max_files | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint/openWorldHint annotations the description adds the crucial non-obvious behavior: the tool surfaces a widget and then BLOCKS waiting for the user's follow-up message containing asset_ids. That interactive/asynchronous completion flow is real value the annotations don't convey. It does not contradict readOnlyHint (no server-side mutation).
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 sentences, front-loaded with the action, then the wait condition. The 'Then wait:' fragment is slightly terse but every sentence carries necessary information with no filler.
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 interactive UI tool with annotations covering safety and no output schema, the description communicates the full call lifecycle (show widget -> user sends asset_ids). The only gap is the absence of any parameter detail, which the description leaves entirely to the schema.
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 only 50% (label documented, max_files not) and the description never mentions either parameter, so it adds no meaning about label text or the max_files/batch-size limit. With half the params undocumented in structured data, the description should have compensated but does not.
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 concrete action (show an inline upload widget) and its effect on the user (add local images), including a use-case hint ('ones they attached in chat'). It's distinguishable from sibling image tools, though it doesn't explicitly contrast with request_upload or show_images.
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 'so the user can add local images (e.g. ones they attached in chat)', which tells the agent the triggering scenario. There is no explicit when-not or comparison against the similar siblings request_upload/show_images.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upscale_imageUpscale an imageAInspect
Make an image 2× or 4× larger and sharper, faithfully (no new content), keeping transparency. For print or large screens. Charged per image, same price for 2× and 4×.
| Name | Required | Description | Default |
|---|---|---|---|
| factor | No | 2 or 4. Default 2. | |
| asset_id | Yes | The image to work on: an asset_id from a previous result or upload. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=true), and the description adds real behavioral context beyond them: it is a paid operation charged per image, preserves transparency, and adds no new content. It does not clarify whether the source asset is replaced or a new asset is produced.
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 sentences with zero filler, and the core operation is front-loaded ahead of use context and pricing. Every sentence carries a distinct piece of information.
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 paid mutation with no output schema, the description covers cost, fidelity, and transparency preservation well. Its only gap is not stating what the call returns (e.g., a new asset_id), which the missing output schema would otherwise have to carry.
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 100%, so both parameters are already documented with constraints and the default. The description restates the 2×/4× factor choice and reinforces fidelity but adds no syntax or format detail beyond the schema, so the baseline of 3 applies.
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 (make an image 2× or 4× larger and sharper) with concrete scope. It is immediately distinguishable from generate_image, animate_image, and vectorize_image, which are the neighboring image operations.
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?
"For print or large screens" gives a clear use context, and the fidelity constraint implies when it is appropriate versus generative alternatives. It does not explicitly name a when-not case or an alternative sibling, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vectorize_imageVectorize an imageAInspect
Convert an existing image into an SVG vector file. Use it when the user wants an SVG, a vector or a scalable version of an image they already have (a logo, icon, illustration or flat graphic), instead of generating a new one. Best on clean artwork; photos come out stylized. Returns svg_url: give the user that link for the SVG file. Charged per image.
| Name | Required | Description | Default |
|---|---|---|---|
| asset_id | Yes | The image to work on: an asset_id from a previous result or upload. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, openWorldHint=true, destructiveHint=false, which only flag a non-destructive write), the description discloses the cost model ('Charged per image'), the quality limitation for photos, and the return value (svg_url) the agent should surface to the user. No contradiction with the 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?
Four tight sentences with the core action front-loaded, followed by usage, limitation, and return handling. Every sentence carries distinct, non-redundant information.
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 tool with no output schema, the description covers the essentials an agent needs: what it produces, when to use it, its cost, its quality caveat, and how to hand back the resulting svg_url. Nothing material 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?
There is a single parameter with 100% schema description coverage, so the schema already documents asset_id fully. The description adds no syntax or sourcing detail beyond what the schema states, so the baseline of 3 is appropriate.
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 (convert an existing image into an SVG vector file) and implicitly distinguishes itself from generate_image by noting it works on an image the user 'already has ... instead of generating a new one'. An agent can select it over its siblings without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the trigger (user wants an SVG/vector/scalable version of an existing image) and the alternative it replaces (generating a new one). It also gives a suitability condition — best on clean artwork, photos come out stylized — so the agent knows when not to reach for it.
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.
10 tool updates
- First observed
animate_image - First observed
generate_image - First observed
get_video - First observed
list_models - First observed
remove_background - First observed
request_upload - First observed
show_images - First observed
upload_images - First observed
upscale_image - First observed
vectorize_image
Related MCP Connectors
Generate images with any major model — one API key, one prepaid balance, one MCP.
Multi-model AI image and video generator. 14 models behind one OAuth-secured MCP endpoint.
Create images & video from any MCP agent — 17 models, spend limits, one URL.
Image, video, audio and chat from 61 AI models through one connector. Pay per use, no subscription.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceEnables AI image processing tools such as vectorization, background removal, upscaling, and logo generation from any MCP-compatible client like Claude Code or Cursor.14 npmMIT
- AlicenseNot gradedqualityBmaintenanceGenerate AI images and videos from Claude, Cursor or any MCP client: 48+ models on one account (Flux 2, Nano Banana 2, Seedream 5, Kling V3, Seedance 2.5, Veo 3.1), with the exact cost in credits returned on every call.1MIT

Dora Video MCPofficial
AlicenseNot gradedqualityCmaintenanceEnables AI video and image generation in MCP clients like ChatGPT, Claude, Cursor, and Antigravity through one OAuth endpoint, offering 16 models with upfront cost details.MIT- AlicenseAqualityDmaintenanceGenerate images, video, and audio directly in Claude Code, Cursor, Windsurf, or any MCP-compatible AI agent. 20+ models — Flux, GPT-Image-1, Imagen 4, Grok Imagine, Seedance, ElevenLabs TTS, and more. Free models work without an API key. Paid models require a Pollinations key.828 npm2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.