OpenQR

oficial

Gere códigos QR e gerencie códigos QR dinâmicos (editáveis) com análises de escaneamento por meio de um servidor MCP hospedado (17 ferramentas) e uma API REST gratuita.

O que você pode fazer com OpenQR MCP?

  • Gerar QR codes estáticos — Solicite um QR code a partir de qualquer texto ou URL; obtenha saída em PNG ou SVG via generate_qr.
  • Criar e gerenciar QR codes dinâmicos — Crie códigos editáveis, altere destinos, liste ou exclua-os com create_dynamic_qr, update_dynamic_qr e delete_dynamic_qr.
  • Acompanhar análises de escaneamento — Solicite estatísticas de escaneamento de um código dinâmico para ver o desempenho via get_scans.
  • Organizar com pastas e temas — Crie pastas e predefinições de estilo reutilizáveis para manter os códigos organizados e com a sua marca usando create_folder e create_theme.
  • Geração em massa para campanhas impressas — Crie até 200 códigos dinâmicos de uma vez para projetos de grande escala com bulk_create_dynamic_qr.

Documentação

OpenQR

Gerador de QR code gratuito, open-source e sem marca d'água. Funciona inteiramente no seu navegador — sem rastreamento, sem cadastro, sem limites.

License: AGPL-3.0 Next.js No watermark Listed on mcpservers.org

A maioria dos geradores de QR code online atrai você com "grátis" e depois adiciona marca d'água, limita o tamanho do download, esconde a exportação vetorial atrás de um paywall ou roteia seu código pelos servidores deles para que ele morra quando você parar de pagar. Um QR code é apenas um padrão aberto (ISO/IEC 18004) que não custa nada para gerar. O OpenQR mantém isso assim.

Este repositório é a ferramenta geradora básica — a implementação open-source de referência. Ele é propositalmente pequeno e fácil de fazer fork.

Se o OpenQR for útil para você, uma estrela no repositório ajuda outras pessoas a encontrá-lo. Esse é o único pedido.

Versão hospedada: API gratuita, servidor MCP e códigos editáveis

Tudo neste repositório é e continuará gratuito, sem marca d'água e sem expiração. A versão hospedada em openqr.uk adiciona uma camada de conta opcional para quem deseja códigos editáveis e automação:

  • QR codes dinâmicos / editáveis com análise de escaneamento. Altere o destino depois de imprimir. 1 grátis em uma conta gratuita (7 dias de escaneamentos por país); 25 códigos editáveis no Pro por £9/mês ou £90/ano, que também desbloqueia uma janela de análise de escaneamento de 90 dias, além de detalhes de cidade e região, detalhamento por dispositivo e referenciador com exportação CSV, um subdomínio personalizado e códigos protegidos por senha. Assinantes existentes mantêm seu plano e preço atuais.
  • API REST gratuita. Gere códigos e gerencie códigos dinâmicos programaticamente. Especificação OpenAPI em /openapi.json; documentação interativa em openqr.uk/api.
  • Servidor MCP hospedado em https://openqr.uk/mcp (HTTP Streamable). Gere e gerencie QR codes diretamente do Claude, Cursor ou qualquer cliente MCP. Listado no Registro oficial MCP. Clientes com capacidade remota conectam-se a essa URL diretamente; clientes somente stdio podem fazer a ponte com npx -y @open-qr/mcp e OPENQR_API_KEY definidos (detalhes).

O gerador estático neste repositório nunca chama nada disso. Ele permanece 100% no lado do cliente (veja Privacidade), e nada disso é necessário para usar ou auto-hospedar o gerador.

Conectando um cliente MCP

Obtenha uma chave gratuita em openqr.uk/api e aponte seu cliente para o servidor com a chave como cabeçalho de autenticação.

Claude Code:

claude mcp add --transport http openqr https://openqr.uk/mcp \
  --header "Authorization: Bearer oqr_YOUR_KEY"

Cursor (~/.cursor/mcp.json) e qualquer outro cliente que fale HTTP Streamable:

{
  "mcpServers": {
    "openqr": {
      "url": "https://openqr.uk/mcp",
      "headers": {
        "Authorization": "Bearer oqr_YOUR_KEY"
      }
    }
  }
}

Ferramentas

O servidor MCP hospedado em https://openqr.uk/mcp expõe estas ferramentas (execute tools/list para o conjunto atual). Toda ferramenta exige uma chave de API gratuita — crie uma em openqr.uk/api e passe-a como Authorization: Bearer oqr_... na conexão MCP.

FerramentaO que faz
generate_qrGera um QR code estático a partir de qualquer texto ou URL. Retorna uma imagem PNG ou marcação SVG.
create_dynamic_qrCria um QR code editável cujo destino você pode alterar depois sem reimprimir.
update_dynamic_qrAltera o destino, o rótulo, o link curto personalizado, as tags ou a pasta de um código dinâmico.
get_dynamic_qrObtém os detalhes completos de um código: destino, link curto, rótulo, tipo, tags, pasta, status, data de criação.
get_scansEstatísticas de escaneamento de um código dinâmico.
list_dynamic_qrLista seus códigos dinâmicos com id, URL curta, destino, rótulo e status.
delete_dynamic_qrExclui permanentemente um código dinâmico. O link curto dele para de funcionar.
bulk_create_dynamic_qrCria até 200 códigos dinâmicos de uma vez.
list_foldersLista suas pastas.
create_folderCria uma pasta para organizar códigos.
delete_folderExclui uma pasta. Os códigos dela são desarquivados, não excluídos.
list_themesLista temas de estilo salvos. Aplique um passando seu id ou nome como theme.
create_themeSalva um tema de estilo reutilizável (cores, estilos de pontos e cantos).
delete_themeExclui um tema salvo. Códigos já estilizados com ele mantêm sua aparência.
get_subdomainMostra o subdomínio personalizado na conta e se ele está suspenso.
set_subdomainReivindica ou altera o subdomínio personalizado para que os códigos também sejam resolvidos em {name}.oqr.to. Somente Pro.
clear_subdomainLibera o subdomínio personalizado. Os códigos permanecem ativos no link curto simples.

