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.
Ten tools against Cascade's ceiling of 100, and a code is generated a handful of times a session rather than polled continuously, so leaving it enabled costs little even alongside every other server in this collection.
| You say | Tool |
|---|---|
| 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.
The file is mcp_config.json, and the key inside it is mcpServers.
| Scope | Path |
|---|---|
| macOS, Windows and Linux | ~/.codeium/windsurf/mcp_config.json |
{
"mcpServers": {
"barcode": {
"command": "npx",
"args": ["-y", "@theluckystrike/mcp-barcode"]
}
}
}
Save and reopen the MCP Servers list; Cascade picks it up without restarting the editor.
The npm publish of @theluckystrike/mcp-barcode is pending; until then use the .mcpb bundle or a clone and build from the latest release.
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>" }
}
}
}
Read this first: mcp_config.json applies to the legacy Cascade agent only. The Devin Local agent, the default for new tabs, takes its servers from the Devin CLI config files, so a correct entry here can still be invisible in a fresh tab. The other hard number is a cap: Cascade reaches at most 100 tools at once, and every enabled server spends from it.
Free: 20 codes a calendar month, every symbology and QR kind, SVG output. Pro is $19 once, verified offline.
~/.codeium/windsurf/mcp_config.json, under mcpServers. Reach it from the MCPs icon at the top right of the Cascade panel, or Devin Settings, Cascade, MCP Servers.
That file applies to the legacy Cascade agent only. The Devin Local agent, the default for new tabs, reads its servers from the Devin CLI config files instead. Check which agent the tab runs.
Cascade reaches at most 100 tools at any one time, and every enabled server spends from that single budget. MCP Barcode contributes 10 tools, so keep the enabled list short rather than counting servers.
MCP Barcode in detail · The same server in VS Code and Cline · Every server in Windsurf · Guides · Windsurf docs