Shelf Auditor MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VISION_MCP_DEVICE | No | Device to use for inference: auto, cpu, or cuda | auto |
| VISION_MCP_MAX_EDGE_PX | No | Longest image edge before inference | 1920 |
| VISION_MCP_DETECTOR_CONF | No | Detection confidence threshold | 0.2 |
| VISION_MCP_DETECTOR_IMGSZ | No | YOLO inference resolution | 960 |
| VISION_MCP_DETECTOR_WEIGHTS | No | Detector weights file in models/, or an Ultralytics model name | yolov8s_sku110k.pt |
| VISION_MCP_MAX_INLINE_IMAGE_BYTES | No | Above this size, annotated images are returned as a reference instead of inline | 4 MiB |
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 |
|---|---|
| count_productsB | Count products on a shelf photo. Returns per-label counts, per-item boxes (absolute + normalized) with confidence, and an annotated image. |
| detect_gapsB | Find empty (out-of-stock) regions on the shelf, grouped by row, each with a width ratio versus the row's mean product width and a severity. |
| read_price_tagsB | Read price labels and link each to the nearest product. NOTE: the OCR backend is currently a stub and returns status 'not_implemented'. |
| check_planogramB | Compare the shelf against a planogram spec (list of slots with expected normalized regions + optional order). Lists missing / misplaced / extra / wrong-order deviations. |
| shelf_reportB | Run count, gap detection, and (optionally) a planogram check on one image and return a combined JSON and/or markdown report. |
| get_job_statusC | Status of an async job created by a heavy tool call. |
| get_job_resultC | Result of a finished async job. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| count-items | |
| detect-gaps | |
| read-shelf | |
| planogram-check |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| models_available |
TDQS
Scored across 7 tools
Each tool has a clearly distinct purpose: counting products, detecting gaps, reading price tags, checking planograms, and managing async jobs. The shelf_report tool is a composite but still distinct from the individual analysis tools.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., count_products, detect_gaps, get_job_status). The naming is predictable and uniform.
With 7 tools, the set is well-scoped for a shelf analysis domain. It covers the main analysis functions plus job management without being excessive or sparse.
The toolset covers all core shelf analysis tasks: product counting, gap detection, price tag reading, planogram compliance, and combined reporting. Async job support is also included, providing a comprehensive surface.