Skip to main content
Glama

Supervision Draw

Annotate an image with detections using supervision's annotators (box, round_box

annotate

Annotate an image with detections using supervision's annotators (box, round_box, box_corner, circle, dot, ellipse, triangle, label, color, mask, polygon, halo, background_overlay, blur, pixelate, percentage_bar), applied in order. Input: base64 image up to 4 megapixels, up to 500 detections with xyxy pixel boxes and optional class_id, confidence, ASCII label, polygon. Returns the annotated image (base64 PNG or JPEG), size and counts per class. Price: $0.003 a call (3 free calls a day without an API key).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
imageYesBase64 of a PNG, JPEG, BMP or WebP file (a data: URI also works), up to 4 million pixels and about 2 MB
formatNoOutput format (default png)
qualityNoJPEG quality 1-100 (default 90)
annotatorsNoAnnotators applied in order, each a type name or an object {"type": ..., options}. Default [box, label]. Put blur, pixelate, color, mask or background_overlay before box and label. Types: box, round_box, box_corner, circle, dot, ellipse, triangle, label, color, mask, polygon, halo, background_overlay, blur, pixelate, percentage_bar. Options use supervision's names: color, color_lookup, thickness, opacity, roundness, corner_length, radius, position, start_angle, end_angle, base, height, width, kernel_size, pixel_size, outline_thickness, outline_color, border_color, border_thickness, force_box, text_color, text_scale, text_thickness, text_padding, text_position, border_radius, smart_position. color: A hex colour like "#ff8800" or a name: black, blue, green, grey, red, roboflow, white, yellow (default: supervision's class palette). color_lookup: What picks the colour: "class" (default when every detection has a class_id), "index" (position in the list) or "track" (tracker_id). position and text_position: Anchor point: center, center_left, center_right, top_center, top_left, top_right, bottom_left, bottom_center, bottom_right, center_of_mass
detectionsYesUp to 500 detections, drawn in this order
class_namesNoNames indexed by class_id, used in generated labels and in counts.byClass (printable ASCII)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does well: it discloses input caps, the return payload (base64 PNG/JPEG plus image size and per-class counts), and cost (3 free calls/day, $0.003 thereafter). It stops short of describing error behavior, what happens on over-limit input, or latency.

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

Conciseness3/5

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

Front-loaded and dense, with the capability stated first and constraints/returns/pricing after. However, the inline enumeration of all sixteen annotator types duplicates the schema verbatim and inflates the first sentence without adding information.

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

Completeness5/5

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

For a tool with no output schema, the description covers what an agent needs: input size/detection limits, output format and contents, and the auth/pricing model. Nothing essential to calling it correctly is missing.

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 the schema already documents image, format, quality, annotators, detections and class_names in depth. The description largely restates the annotator list and size limits rather than adding new semantics, so the baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb and resource (annotate an image with detections), names the underlying library and annotator family, and specifies that annotators are applied in order. There are no siblings, but the capability is unambiguous and scoped (base64 image, up to 500 xyxy detections).

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 gives clear operational context: input limits (4 megapixels, 500 detections), supported detection fields, and the pricing/free-tier model that governs whether a caller needs an API key. There are no sibling tools to route against and no explicit exclusions, so this is clear context without alternatives.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources