Home · Setup · Cursor

MCP Barcode in Cursor

QR codes and barcodes drawn locally: SEPA payment codes, WiFi, vCard, Code 128, EAN-13. It draws a QR code from text or a URL, a WiFi join code, a vCard, an EPC069-12 SEPA payment code checked against the shared business profile's IBAN, and Code 128, EAN-13, EAN-8 or UPC-A with the check digit computed or verified. No network call of any kind.

Ask for the SEPA payment code on an invoice right after asking for the invoice itself, in the same chat: invoice_payment_qr reads the IBAN from the shared business profile and the total from the invoice you just created, so nothing gets retyped between the two calls.

What you get in Cursor

You sayTool
Make a QR code for this URL.qr_create
Put a payment QR code on invoice INV-2026-0007.invoice_payment_qr
Give this SKU a Code 128 barcode.barcode_create

The first Code 128 table transcription was missing one row, silently shifting 67 of 107 values to their neighbour: a clean-looking barcode that scanned as the wrong string. Comparing against an independent encoder caught it; every table is now pinned against that comparison in the test suite.

Install it in Cursor

The file is .cursor/mcp.json, and the key inside it is mcpServers.

ScopePath
This project only<project>/.cursor/mcp.json
Every project~/.cursor/mcp.json
{
  "mcpServers": {
    "barcode": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@theluckystrike/mcp-barcode"]
    }
  }
}

The Customize page shows the server and its tools once it has started.

The npm publish of @theluckystrike/mcp-barcode is pending; until then use the .mcpb bundle or a clone and build from the latest release.

No install: the hosted endpoint

The same server runs at https://mcp.zovo.one/mcp/barcode over MCP streamable HTTP, no install. Mint a free token with curl https://mcp.zovo.one/mcp/token, or use a Pro key. It has no filesystem, so a file comes back as a one-hour download link.

{
  "mcpServers": {
    "barcode": {
      "url": "https://mcp.zovo.one/mcp/barcode",
      "headers": { "Authorization": "Bearer <token>" }
    }
  }
}

Cursor notes worth knowing first

The current field table marks `type` as required, with `stdio` for a locally launched server, so write it out rather than relying on command and args alone. The other documented restriction is that `envFile` is stdio-only: a remote HTTP or SSE server does not read it, and its headers belong in the config.

Free: 20 codes a calendar month, every symbology and QR kind, SVG output. Pro is $19 once, verified offline.

Questions

Project config or global config?

<project>/.cursor/mcp.json applies to that project and can be committed, which suits a server tied to one client. ~/.cursor/mcp.json applies everywhere. Both are managed from the Customize page.

Why does my stdio entry not start?

The current field table marks type as required, with stdio for a locally launched server, so include it. Pointing at a remote endpoint, envFile is documented as stdio-only and is not read.

Is there a one-click install link?

Servers in Cursor's marketplace get an Add to Cursor button. The deeplink reference currently documents prompt, command and rule links only, so for MCP Barcode pasting the config block above is the supported route.

Related

MCP Barcode in detail · The same server in Claude Code and VS Code · Every server in Cursor · Guides · Cursor docs