MCP server exposing barcode tools (GTIN validation, GTIN generation, barcode decoding, barcode image generation), deployed as an AWS Lambda behind API Gateway.
Four well-defined barcode tools with complete schemas, clear descriptions, and proper error handling. All tools have input schemas with type definitions and parameter descriptions. Descriptions average ~180 chars, within the 10 - 1024 baseline. Tool names follow verb_noun convention (validate_gtin, generate_gtin, generate_barcode_image, decode_barcode_image). Error responses include actionable guidance (e.g., 'Failed to generate barcode: {message}'). Minor gaps: no tool annotations (readOnlyHint/destructiveHint), output schemas not formally documented, and no pagination/limit guidance for decode_barcode_image despite accepting base64 images.
Decodes a barcode (1D or 2D) found in a supplied image. Provide the image as base64-encoded PNG/JPEG/BMP data, optionally prefixed with a data: URL header. Optionally restrict the search to specific formats.
Renders a barcode image (PNG) for the given code and symbology. Supports common 1D retail symbologies (GTIN/EAN/UPC family, Code128, Code39, ITF-14) and 2D symbologies (QR Code, Data Matrix, PDF417, Aztec). Supported barcodeType values: code128, code39, ean13, ean8, upca, upce, itf14, qrcode, datamatrix, pdf417, azteccode.
Generates a random, check-digit-valid GTIN of the requested length (8, 12, 13 or 14 digits). An optional numeric prefix (e.g. a GS1 company prefix) can be supplied; the remaining digits are randomised and a correct check digit is appended.
Validates a GTIN/EAN/UPC barcode number (lengths 8, 12, 13 or 14) by recomputing its GS1 check digit and comparing it to the supplied one. Spaces and hyphens in the input are ignored.
Tool annotations missing: no readOnlyHint, destructiveHint, or idempotentHint declared. All four tools are read-only operations but lack formal annotation.
Output schemas not formally documented. Tool descriptions state what is returned (e.g., 'JSON result', 'PNG image') but no structured schema definition is visible for LLM planning.
decode_barcode_image accepts base64 images without documented size limits or timeout guidance. Large images could cause memory exhaustion or slow processing.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | A | 86 | 2026-07-28+ | v2 |
generate_gtin prefix parameter lacks explicit validation guidance in description. Regex pattern '^\d*$' is present in schema but description should state 'numeric digits only, no spaces or special characters'.
No batch variants offered. If an agent needs to validate 100 GTINs or generate 50 barcodes, it must call the tool 100/50 times sequentially, wasting tokens and latency.