Koskamo

Zovo Barcode Maker MCP

Generates print-ready EAN, UPC, Code 128, GS1-128, Code 39, ITF-14 and ISBN barcodes with SVG and PNG downloads. It computes check digits, explains errors, and provides vector graphics with calculated module widths and embedded print resolution for accurate printing.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Zovo Barcode Maker MCP logo, by ZovoCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-01Published by Zovo
MCP endpoint (Streamable HTTP)
https://barcode-maker.zovo.one/mcp
Vendor documentation

What you can do with it

  • Generate an EAN-13 barcode for a product number
  • Make a Code 128 barcode for a SKU as SVG
  • Verify if a UPC number is valid
  • Get GS1 print size guidance

Source and maintenance

Community listingRegistry 1.0.1

Protocol and capabilities

Server
barcode-maker 1.0.1
MCP protocol
2025-06-18
Tools
2 advertised
Resources
1 advertised
Resource templates
1 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "resources": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Zovo Barcode Maker draws print-ready barcodes (EAN-13, EAN-8, UPC-A, UPC-E, Code 128, GS1-128, Code 39, ITF-14, ISBN, ISSN) with SVG and PNG downloads, and validates check digits. It does not issue GS1 numbers: retail UPC/EAN numbers must be licensed from GS1. Call generate_barcode once per barcode; call validate_barcode_number to check a number without drawing it.

Tools

2 advertised

generate_barcode — Generate barcode
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when the user wants a barcode generator: a UPC or EAN-13 barcode for a product, a Code 128 barcode for a SKU or label, GS1-128 with (01) GTIN, (17) expiry and (10) lot, Code 39, an ITF-14 carton code, or a book ISBN barcode. Computes or verifies the check digit (explains a wrong one), applies GS1 quiet zones and sizes, and returns SVG and PNG download links plus calculated print dimensions. One barcode per request; Code 128 up to 80 characters, Code 39 up to 60 characters, and GS1-128 up to 48 data characters including separator FNC1 characters. Does not issue or register GS1 numbers (real UPC/EAN numbers must be licensed from GS1), does not scan images or look up products. Do not use for QR codes.