Ele também expõe 5 recursos e 4 prompts:

  • Recursos são predefinições de estilo de QR code integradas em openqr://preset/classic, /teal, /high-contrast, /dots e /classy. Leia um e passe seu estilo para create_theme.
  • Prompts são create_tracked_qr, bulk_qr_for_print, brand_a_qr e qr_scan_report.

Recursos

  • Sem marcas d'água, sem limites de tamanho, sem cadastro — todos os recursos são gratuitos
  • Privado por design — os códigos são gerados inteiramente no seu navegador; o conteúdo nunca toca um servidor
  • Exporte para qualquer lugar — PNG / WebP até 4096px, além de SVG e PDF vetoriais reais
  • Estilização completa — cores, gradientes, estilos de pontos e cantos, incorporação de logotipo, molduras "Scan me"
  • Entrada inteligente — cole um link ou texto e o tipo é detectado automaticamente
  • Payloads ricos — URL, texto, e-mail, telefone, SMS, WhatsApp, Wi-Fi e um seletor de localização baseado em mapa
  • Cópia com um clique, links de design compartilháveis, claro/escuro, responsivo, acessível por teclado

Início rápido

pnpm install
pnpm dev        # http://localhost:3011

Build e auto-hospedagem

pnpm build
pnpm start      # serves on :3011 (standalone output)

É um aplicativo Next.js padrão — hospede-o em qualquer lugar (um VPS, um Raspberry Pi, Cloudflare, atrás de qualquer proxy reverso). Ele não precisa de variáveis de ambiente, banco de dados ou segredos para funcionar. Os scripts de dev/start acima usam a porta 3011; a imagem Docker abaixo serve na 3000. A única configuração em ambos os casos é PORT.

Implantação (imagem Docker)

Uma imagem multi-arquitetura (linux/amd64, linux/arm64) é publicada no GHCR a cada tag de lançamento:

docker run -d --name openqr --restart unless-stopped -p 3000:3000 ghcr.io/open-qr/openqr:latest

Ou com docker-compose.yml:

docker compose up -d          # update later: docker compose pull && docker compose up -d

Fixe uma tag de versão em produção (ghcr.io/open-qr/openqr:1.0.1); latest move-se a cada lançamento. O contêiner é um servidor standalone não-root pré-compilado com healthcheck e carrega LICENSE e NOTICE dentro da imagem.

Implantações com um clique

HostLinkNotas
DigitalOcean App PlatformBotão de 1 cliqueLê .do/deploy.template.yaml; instância menor, porta 3000
RenderBotão BlueprintLê render.yaml; assume uma instância paga (o nível gratuito do Render dorme)
KoyebImplanta a partir da imagemQualquer tag pública ghcr.io/open-qr/openqr, sem build de repositório

Implantar por qualquer um desses não adiciona termos além do AGPL-3.0: a fonte é este repositório, e a imagem carrega a licença e os avisos de terceiros.

Incorporação

O componente <Generator/> é autossuficiente e configurável:

import { Generator } from "@/components/generator/generator";

// Full page (default OpenQR logo header):
<Generator />

// Embedded widget, your own branding, no default header:
<Generator embedded header={<MyLogo />} />

// Inject your own post-download call-to-action:
<Generator renderSuccess={(variant) => <MySupportCluster variant={variant} />} />

A ferramenta envia zero análise. Se você quiser eventos de UI anônimos (por exemplo, qual formato de exportação foi usado — nunca o conteúdo do QR), injete um manipulador:

import { setTrackHandler } from "@/lib/analytics";
setTrackHandler((action, name, category) => myAnalytics.track(category, action, name));

Privacidade

A geração de QR acontece 100% no seu navegador. As únicas chamadas externas opcionais estão na ferramenta Localização: blocos de mapa da CARTO e consultas de endereço via Nominatim do OpenStreetMap. Nada mais sai do dispositivo.

Pilha tecnológica

Next.js 16 (App Router) · React 19 · TypeScript (estrito) · Tailwind v4 · qr-code-styling · Leaflet · pnpm.

Contribuindo

Veja CONTRIBUTING.md. Mantenha simples, acessível, no lado do cliente e gratuito — nenhum recurso deve exigir pagamento para remover uma marca d'água ou desbloquear um formato.

Licença

AGPL-3.0 © 2026 Sam Moreton.

Você é livre para usar, estudar, modificar, auto-hospedar e redistribuir o OpenQR sob a AGPL-3.0. Se você executar uma versão modificada como serviço de rede, a AGPL exige que você disponibilize seu código-fonte sob a mesma licença. Se isso não atender ao seu caso de uso, uma licença comercial está disponível — veja NOTICE.