Skip to main content
Glama
foreach-labs

eanscan-mcp

by foreach-labs

eanscan-cli

A CLI and an MCP server that turn an EAN/UPC barcode into a localized product description (title, description, features, price, images) using the Eanscan API.

  • eanscan — command-line tool

  • eanscan-mcp — Model Context Protocol server (stdio), usable from Claude (Desktop / Code) and GitHub Copilot (VS Code).

Install

# from the repo
pnpm install
pnpm build

# or, once published
npm install -g eanscan-cli

Related MCP server: openfoodfacts-mcp

Configuration

Env var

Default

Purpose

EANSCAN_API_URL

https://api.eanscan.com

API base URL

EANSCAN_API_KEY

(unset)

Optional, sent as the x-api-key header

EANSCAN_TIMEOUT_MS

120000

Per-request timeout used by the MCP tool

Copy .env.example to .env to set them locally, or pass --api-url / --api-key on the CLI.

CLI usage

eanscan 5449000000996                 # English description (default)
eanscan 5449000000996 -l fr           # French
eanscan 5449000000996 --all           # every available locale
eanscan 5449000000996 --json          # raw product JSON
eanscan 5449000000996 -f description   # just the description text
eanscan 5449000000996 -f title -l de  # German title only

# Batch: pass several EANs at once (looked up concurrently)
eanscan 5449000000996 4006381333931 --json
eanscan 5449000000996 4006381333931 -c 10   # up to 10 in flight

# Bound how long a single request may take
eanscan 5449000000996 --timeout 30000        # 30s

Flags: --timeout <ms> (default 120000) caps each request; --concurrency <n> (default 5) limits parallel lookups in batch mode.

With multiple EANs, --json emits an array of { ean, data, error? }.

Exit codes: 0 all found · 1 any error (bad input, network, API, timeout) · 2 any EAN had no product.

MCP server

The server speaks MCP over stdio and exposes one tool:

lookup_ean — params: ean (12–14 digit string), locale (fr | en | es | de, default en). Returns a human-readable description plus the full product object as structuredContent.

Claude Code

claude mcp add eanscan -- node /absolute/path/to/eanscan-cli/dist/mcp.js

Claude Desktop

Edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "eanscan": {
      "command": "node",
      "args": ["/absolute/path/to/eanscan-cli/dist/mcp.js"],
      "env": {
        "EANSCAN_API_URL": "https://api.eanscan.com"
      }
    }
  }
}

GitHub Copilot (VS Code)

Add to .vscode/mcp.json in your workspace (or the global MCP settings):

{
  "servers": {
    "eanscan": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/eanscan-cli/dist/mcp.js"]
    }
  }
}

Then in Copilot Chat (agent mode) you can ask: "Look up EAN 5449000000996 in French."

Development

pnpm dev:cli 5449000000996   # run the CLI from source (tsx)
pnpm dev:mcp                 # run the MCP server from source
pnpm typecheck
A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/foreach-labs/eanscan-cli'

If you have feedback or need assistance with the MCP directory API, please join our Discord server