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-barcodeainda não está publicado no npm, então um comandonpx -y @theluckystrike/mcp-barcodefalhará. Os três caminhos acima são os que funcionam e cada um é exercitado pelo CI.

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
| ferramenta | o que faz |
|---|---|
qr_create | Texto ou URL como QR code, em qualquer nível de correção de erros, SVG ou PNG |
qr_wifi | Um código que se conecta a uma rede WiFi quando escaneado |
qr_vcard | Um código que adiciona um contato (vCard 3.0) |
qr_payment_sepa | Um código de pagamento EPC069-12 que um aplicativo bancário europeu escaneia: IBAN, nome, valor, referência |
invoice_payment_qr | O código de pagamento para uma fatura, usando o IBAN e o nome do seu perfil comercial compartilhado |
barcode_create | Code 128, EAN-13, EAN-8 ou UPC-A, com o dígito verificador calculado ou verificado |
barcode_batch | Muitos códigos em uma chamada, em um diretório (Pro) |
code_list | O que você gerou e quanto da franquia gratuita deste mês resta |
license_status, license_activate | Gratuito ou Pro, e ativação de uma chave |
Gratuito vs Pro
| Gratuito | Pro | |
|---|---|---|
| Códigos por mês civil | 20 | Ilimitado |
| SVG (imprime em qualquer tamanho) | Sim | Sim |
| PNG | Não | Sim, 32 a 4000 px |
barcode_batch | Não | Sim, até 500 linhas por chamada |
| QR, WiFi, vCard, códigos de pagamento SEPA, todas as quatro simbologias de código de barras | Sim | Sim |
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ível | recuperável | versão QR | módulos por lado | mudança |
|---|---|---|---|---|
| L | 7% | 4 | 33 | linha de base |
| M | 15% | 4 | 33 | nenhuma mudança |
| Q | 25% | 6 | 41 | +24% |
| H | 30% | 7 | 45 | +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 solicitado | bytes PNG | bytes SVG |
|---|---|---|
| 128 px | 1.481 | 2.079 |
| 256 px | 2.186 | 2.079 |
| 512 px | 3.589 | 2.079 |
| 1024 px | 7.585 | 2.081 |
| 2048 px | 21.688 | 2.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:
- URL MCP de Documentos: https://gitmcp.io/theluckystrike/mcp-barcode