accueil / serveurs / Médias / com.moltlinestudio/vision
com.moltlinestudio/vision
serveur MCP (Model Context Protocol) · moltline-vision 1.1.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que com.moltlinestudio/vision est sûr ?
Au dernier audit MCP Hub, le serveur MCP « com.moltlinestudio/vision » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 6 outils
- bbox_convert≈ 608 tokens
Convert bounding boxes between COCO, Pascal VOC and YOLO. FREE. The three formats disagree on everything: COCO is [x, y, width, height], VOC is [x1, y1, x2, y2], YOLO is [cx, cy, w, h] normalised to the image. Getting this wrong produces boxes that look plausible and quietly ruin every metric. Typical input {"boxes": [[10, 20, 100, 50]], "from_format": "coco", "to_format": "yolo", "image_width": 640, "image_height": 480} returns {"boxes": [[0.0938, 0.0938, 0.1562, 0.1042]], "converted": 1, "rejected": []}. Use whenever a dataset and a model disagree about format. Not for scoring predictions (detection_metrics) and not for removing overlaps (nms). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "boxes must contain at least one box"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Paramètres, retour & exemple (6)
Paramètresclip· boolean · optionnel
When true, clamp boxes to the image bounds instead of returning them as they are. Off by default, because a box outside the image is usually a bug worth seeing.boxes· array · requis
Boxes to convert, each a list of exactly four numbers in from_format, e.g. [[10, 20, 100, 50]].to_format· string · requis · coco | voc | yolo
The format to convert to; same three choices.from_format· string · requis · coco | voc | yolo
"coco" for [x, y, w, h], "voc" for [x1, y1, x2, y2], or "yolo" for normalised [cx, cy, w, h].image_width· integer · optionnel
Pixel width, required whenever yolo is on either side.image_height· integer · optionnel
Pixel height, required whenever yolo is on either side.
Exemple d'appel{"name": "bbox_convert", "arguments": {"boxes": [], "to_format": "coco", "from_format": "coco"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - colour_check≈ 408 tokens
Check a colour pair against the WCAG contrast thresholds. FREE. Uses the WCAG 2 relative-luminance formula, so the number matches what an accessibility audit will report. Typical input {"foreground": "#767676", "background": "#ffffff"} returns {"contrast_ratio": 4.54, "AA": true, "AAA": false, "required": {"AA": 4.5, "AAA": 7.0}, "verdict": "Passes AA for normal text, fails AAA."}. Use when generating or auditing an interface. Not for converting colours between spaces and not for palettes. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "foreground must be a hex colour like #767676"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Paramètres, retour & exemple (3)
Paramètresbackground· string · requis
Background colour in the same notation.foreground· string · requis
Text colour as hex, e.g. "#767676" or "767676" or "#777".large_text· boolean · optionnel
True for text at least 18pt, or 14pt bold, which WCAG allows to pass at a lower ratio. Default false.
Exemple d'appel{"name": "colour_check", "arguments": {"background": "texte", "foreground": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - detection_metrics≈ 630 tokens
Score detections against ground truth and show the working. PREMIUM (license). Greedy matching at the IoU threshold, highest-confidence prediction first, each ground-truth box matched at most once - the standard protocol. Reports per-class precision, recall and F1, and average precision by the all-points interpolation used by Pascal VOC 2010 onward. Typical input {"predictions": [{"box": [0,0,10,10], "label": "cat", "score": 0.9}], "ground_truth": [{"box": [1,1,11,11], "label": "cat"}]} returns {"overall": {"tp": 1, "fp": 0, "fn": 0, "precision": 1.0, "recall": 1.0, "f1": 1.0}, "per_class": {...}, "mAP": 1.0}. Use to compare two models on the same held-out set. Not for cleaning up a single model's overlapping output first - run nms before this. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "ground_truth must contain at least one box"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Paramètres, retour & exemple (6)
Paramètresbox_format· string · optionnel · coco | voc | yolo
"voc", "coco" or "yolo". Default "voc".image_width· integer · optionnel
Pixel width; required for yolo boxes.predictions· array · requis
Predicted boxes, each {"box": [...], "label": ..., "score": ...}. Score defaults to 1.0 when omitted.ground_truth· array · requis
True boxes, each {"box": [...], "label": ...}.image_height· integer · optionnel
Pixel height; required for yolo boxes.iou_threshold· number · optionnel
Overlap at which a prediction counts as a match. Default 0.5, the usual reporting threshold.
Exemple d'appel{"name": "detection_metrics", "arguments": {"predictions": [], "ground_truth": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - image_probe≈ 401 tokens
Read an image's format and pixel size from its header alone. FREE. Dimensions live in the first few dozen bytes of PNG, JPEG, GIF, BMP and WebP, so a base64 prefix is enough - you do not need to send the whole file, and nothing is decoded. Typical input {"data_base64": "iVBORw0KG..."} returns {"format": "png", "width": 1920, "height": 1080, "aspect_ratio": 1.7778, "aspect_label": "16:9", "megapixels": 2.07, "orientation": "landscape", "bytes_inspected": 512}. Use to find out what you are dealing with before planning a resize. Not for pixel content - nothing here reads pixels - and not for EXIF. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "data_base64 must not be empty"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Paramètres, retour & exemple (1)
Paramètresdata_base64· string · requis
The image file, base64-encoded. The first few hundred bytes are enough for every supported format; send a prefix rather than a large file. Data-URL prefixes like "data:image/png;base64," are accepted and stripped.
Exemple d'appel{"name": "image_probe", "arguments": {"data_base64": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - nms≈ 550 tokens
Remove duplicate detections of the same object. PREMIUM (license). Greedy non-maximum suppression: keep the highest-scoring box, drop everything overlapping it above the threshold, repeat. Ties break on the earlier index, so the result is deterministic rather than dependent on sort stability. Typical input {"boxes": [[0,0,10,10],[1,1,11,11],[50,50,60,60]], "scores": [0.9, 0.8, 0.7]} returns {"keep": [0, 2], "suppressed": [{"index": 1, "by": 0, "iou": 0.6807}], "kept": 2}. Use after a detector that emits overlapping boxes. Not for scoring against ground truth (detection_metrics) and not for format changes (bbox_convert). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "boxes and scores must be the same length"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Paramètres, retour & exemple (6)
Paramètresboxes· array · requis
Candidate boxes in box_format, e.g. [[0, 0, 10, 10]].scores· array · requis
One confidence per box, same order and same length as boxes.box_format· string · optionnel · coco | voc | yolo
"voc", "coco" or "yolo". Default "voc".image_width· integer · optionnel
Pixel width; required for yolo boxes.image_height· integer · optionnel
Pixel height; required for yolo boxes.iou_threshold· number · optionnel
Overlap above which the lower-scoring box is dropped. Default 0.5.
Exemple d'appel{"name": "nms", "arguments": {"boxes": [], "scores": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - resize_plan≈ 553 tokens
Work out the exact scale, padding and crop for a model input size. FREE. Returns the numbers you need to transform boxes alongside the image, which is the step that usually gets skipped. Typical input {"width": 1920, "height": 1080, "target": "yolo_640"} returns {"scale": 0.3333, "resized": [640, 360], "pad": {"left": 0, "top": 140, "right": 0, "bottom": 140}, "box_transform": "x_new = x * 0.3333 + 0; y_new = y * 0.3333 + 140"}. Use before feeding an image to a fixed-input model. Not for finding out the image's size in the first place - that is image_probe. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "unknown target <value>; use one of <value> or set"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Paramètres, retour & exemple (5)
Paramètresmode· string · optionnel · letterbox | cover | stretch
"letterbox" scales to fit and pads the remainder, preserving aspect; "cover" scales to fill and crops the overflow; "stretch" distorts to fit exactly. Default "letterbox".width· integer · requis
Source image width in pixels.height· integer · requis
Source image height in pixels.target· string · optionnel
A named preset: "clip_224", "vit_384", "yolo_640", "sam_1024", "sd_512", "sd_768" or "detr_800". Ignored when target_size is set.target_size· integer · optionnel
A square side length in pixels, overriding target. Use this for a size the presets do not cover.
Exemple d'appel{"name": "resize_plan", "arguments": {"width": 1, "height": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».