Public leaderboard

Public assessment

woladi/macos-vision-mcp (macos-vision-mcp)

macos-vision-mcp · v0.4.9 · scanned

What changed in the harness

Selection accuracy 93%, destructive-action safety rate 100% (baseline only -- no rewrite pass applied).

Category breakdown

Where the score comes from.

Earned points across the four signals Gradable measures. Safety and Legibility are scored out of 30; Economics and Discoverability are scored out of 20.

01Safety

30.0 / 30

30.0 out of 30
02Legibility

27.8 / 30

27.8 out of 30
03Economics

19.6 / 20

19.6 out of 20
04Discoverability

14.6 / 20

14.6 out of 20

Highest-impact fix

Estimated gain +5 points

Make target tools discoverable on the first call

Clarify tool names, decision boundaries, and required argument schemas so an agent can choose and construct the target call without exploratory steps.

Description evidence

Defects and rewrites.

0 defects found across the exposed tool descriptions. Suggested rewrites make purpose, inputs, boundaries, and returns easier for an agent to understand.

Tool Defect types Suggested rewrite
No description defects were flagged in this assessment.

Selection evidence

Confusable tool pairs.

5 pairs where similar names or overlapping descriptions may send an agent toward the wrong tool.

Tool A Tool B Confidence Why they collide
detect_document analyze_document medium Both names share 'document' and accept the same path input. A task phrased 'analyze this document photo' or 'detect the document edges' can route an agent to the wrong one — especially since analyze_document also returns rectangles, so a user wanting corner points might get analyze_document instead of the dedicated detector, and vice versa.
ocr_image classify_image medium Both take an image path and are described as extracting information. Vague phrasings like 'read this image', 'analyze this screenshot', or 'tell me what's in this image' genuinely straddle text extraction (OCR) vs content classification, and both surface an 'apple vision, offline' profile.
detect_document classify_image low detect_document's own doc warns 'DO NOT USE for classifying the image (use classify_image)', signaling that 'is this a document/receipt?' or 'identify what this image is' tasks can be misrouted to the boundary detector or to classify when the user wants the other.
ocr_image detect_barcodes low Both decode content from an image: 'read the code on this label' or 'scan the code from this file' is ambiguous between extracting printed text and decoding a QR/barcode, especially since ocr_image's doc says it should not be used for barcode detection but the plain 'extract the code' phrasing could pick either.
detect_faces classify_image low 'Identify the people in this photo' or 'are there faces here' could be answered by classify_image (which returns a 'person'/face-ish category) or detect_faces (which counts and locates faces); both share the same image-path interface, making the choice depend on subtle wording.

Compare the field

One score is useful.
The evidence makes it actionable.

Back to the leaderboard