@convalexa/barcode-mcp
MCP (Model Context Protocol) server that gives AI assistants Convalexa's barcode, QR and RFID/EPC tools — generate, bulk-generate, encode EPCs and decode barcodes. Runs locally over stdio; nothing is uploaded.
Built by Convalexa Solutions LLP — Make-in-India UHF RFID & barcode. Companion to the free web tools at <https://www.convalexa.in/tools/>.
Tools
| Tool | What it does | |------|--------------| | encode_epc | Encode SGTIN-96 / SSCC-96 / GIAI-96 EPC (hex + EPC URI + 96-bit binary) from a GS1 company prefix, reference and serial, per the GS1 EPC Tag Data Standard. | | generate_barcode | Generate a 1D barcode (Code 128, EAN-13, EAN-8, UPC-A, Code 39, ITF-14) or QR as a PNG. | | generate_qr | Generate a QR code as a PNG (convenience wrapper). | | bulk_barcode | Generate up to 50 barcodes/QRs at once from a list. | | decode_barcode | Decode 1D/2D barcodes from an image (base64 or file path) → value + format. |
encode_epccomputes the EPC value to write to a tag — a browser/host cannot program a physical tag. SGTIN-96 output is validated against the GS1 reference vector3074257BF7194E4000001A85.
Install
Claude Desktop / Claude Code (after npm publish)
{
"mcpServers": {
"convalexa-barcode": {
"command": "npx",
"args": ["-y", "@convalexa/barcode-mcp"]
}
}
}
Local / from source (before publish)
{
"mcpServers": {
"convalexa-barcode": {
"command": "node",
"args": ["/absolute/path/to/convalexa-mcp/src/index.js"]
}
}
}
Claude Desktop config lives at: macOS ~/Library/Application Support/Claude/claude_desktop_config.json, Windows %APPDATA%\Claude\claude_desktop_config.json. For Claude Code: claude mcp add convalexa-barcode -- npx -y @convalexa/barcode-mcp.
Remote hosting (optional)
For a hosted connector (e.g. https://mcp.convalexa.in/mcp) usable without a local install, run the Streamable HTTP variant on a Node host. Your .aspx/IIS host can't run this — use a Node host (Railway, Fly.io, Render, or a small VPS).
npm install express # express is an optional dependency
PORT=8787 MCP_API_KEY=secret npm run start:http
# endpoints: POST /mcp GET /healthz
Or with Docker:
docker build -t convalexa-barcode-mcp .
docker run -p 8787:8787 -e MCP_API_KEY=secret convalexa-barcode-mcp
Then point a subdomain (e.g. mcp.convalexa.in) at the host over HTTPS and add it as a custom MCP connector. MCP_API_KEY (optional) requires Authorization: Bearer <key>. The server runs stateless (a fresh MCP instance per request).
Develop
npm install
npm test # unit smoke test (epc vector, generate, decode round-trip)
node test/client.js # end-to-end MCP handshake + tool calls
npm start # run the stdio server directly
Stack
Node ≥18, ESM. @modelcontextprotocol/sdk, zod, bwip-js (generation), @zxing/library + jimp (decoding). No network calls; all processing is local.
License
MIT © Convalexa Solutions LLP











