Koskamo

EAN Check MCP

Provides an MCP server for barcode validation, identification, and generation. It allows agents to calculate GS1 check digits, validate GTINs, identify various barcode types (UPC, EAN, ISBN, Amazon codes), repair damaged GTINs, convert UPC-E to UPC-A, parse GS1-128 strings, and generate barcodes or GS1 Digital Links.

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.

EAN Check MCP logo, by EAN CheckVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by EAN Check
MCP endpoint (Streamable HTTP)
https://eancheck.com/api/mcp
Vendor documentation

What its tools do

10 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

10 of 10 have a description · 10 of 10 declare behavior hints · 10 of 10 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to eancheck.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Calculate or validate GS1 check digits for GTINs
  • Identify barcode types like GTIN, ISBN, or Amazon LPN
  • Repair GTINs with missing or smudged digits
  • Generate print-ready barcodes or GS1 Digital Links

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
eancheck 1.0.0
MCP protocol negotiated in check
2025-11-25
Tools
10 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Server-provided instructions

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

Barcode and GS1 tools from eancheck.com. Every tool computes its answer from the input with the GS1 General Specifications rules; nothing is looked up in a product database, so the tools cannot say which product or company a number belongs to. Use validate_gtins for complete numbers and calculate_check_digits for numbers without their last digit. identify_code tells what an unknown code is. Each answer ends with a link to the matching page on eancheck.com.

Tools

10 advertised

calculate_check_digits
Advertised by the server during the last successful anonymous check.
Advertised read-only

Add the GS1 check digit to GTIN numbers that are missing it (7, 11, 12 or 13 digits become GTIN-8, UPC-A, EAN-13 or GTIN-14). One number per line or comma separated.

calculate_check_digits input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "codes"
  ],
  "properties": {
    "codes": {
      "type": "string",
      "description": "Numbers without their check digit, one per line"
    }
  },
  "additionalProperties": {}
}
calculate_check_digits annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
validate_gtins
Advertised by the server during the last successful anonymous check.
Advertised read-only

Check complete GTIN, EAN, UPC and ITF-14 numbers: says for each one whether the check digit is right and which GTIN length it is.

validate_gtins input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "codes"
  ],
  "properties": {
    "codes": {
      "type": "string",
      "description": "Complete numbers, one per line or comma separated"
    }
  },
  "additionalProperties": {}
}
validate_gtins annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
identify_code
Advertised by the server during the last successful anonymous check.
Advertised read-only

Find out what kind of code a string is: GTIN, ISBN, ISSN, SSCC, GLN, GS1-128 data, GS1 Digital Link, VIN, IMEI, ASIN, Amazon LPN or FNSKU, with its check digit status.

identify_code input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "code"
  ],
  "properties": {
    "code": {
      "type": "string",
      "description": "The code exactly as printed or scanned"
    }
  },
  "additionalProperties": {}
}
identify_code annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
check_amazon_code
Advertised by the server during the last successful anonymous check.
Advertised read-only

Read the code from an Amazon sticker: tells an LPN (License Plate Number) from an FNSKU, ASIN, FBA box label, Amazon Logistics tracking number or UPC/EAN, and explains each part. It cannot look up which product a code belongs to.

check_amazon_code input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "code"
  ],
  "properties": {
    "code": {
      "type": "string",
      "description": "The code as printed on the sticker, e.g. LPN RR AB1234567"
    }
  },
  "additionalProperties": {}
}
check_amazon_code annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
convert_upc_e
Advertised by the server during the last successful anonymous check.
Advertised read-only

Convert a UPC-E (6, 7 or 8 digits) to the full 12-digit UPC-A, or a UPC-A to UPC-E when one of the four GS1 zero-suppression rules fits. Checks the check digit.

convert_upc_e input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "code"
  ],
  "properties": {
    "code": {
      "type": "string",
      "description": "A UPC-E or a UPC-A, digits only"
    }
  },
  "additionalProperties": {}
}
convert_upc_e annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
convert_isbn
Advertised by the server during the last successful anonymous check.
Advertised read-only

Convert an ISBN-10 to ISBN-13 or back, with the check digit recalculated and the hyphenated form. ISBN-13 starting with 979 has no ISBN-10.

convert_isbn input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "isbn"
  ],
  "properties": {
    "isbn": {
      "type": "string",
      "description": "An ISBN-10 or ISBN-13, with or without hyphens"
    }
  },
  "additionalProperties": {}
}
convert_isbn annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
repair_gtin
Advertised by the server during the last successful anonymous check.
Advertised read-only

Recover a GTIN with unreadable digits: mark each unknown digit with ? or * and get every number that passes the GS1 check digit.

repair_gtin input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "code"
  ],
  "properties": {
    "code": {
      "type": "string",
      "description": "The GTIN with ? or * for each unknown digit, e.g. 59012341?3457"
    }
  },
  "additionalProperties": {}
}
repair_gtin annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
parse_gs1
Advertised by the server during the last successful anonymous check.
Advertised read-only

Split GS1 data (GS1-128, GS1 DataMatrix, Digital Link) into its Application Identifiers, with the name of each AI and any format error.

parse_gs1 input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "type": "string",
      "description": "GS1 data such as (01)09506000134352(17)271231(10)ABC123, FNC1 form or a Digital Link URL"
    }
  },
  "additionalProperties": {}
}
parse_gs1 annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
make_barcode
Advertised by the server during the last successful anonymous check.
Advertised read-only

Draw a print-ready barcode and return it as SVG (or EPS) in millimetres, plus a link that opens it in the generator. Types: upc-a, ean-13, ean-8, itf-14, code-128, code-39, code-93, interleaved-2-of-5, codabar, msi, pharmacode, data-matrix, pdf417, aztec. GS1 retail types use magnification 80 to 200 (percent).

make_barcode input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "type",
    "value"
  ],
  "properties": {
    "gs1": {
      "type": "boolean",
      "description": "Data Matrix only: treat the value as GS1 data like (01)09506000134352(17)271231"
    },
    "type": {
      "enum": [
        "upc-a",
        "ean-13",
        "ean-8",
        "itf-14",
        "code-128",
        "code-39",
        "code-93",
        "interleaved-2-of-5",
        "codabar",
        "msi",
        "pharmacode",
        "data-matrix",
        "pdf417",
        "aztec"
      ],
      "type": "string",
      "description": "Barcode type"
    },
    "x_mm": {
      "type": "number",
      "description": "Other types: narrowest bar or module width in mm"
    },
    "value": {
      "type": "string",
      "description": "The data. GTIN types accept the number without its check digit."
    },
    "format": {
      "enum": [
        "svg",
        "eps"
      ],
      "type": "string",
      "description": "File format, default svg"
    },
    "magnification": {
      "type": "number",
      "description": "GS1 types only: size in percent, 100 is the standard size"
    }
  },
  "additionalProperties": {}
}
make_barcode annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}
barcode_size
Advertised by the server during the last successful anonymous check.
Advertised read-only

Give the printed size of a barcode type at a GS1 magnification (retail and carton types) or an X-dimension, with the GS1 allowed range.

barcode_size input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "type"
  ],
  "properties": {
    "type": {
      "enum": [
        "upc-a",
        "ean-13",
        "ean-8",
        "itf-14",
        "code-128",
        "code-39",
        "code-93",
        "interleaved-2-of-5",
        "codabar",
        "msi",
        "pharmacode",
        "data-matrix",
        "pdf417",
        "aztec"
      ],
      "type": "string",
      "description": "Barcode type"
    },
    "x_mm": {
      "type": "number",
      "description": "Other types: narrowest bar width in mm"
    },
    "magnification": {
      "type": "number",
      "description": "GS1 types: size in percent"
    }
  },
  "additionalProperties": {}
}
barcode_size annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

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
588 ms
95th percentile latency
588 ms

Maintenance history

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

  • · probe · passed · 588 ms · metadata changed · 10 tool(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 ean-check-mcp https://eancheck.com/api/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 ean-check-mcp --url https://eancheck.com/api/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable ean-check-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "ean-check-mcp": {
      "url": "https://eancheck.com/api/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "ean-check-mcp": {
      "type": "streamableHttp",
      "url": "https://eancheck.com/api/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start ean-check-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "ean-check-mcp": {
      "type": "http",
      "url": "https://eancheck.com/api/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 ean-check-mcp https://eancheck.com/api/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://eancheck.com/api/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": {
    "ean-check-mcp": {
      "serverUrl": "https://eancheck.com/api/mcp"
    }
  }
}

Let your agent find its tools

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

Do you run EAN Check MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing