Supervision Draw

Draw detections onto an image with Roboflow supervision's own annotators, over HTTP and MCP....

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~821Tokens (tool definitions)
~8.3 KBTypical response size
Moderate attention impact (0.64% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "supervision-draw": {
      "url": "https://supervision-draw.saastemly.com/mcp"
    }
  }
}

Remote endpoints

https://supervision-draw.saastemly.com/mcpstreamable-http

What it can do

Tool inventory

Tools (1)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪annotate(image, detections, annotators, class_names, format, ...)

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

{
  "type": "object",
  "properties": {
    "image": {
      "type": "string",
      "description": "Base64 of a PNG, JPEG, BMP or WebP file (a data: URI also works), up to 4 million pixels and about 2 MB"
    },
    "detections": {
      "type": "array",
      "description": "Up to 500 detections, drawn in this order",
      "items": {
        "type": "object",
        "properties": {
          "xyxy": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Box [x1, y1, x2, y2] in pixels from the top-left corner; may extend past the image"
          },
          "class_id": {
            "type": "integer",
            "description": "Class number, 0 or more; picks the colour and the name from class_names"
          },
          "confidence": {
            "type": "number",
            "description": "0 to 1; shown in the label unless label is given"
          },
          "label": {
            "type": "string",
            "description": "Label text, printable ASCII, up to 64 characters (replaces the generated one)"
          },
          "tracker_id": {
            "type": "integer",
            "description": "Tracker id, used when color_lookup is track"
          },
          "polygon": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "number"
              }
            },
            "description": "Outline [[x, y], ...] (3 to 512 points) that mask, polygon and halo draw; required on every detection when one of them is used"
          }
        },
        "required": [
          "xyxy"
        ]
      }
    },
    "annotators": {
      "type": "array",
      "description": "Annotators 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",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Annotator type"
          }
        },
        "required": [
          "type"
        ]
      }
    },
    "class_names": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Names indexed by class_id, used in generated labels and in counts.byClass (printable ASCII)"
    },
    "format": {
      "type": "string",
      "enum": [
        "png",
        "jpeg"
      ],
      "description": "Output format (default png)"
    },
    "quality": {
      "type": "integer",
      "description": "JPEG quality 1-100 (default 90)"
    }
  },
  "required": [
    "image",
    "detections"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded1 tools