Skip to main content
Glama

Create a local ICO icon

abox_image_to_ico

Converts a JPEG, PNG, or WebP image into a single ICO with selected icon sizes, using padding, cropping, stretching, and optional background, then verifies the output.

Instructions

Convert a still JPEG, PNG or WebP into one ICO containing requested icon sizes. Uses the existing abox.tools image rendering and ICO encoder, with padding, crop or stretch and transparent or solid background. Writes a new ICO and verifies its directory and image entries.

Input Schema

NameRequiredDescriptionDefault
fitNopad
sizesNo
storageNoauto
backgroundNo
input_pathYesAbsolute local filesystem path. URLs and network shares are refused.
output_pathYesAbsolute local filesystem path. URLs and network shares are refused.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.9.0

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare a non-readOnly, non-destructive, closed-world mutation, and the description usefully adds that it writes a new ICO and then verifies its directory and image entries, plus that it reuses abox.tools' renderer/encoder. It does not say what happens if output_path already exists (overwrite?), what the return payload contains, or any limits, which is the main behavioral gap for a file-writing tool.

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

Conciseness4/5

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

Three dense sentences with the conversion target stated first, followed by mechanics and the write/verify step. No filler, though the middle sentence packs three distinct behaviors into one long clause and could be split for scannability.

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

Completeness3/5

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

For a 6-parameter file-writing tool with no output schema, the description covers source formats, fit modes, background and the write-and-verify outcome. It leaves the storage encoding parameter and the overwrite behavior of an existing output_path unexplained, which an agent needs before calling it safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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

Schema description coverage is 33%, so the description has to compensate and it partly does: it maps 'pad, crop or stretch' to fit, 'requested icon sizes' to sizes, and 'transparent or solid background' to background. It never mentions the storage option (auto/png/bmp), and it paraphrases enum values without explaining what pad versus crop actually does visually.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a specific verb (Convert), a precise input class (still JPEG, PNG or WebP) and a precise output (one ICO with requested icon sizes). No sibling produces ICO output, and the format restrictions implicitly separate it from abox_image_convert and abox_svg_to_image.

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

Usage Guidelines3/5

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

Usage is implied: an agent can infer this is the tool for turning a raster image into a multi-size icon. There is no explicit when-to-use/when-not guidance, no mention of the alternative siblings (image_convert, svg_to_image), and no prerequisites such as the source needing to be a local still image rather than animated GIF.

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