OpenQR
oficialGenera códigos QR y gestiona códigos QR dinámicos (editables) con análisis de escaneo a través de un servidor MCP alojado (17 herramientas) y una API REST gratuita.
¿Qué puedes hacer con OpenQR MCP?
- Generar códigos QR estáticos — Solicita un código QR a partir de cualquier texto o URL mediante
generate_qr, que devuelve PNG o SVG. - Crear códigos dinámicos editables — Usa
create_dynamic_qrpara hacer un QR cuyo destino puedas cambiar más tarde sin reimprimirlo. - Actualizar y gestionar códigos — Modifica destinos, etiquetas, tags o carpetas con
update_dynamic_qr, o lista y elimina mediantelist_dynamic_qrydelete_dynamic_qr. - Creación masiva para campañas impresas — Genera hasta 200 códigos dinámicos a la vez con
bulk_create_dynamic_qr. - Organiza con carpetas y temas — Crea carpetas mediante
create_foldery guarda ajustes de estilo reutilizables concreate_themepara aplicar una imagen de marca coherente. - Seguimiento de analíticas de escaneo — Obtén estadísticas de escaneo para cualquier código dinámico usando
get_scans, incluidos datos a nivel de país.
Documentación
OpenQR
Generador de códigos QR gratuito, de código abierto y sin marcas de agua. Funciona completamente en tu navegador: sin seguimiento, sin registro, sin límites.
La mayoría de los generadores de códigos QR en línea te atraen con "gratis" y luego añaden una marca de agua, limitan el tamaño de descarga, ocultan la exportación vectorial tras un muro de pago, o enrutan tu código a través de sus servidores para que deje de funcionar cuando dejas de pagar. Un código QR es solo un estándar abierto (ISO/IEC 18004) que no cuesta nada generar. OpenQR lo mantiene así.
Este repositorio es la herramienta generadora básica: la implementación de referencia de código abierto. Es deliberadamente pequeña y fácil de bifurcar.
Versión alojada: API gratuita, servidor MCP y códigos editables
Todo en este repositorio es y seguirá siendo gratuito, sin marcas de agua ni caducidad. La versión alojada en openqr.uk añade una capa de cuenta opcional para quienes quieran códigos editables y automatización:
- Códigos QR dinámicos / editables con análisis de escaneos. Cambia el destino después de imprimirlo. 3 gratuitos con una cuenta gratuita (7 días de escaneos por país); ilimitados con Pro por £9/mes o £72/año, que también desbloquea el historial completo de análisis, detalle por ciudad y región, desglose por dispositivo y referente con exportación CSV, un subdominio de marca y códigos protegidos por contraseña.
- API REST gratuita. Genera códigos y gestiona códigos dinámicos mediante programación. Especificación OpenAPI en
/openapi.json; documentación interactiva en openqr.uk/api. - Servidor MCP alojado en
https://openqr.uk/mcp(HTTP Streamable, 17 herramientas). Genera y gestiona códigos QR directamente desde Claude, Cursor o cualquier cliente MCP. Listado en el Registro MCP oficial. Los clientes con capacidad remota se conectan directamente a esa URL; los clientes solo-stdio pueden conectarse mediante un puente connpx -y @open-qr/mcpyOPENQR_API_KEYconfigurados (detalles).
El generador estático de este repositorio nunca llama a nada de eso. Permanece 100% en el lado del cliente (ver Privacidad), y nada de eso es necesario para usar o autoalojar el generador.
Herramientas
El servidor MCP alojado en https://openqr.uk/mcp expone estas 17 herramientas. Cada herramienta requiere una clave API gratuita: crea una en openqr.uk/api y pásala como Authorization: Bearer oqr_... en la conexión MCP.
| Herramienta | Qué hace |
|---|---|
generate_qr | Genera un código QR estático a partir de cualquier texto o URL. Devuelve una imagen PNG o marcado SVG. |
create_dynamic_qr | Crea un código QR editable cuyo destino puedes cambiar más tarde sin reimprimir. |
update_dynamic_qr | Cambia el destino, la etiqueta, el enlace corto personalizado, las etiquetas o la carpeta de un código dinámico. |
get_dynamic_qr | Obtén los detalles completos de un código: destino, enlace corto, etiqueta, tipo, etiquetas, carpeta, estado, fecha de creación. |
get_scans | Estadísticas de escaneo para un código dinámico. |
list_dynamic_qr | Lista tus códigos dinámicos con id, URL corta, destino, etiqueta y estado. |
delete_dynamic_qr | Elimina permanentemente un código dinámico. Su enlace corto deja de funcionar. |
bulk_create_dynamic_qr | Crea hasta 200 códigos dinámicos a la vez. |
list_folders | Lista tus carpetas. |
create_folder | Crea una carpeta para organizar códigos. |
delete_folder | Elimina una carpeta. Sus códigos se desarchivan, no se eliminan. |
list_themes | Lista los temas de estilo guardados. Aplica uno pasando su id o nombre como theme. |
create_theme | Guarda un tema de estilo reutilizable (colores, estilos de puntos y esquinas). |
delete_theme | Elimina un tema guardado. Los códigos ya estilizados con él conservan su aspecto. |
get_subdomain | Muestra el subdominio de marca en la cuenta y si está suspendido. |
set_subdomain | Reclama o cambia el subdominio de marca para que los códigos también se resuelvan en {name}.oqr.to. Solo Pro. |
clear_subdomain | Libera el subdominio de marca. Los códigos siguen activos en el enlace corto normal. |
También expone 5 recursos y 4 indicaciones:
- Recursos son ajustes predefinidos de estilo QR integrados en
openqr://preset/classic,/teal,/high-contrast,/dotsy/classy. Lee uno y pasa su estilo acreate_theme. - Indicaciones son
create_tracked_qr,bulk_qr_for_print,brand_a_qryqr_scan_report.
Características
- Sin marcas de agua, sin límites de tamaño, sin registro: cada función es gratuita
- Privado por diseño: los códigos se generan completamente en tu navegador; el contenido nunca toca un servidor
- Exporta a cualquier lugar: PNG / WebP hasta 4096px, además de SVG y PDF vectoriales reales
- Estilizado completo: colores, degradados, estilos de puntos y esquinas, inserción de logotipos, marcos "Escanéame"
- Entrada inteligente: pega un enlace o texto y el tipo se detecta automáticamente
- Cargas útiles enriquecidas: URL, texto, correo electrónico, teléfono, SMS, WhatsApp, Wi-Fi y un selector de ubicación basado en mapa
- Copia con un clic, enlaces de diseño compartibles, claro/oscuro, adaptable, accesible por teclado
Inicio rápido
pnpm install
pnpm dev # http://localhost:3011
Compilación y autoalojamiento
pnpm build
pnpm start # serves on :3011 (standalone output)
Es una aplicación Next.js estándar: alójala en cualquier lugar (un VPS, una Raspberry Pi, Cloudflare, detrás de cualquier proxy inverso). No necesita variables de entorno, base de datos ni secretos para funcionar.
Inserción
El componente <Generator/> es autónomo y configurable:
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} />} />
La herramienta incluye cero análisis. Si quieres eventos de interfaz anónimos (por ejemplo, qué formato de exportación se usó, nunca el contenido del QR), inyecta un controlador:
import { setTrackHandler } from "@/lib/analytics";
setTrackHandler((action, name, category) => myAnalytics.track(category, action, name));
Privacidad
La generación de códigos QR ocurre 100% en tu navegador. Las únicas llamadas salientes opcionales están en la herramienta Ubicación: mosaicos de mapa de CARTO y búsquedas de direcciones mediante Nominatim de OpenStreetMap. Nada más sale del dispositivo.
Pila tecnológica
Next.js 16 (App Router) · React 19 · TypeScript (estricto) · Tailwind v4 ·
qr-code-styling · Leaflet · pnpm.
Contribuciones
Consulta CONTRIBUTING.md. Mantenlo simple, accesible, en el lado del cliente y gratuito: ninguna función debería requerir pago para eliminar una marca de agua o desbloquear un formato.
Licencia
AGPL-3.0 © 2026 Sam Moreton.
Eres libre de usar, estudiar, modificar, autoalojar y redistribuir OpenQR bajo la AGPL-3.0. Si ejecutas una versión modificada como servicio de red, la AGPL requiere que pongas tu código fuente a disposición bajo la misma licencia. Si eso no se adapta a tu caso de uso, hay disponible una licencia comercial: consulta NOTICE.