annotation-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_image_infoB | Get image metadata (dimensions, format, orientation, size, alpha, density). |
| annotateC | Draw multiple annotations (bbox, arrow, highlight, callout, text, circle) on an image. Returns annotated image + manifest JSON. |
| draw_bounding_boxC | Draw a single bounding box on an image. Convenience wrapper around annotate. |
| highlight_regionB | Highlight a rectangular region on an image. Convenience wrapper around annotate. |
| draw_numbered_calloutsC | Draw numbered callout circles on an image. Convenience wrapper around annotate. |
| detect_barcodesB | Detect 1D barcodes (EAN, UPC, Code 128/39, etc.) and 2D codes (QR, DataMatrix, PDF417) in an image. Returns deterministic pixel bounding boxes for each detected code. Requires pyzbar + zbar library. |
| detect_text_regionsA | Detect text regions in an image using Tesseract OCR. Returns each region with its text content, pixel bounding box, and confidence score. Use this to find the coordinates of brand titles, dosage tables, ingredients lists, etc. Supports multiple languages (e.g. |
| crop_for_inspectionA | Crop a region of an image and save it to a new file. Useful for iteratively zooming into a region so a vision model can give more precise coordinates. Bounding box can be in pixel or normalized [0, 1] coordinates; optional padding expands the crop on each side. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Three tools (draw_bounding_box, draw_numbered_callouts, highlight_region) are explicitly convenience wrappers around annotate, creating overlapping functionality. An agent may be uncertain whether to use annotate directly or the wrapper.
All tool names follow a verb_noun snake_case pattern (e.g., detect_barcodes, get_image_info), with one minor exception (crop_for_inspection uses a preposition) but still consistent in style.
The 8-tool surface is well-scoped for an image annotation and detection server, providing core operations without unnecessary bloat.
Covers annotation, detection (barcodes, text), cropping, and metadata. Minor gaps: no tool to clear/undo annotations, but core workflows are supported.