Barcode MCP

QR codes e códigos de barras a partir do chat: URLs, conexões WiFi, vCards, QR de pagamento SEPA, Code 128 e EAN-13, em SVG ou PNG. Sem rede, sem conta.

Documentação

mcp-barcode

Servidor MCP para geração de QR codes e códigos de barras: gera códigos de barras e QR codes. QR codes e códigos de barras desenhados na sua máquina, sem upload e sem chamada de rede.

Funciona com Claude Desktop, Claude Code, Cursor e qualquer cliente Model Context Protocol. Roda na sua própria máquina, ou hospedado sem instalação.

Página do produto: https://mcp.zovo.one/s/barcode — o que faz, as ferramentas que expõe e um endpoint de token ao vivo.

Instalação

Hospedado, nada para instalar. Obtenha um token em https://mcp.zovo.one/mcp/connect (a página de conexão) ou https://mcp.zovo.one/mcp/token (o mesmo token como JSON); um token anônimo gratuito é emitido na hora e uma chave Pro funciona da mesma forma. Em seguida, aponte um cliente MCP para https://mcp.zovo.one/mcp/barcode via streamable-http e envie o token como Authorization: Bearer <token>.

Se o seu cliente não puder definir cabeçalhos, coloque o token no caminho: https://mcp.zovo.one/mcp/barcode/t/<token>. Ambas as formas funcionam. A URL sem token responde 401 em tools/call, então o token não é opcional.

Claude Desktop, um clique. Baixe barcode.mcpb da última versão e clique duas vezes nele.

A partir do código-fonte. O espelho é autossuficiente: cada dependência @theluckystrike/* é fornecida, então um clone novo compila sem configuração extra.

git clone https://github.com/theluckystrike/mcp-barcode.git
cd mcp-barcode
npm install && npm run build

Em seguida, aponte seu cliente para o ponto de entrada compilado:

{
  "mcpServers": {
    "barcode": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-barcode/dist/index.js"]
    }
  }
}

@theluckystrike/mcp-barcode ainda não está publicado no npm, então um comando npx -y @theluckystrike/mcp-barcode falhará. Os três caminhos acima são os que funcionam e cada um é exercitado pelo CI.

barcode demo

Espelho somente leitura de mcp-servers/servers/barcode. Veja MIRROR.md.

Crie um QR code ou um código de barras na conversa em que você já está. Cole uma URL e obtenha um QR code que você pode colocar em um panfleto. Dê à fatura de um cliente um código de pagamento EPC que o aplicativo bancário dele escaneia e preenche. Imprima um EAN-13 para um produto, um Code 128 para uma etiqueta de prateleira, um código WiFi para a parede do escritório, um vCard para um crachá de conferência. Tudo é desenhado na sua máquina: sem upload, sem conta, sem chave de API e sem chamada de rede de qualquer tipo.

No Registro Oficial MCP (io.github.theluckystrike/barcode-qr-code-sepa-payment-ean13).

Listado no AI Product Index — endpoint remoto ao vivo em mcp.zovo.one/s/barcode, camada gratuita, sem cadastro.

A publicação no npm para @theluckystrike/mcp-barcode está pendente, então npx -y @theluckystrike/mcp-barcode retorna 404 hoje. Até lá, o pacote de um clique .mcpb ou um clone+compilação é o caminho que funciona.

Instalação

Claude Desktop, ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "barcode": { "command": "npx", "args": ["-y", "@theluckystrike/mcp-barcode"] }
  }
}

Claude Code:

claude mcp add barcode -- npx -y @theluckystrike/mcp-barcode

Cursor, .cursor/mcp.json:

{
  "mcpServers": {
    "barcode": { "command": "npx", "args": ["-y", "@theluckystrike/mcp-barcode"] }
  }
}

Ferramentas

ferramentao que faz
qr_createTexto ou URL como QR code, em qualquer nível de correção de erros, SVG ou PNG
qr_wifiUm código que se conecta a uma rede WiFi quando escaneado
qr_vcardUm código que adiciona um contato (vCard 3.0)
qr_payment_sepaUm código de pagamento EPC069-12 que um aplicativo bancário europeu escaneia: IBAN, nome, valor, referência
invoice_payment_qrO código de pagamento para uma fatura, usando o IBAN e o nome do seu perfil comercial compartilhado
barcode_createCode 128, EAN-13, EAN-8 ou UPC-A, com o dígito verificador calculado ou verificado
barcode_batchMuitos códigos em uma chamada, em um diretório (Pro)
code_listO que você gerou e quanto da franquia gratuita deste mês resta
license_status, license_activateGratuito ou Pro, e ativação de uma chave

Gratuito vs Pro

GratuitoPro
Códigos por mês civil20Ilimitado
SVG (imprime em qualquer tamanho)SimSim
PNGNãoSim, 32 a 4000 px
barcode_batchNãoSim, até 500 linhas por chamada
QR, WiFi, vCard, códigos de pagamento SEPA, todas as quatro simbologias de código de barrasSimSim

Obtenha Pro: https://mcp.zovo.one/buy/barcode - $19 pagamento único, ou $39 para todos os servidores do conjunto, vitalício. As chaves verificam offline; nada é enviado a lugar algum.

Um dígito verificador errado é recusado, não redesenhado

Dê a barcode_create doze dígitos e o décimo terceiro é calculado para você. Dê treze e o décimo terceiro é verificado:

Error: EAN-13 check digit is wrong: "5901234123450" ends in 0, but the first 12 digits give 7.
Pass 5901234123457, or pass the first 12 digits and the check digit is computed. Nothing was written.

A alternativa, redesenhar silenciosamente o código que o chamador pediu, imprime uma etiqueta que escaneia como um produto diferente, e ninguém descobre até o caixa. A mesma regra se aplica ao IBAN em um código de pagamento: ele é validado com ISO 7064 mod 97 antes de qualquer coisa ser desenhada, então um par de dígitos trocados é detectado aqui em vez de por um pagamento que não vai a lugar nenhum.

Medido: correção de erros M é gratuita em um código de pagamento SEPA, Q e H não são

Um registro de pagamento EPC típico (IBAN, beneficiário, EUR 120,50, um número de fatura) tem 73 bytes. QR codes vêm em etapas de capacidade fixa, então aumentar o nível de correção de erros não aumenta o tamanho do código suavemente:

nívelrecuperávelversão QRmódulos por ladomudança
L7%433linha de base
M15%433nenhuma mudança
Q25%641+24%
H30%745+36%

L e M caem no mesmo símbolo versão 4: neste tamanho de carga, os dados extras de recuperação ainda cabem na mesma caixa, então escolher L em vez de M não compra nada e abre mão de metade da tolerância a danos. É por isso que M é o padrão aqui. Q e H valem a pena pedir apenas quando o código será impresso pequeno, em algo que amassa, ou atrás de um logotipo. Em um PNG de 300 px, o mesmo passo também custa bytes: 2.419 em M contra 3.462 em H.

Medido: SVG é plano, PNG cresce 14x, e eles se cruzam em cerca de 200 px

O mesmo código de pagamento escrito das duas formas, em cinco tamanhos:

tamanho solicitadobytes PNGbytes SVG
128 px1.4812.079
256 px2.1862.079
512 px3.5892.079
1024 px7.5852.081
2048 px21.6882.081

Um SVG carrega a grade de módulos, não os pixels, então seu tamanho mal se move: os dois bytes extras em 1024 px são o atributo de largura ficando mais longo. Abaixo de cerca de 200 px, um PNG é menor; acima disso, o PNG cresce sem limite e o SVG não, e o SVG é o que permanece nítido quando uma impressora o amplia. Essa é a razão pela qual a camada gratuita é a camada SVG em vez de uma camada de PNG pequeno: para o que a maioria das pessoas faz com um código, colocar em um documento e imprimir, SVG é o arquivo melhor, não o prêmio de consolação.

Privacidade

Tudo permanece na sua máquina. Não há código de rede neste servidor: sem fetch, sem cliente HTTP, sem telemetria. Os códigos são gravados onde você diz, e um pequeno registro do que foi gerado fica em ~/.local/share/mcp-servers/barcode/ (ou $XDG_DATA_HOME). As chaves de licença verificam offline com uma chave pública.

Construído por theluckystrike. Suporte: support@zovo.one

Use estes documentos como um servidor MCP

Qualquer cliente MCP (Claude, Cursor, Windsurf, VS Code) pode ler a documentação deste repositório diretamente via GitMCP — sem instalação: