Skip to main content
Glama

i_bitmap_to_svg

Vectorize flat icons, logos, and simple illustrations into layered color SVGs; use binary mode for clean 2-color traces. Photos are rejected to prevent huge blurry files.

Instructions

Vectorize a flat graphic image (icon / logo / flat illustration / screenshot of simple shapes) into a layered color SVG. Input object awareness: PHOTO-type images (high color entropy) are rejected — photo-to-SVG produces huge blurry files; keep photos as PNG/WebP. Only convert images you have rights to. Binary mode gives a clean 2-color result for icons/logos.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "path": "<path>"
    },
    "name": "i_bitmap_to_svg"
  }
}

Input Schema

NameRequiredDescriptionDefault
pathYesLocal image file path (PNG/JPEG, flat graphic — not a photo)
color_modeNo"color" = multi-color layered tracing (default); "binary" = 2-color clean vector for icons/textcolor
max_colorsNoColor layer count for color mode (2-64, default 16)
allow_photoNoAllow photo-like images through (not recommended — output will be huge and blurry)
max_dimensionNoDownscale guard: input larger than this is reduced before tracing (default 1024)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.4

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations at all, the description carries the full behavioral burden and does well on rejection rules (photos blocked), quality tradeoffs (huge blurry output) and a licensing caveat (only convert images you have rights to). It never explains what the call returns — an SVG string, a file path, or a written output location — nor anything about processing cost or failure modes, which matters because there is no output schema.

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

Conciseness4/5

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

The capability statement and the photo-rejection rule are front-loaded, so an agent gets the gating decision first. Some content is redundant with the schema — the "huge blurry files" warning repeats the allow_photo parameter description almost verbatim. Four sentences total, with no filler beyond that overlap.

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 5-parameter conversion tool with no annotations and no output schema, the definition covers inputs and gating well. The unresolved gap is output: an agent cannot tell whether the result is an SVG payload, a saved file path, or a URL, and where a layered SVG lands on disk. That is material for a tool whose entire job is producing an artifact.

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 100%, so every parameter including color_mode, max_colors, allow_photo and max_dimension is already documented. The description only restates that binary mode yields a clean 2-color result, which duplicates the enum description rather than adding new meaning. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose4/5

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

The description opens with a precise verb+resource+output pairing ("Vectorize a flat graphic image ... into a layered color SVG") and enumerates accepted input classes (icon/logo/flat illustration/simple-shape screenshot). It clearly separates this from download/list siblings like i_download_svg by describing a conversion, not a fetch, though it never names a sibling tool directly.

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

Usage Guidelines4/5

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

It states an explicit exclusion (photo-type images with high color entropy are rejected) and gives the alternative action for that case (keep photos as PNG/WebP). It also guides mode choice: binary for icons/logos, color layered as the default. It stops short of naming a sibling tool to use instead of conversion, which is the only missing piece.

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