generate_barcode input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "symbology",
    "data"
  ],
  "properties": {
    "data": {
      "type": "string",
      "maxLength": 120,
      "minLength": 1,
      "description": "What to encode, e.g. 590123412345 (the check digit is added if missing; spaces, hyphens and a leading spreadsheet apostrophe are ignored in numbers), A-10442 for Code 128 (encoded exactly, plain ASCII), (01)09501101530003(17)261231(10)LOT42 for GS1-128 (parentheses recommended; unbracketed AI strings are also read), 0-306-40615-2 for ISBN."
    },
    "add_on": {
      "type": "string",
      "maxLength": 8,
      "description": "Optional 2- or 5-digit add-on printed to the right of an EAN-13, UPC-A, UPC-E, EAN-8, ISBN or ISSN barcode, e.g. 51299 (book price code for 12.99 USD) or 07 (magazine issue)."
    },
    "show_text": {
      "type": "boolean",
      "description": "Print the human-readable digits/text under the bars, e.g. true (default)."
    },
    "symbology": {
      "enum": [
        "ean13",
        "ean8",
        "upca",
        "upce",
        "code128",
        "gs1_128",
        "code39",
        "itf14",
        "isbn",
        "issn"
      ],
      "type": "string",
      "description": "Barcode type, e.g. ean13. ean13 (EAN-13 retail, 12 or 13 digits), ean8 (7 or 8 digits), upca (UPC-A, 11 or 12 digits), upce (UPC-E: 6-8 digits, or a 12-digit UPC-A to compress), code128 (any ASCII text such as SKUs; automatic code set A/B/C switching), gs1_128 (GS1-128 with Application Identifiers), code39 (A-Z, 0-9, - . space $ / + %), itf14 (GTIN-14 carton code with bearer bars, 13 or 14 digits), isbn (book barcode from an ISBN-10 or ISBN-13), issn (magazine barcode from an ISSN)."
    },
    "printer_dpi": {
      "type": "integer",
      "maximum": 1200,
      "minimum": 100,
      "description": "Resolution of the label printer, e.g. 203 or 300. Bar widths are snapped to whole printer dots so every bar prints exactly; the PNG is rendered at this resolution."
    },
    "bar_height_mm": {
      "type": "number",
      "maximum": 300,
      "minimum": 3,
      "description": "Bar height in millimetres, e.g. 15. Defaults to the GS1 height for retail codes, 31.75 mm for ITF-14 and GS1-128, else the larger of 12.7 mm and 15% of the symbol length."
    },
    "x_dimension_mm": {
      "type": "number",
      "maximum": 2,
      "minimum": 0.1,
      "description": "Width of the narrowest bar in millimetres, e.g. 0.33. Overrides magnification. Defaults: 0.33 (EAN/UPC, Code 128, Code 39), 0.495 (GS1-128), 0.635 (ITF-14)."
    },
    "fix_check_digit": {
      "type": "boolean",
      "description": "If the number already has a check digit and it is wrong, replace it with the correct one instead of returning an error, e.g. true. Default false."
    },
    "code39_check_digit": {
      "type": "boolean",
      "description": "Code 39 only: append the optional modulo-43 check character, e.g. true. Default false."
    },
    "magnification_percent": {
      "type": "number",
      "maximum": 250,
      "minimum": 25,
      "description": "EAN/UPC/ISBN/ISSN and ITF-14 size as a percentage of the GS1 nominal size, e.g. 100 (EAN-13 = 37.29 x 25.93 mm; GS1 retail range 80-200)."
    }
  }
}
generate_barcode output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "kind",
    "symbology",
    "label",
    "data",
    "hri",
    "check",
    "related",
    "gs1_prefix",
    "size",
    "png",
    "guidance",
    "warnings",
    "notes",
    "gs1_notice",
    "render",
    "downloads",
    "request"
  ],
  "properties": {
    "hri": {
      "type": "string"
    },
    "png": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "data": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "size": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "check": {},
    "label": {
      "type": "string"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "render": {},
    "code128": {},
    "related": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "request": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "guidance": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "downloads": {
      "type": "object",
      "required": [
        "svg",
        "png"
      ],
      "properties": {
        "png": {
          "type": "string"
        },
        "svg": {
          "type": "string"
        }
      },
      "additionalProperties": false
    },
    "symbology": {
      "type": "string"
    },
    "gs1_notice": {
      "type": [
        "string",
        "null"
      ]
    },
    "gs1_prefix": {},
    "gs1_elements": {}
  },
  "additionalProperties": false
}
generate_barcode annotations
{
  "title": "Generate barcode",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
validate_barcode_number — Validate barcode number
Advertised by the server during the last successful anonymous check.
Advertised read-only

Use this when the user asks whether a UPC, EAN, GTIN-8/12/13/14, SSCC, ISBN-10/13 or ISSN number is valid, what its check digit should be, or wants to convert ISBN-10 to ISBN-13, UPC-E to UPC-A, or UPC-A to EAN-13/GTIN-14. Explains the check-digit arithmetic, gives the corrected number and the GS1 prefix meaning. Does not tell who owns a number, whether it is registered with GS1, or what product it is; does not look anything up online.

validate_barcode_number input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "number"
  ],
  "properties": {
    "type": {
      "enum": [
        "auto",
        "gtin8",
        "gtin12",
        "gtin13",
        "gtin14",
        "sscc",
        "upce",
        "isbn10",
        "isbn13",
        "issn"
      ],
      "type": "string",
      "description": "Number type, e.g. auto (default: detected from the length). gtin8, gtin12 (UPC-A), gtin13 (EAN-13), gtin14, sscc, upce, isbn10, isbn13, issn. Use upce or issn for 8-digit numbers that are not EAN-8."
    },
    "number": {
      "type": "string",
      "maxLength": 40,
      "minLength": 1,
      "description": "The number to check, e.g. 5901234123457, 036000291452, 0-306-40615-2 (ISBN-10), 0317-8471 (ISSN) or 106141412345678908 (SSCC). Spaces and hyphens are ignored. Without its check digit (e.g. 03600029145) the check digit is computed."
    }
  }
}
validate_barcode_number output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "kind",
    "input",
    "type",
    "type_label",
    "valid",
    "check_given",
    "check_expected",
    "corrected",
    "explanation",
    "equivalents",
    "gs1_prefix",
    "notes",
    "barcode"
  ],
  "properties": {
    "kind": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "input": {
      "type": "string"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "valid": {
      "type": "boolean"
    },
    "barcode": {},
    "corrected": {
      "type": "string"
    },
    "gs1_prefix": {},
    "type_label": {
      "type": "string"
    },
    "check_given": {
      "type": "string"
    },
    "equivalents": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "explanation": {
      "type": "string"
    },
    "check_expected": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
validate_barcode_number annotations
{
  "title": "Validate barcode number",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

1 advertised

barcode-maker-widget — Zovo Barcode Maker view

Advertised by the server during the last successful anonymous check.

Interactive view for Zovo Barcode Maker.

barcode-maker-widget URI
ui://widget/barcode-maker-v2-1.0.1-2d6875a9fb59bac71ef82c69a8564132f1b92dd8564c7e9ee5c1a1a8bebb39ae.html

MIME type: text/html;profile=mcp-app

barcode-maker-widget-legacy — Zovo Barcode Maker view (previous versions)

Advertised by the server during the last successful anonymous check.

barcode-maker-widget-legacy URI template
ui://widget/barcode-maker-{version}.html

MIME type: text/html;profile=mcp-app

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
571 ms
95th percentile latency
571 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 571 ms · metadata changed · 2 tool(s), 1 resource(s), 1 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http zovo-barcode-maker-mcp https://barcode-maker.zovo.one/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add zovo-barcode-maker-mcp --url https://barcode-maker.zovo.one/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable zovo-barcode-maker-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "zovo-barcode-maker-mcp": {
      "url": "https://barcode-maker.zovo.one/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "zovo-barcode-maker-mcp": {
      "type": "streamableHttp",
      "url": "https://barcode-maker.zovo.one/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start zovo-barcode-maker-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "zovo-barcode-maker-mcp": {
      "type": "http",
      "url": "https://barcode-maker.zovo.one/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http zovo-barcode-maker-mcp https://barcode-maker.zovo.one/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "zovo-barcode-maker-mcp": {
      "url": "https://barcode-maker.zovo.one/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "zovo-barcode-maker-mcp": {
      "serverUrl": "https://barcode-maker.zovo.one/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Zovo Barcode Maker MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.