OpenQR

официальный

Генерируйте QR-коды и управляйте динамическими (редактируемыми) QR-кодами с аналитикой сканирований через размещённый MCP-сервер (17 инструментов) и бесплатный REST API.

Что можно делать с OpenQR MCP?

  • Генерация статических QR-кодов — Запросите QR-код из любого текста или URL-адреса; получите вывод в формате PNG или SVG через generate_qr.
  • Создание и управление динамическими QR-кодами — Создавайте редактируемые коды, меняйте назначения, просматривайте список или удаляйте их с помощью create_dynamic_qr, update_dynamic_qr и delete_dynamic_qr.
  • Отслеживание аналитики сканирований — Запросите статистику сканирований для динамического кода, чтобы увидеть эффективность через get_scans.
  • Организация с помощью папок и тем — Создавайте папки и переиспользуемые пресеты стилей, чтобы поддерживать порядок и брендирование кодов с помощью create_folder и create_theme.
  • Массовая генерация для печатных кампаний — Создавайте до 200 динамических кодов одновременно для крупномасштабных проектов с помощью bulk_create_dynamic_qr.

Документация

OpenQR

Бесплатный генератор QR-кодов с открытым исходным кодом, без водяных знаков. Работает полностью в вашем браузере — без отслеживания, без регистрации, без ограничений.

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

Большинство онлайн-генераторов QR-кодов заманивают вас словом «бесплатно», а затем добавляют водяной знак, ограничивают размер загрузки, прячут экспорт в векторных форматах за платным доступом или пропускают ваш код через свои серверы, так что он перестаёт работать, когда вы перестаёте платить. QR-код — это просто открытый стандарт (ISO/IEC 18004), генерация которого ничего не стоит. OpenQR сохраняет этот принцип.

Этот репозиторий — базовый инструмент генератора — эталонная реализация с открытым исходным кодом. Он намеренно небольшой и его легко форкнуть.

Если OpenQR вам полезен, звезда на репозитории поможет другим людям найти его. Это вся просьба.

Хостинговая версия: бесплатный API, MCP-сервер и редактируемые коды

Всё в этом репозитории бесплатно и останется бесплатным, без водяных знаков и без срока действия. Хостинговая сборка на openqr.uk добавляет необязательный уровень аккаунта для тех, кому нужны редактируемые коды и автоматизация:

  • Динамические / редактируемые QR-коды с аналитикой сканирований. Меняйте назначение после печати. 1 бесплатный на бесплатном аккаунте (7 дней статистики по странам); 25 редактируемых кодов на Pro за £9/месяц или £90/год, что также открывает окно аналитики на 90 дней, детализацию по городам и регионам, разбивку по устройствам и реферерам с экспортом в CSV, фирменный поддомен и коды с паролем. Существующие подписчики сохраняют свой текущий тариф и цену.
  • Бесплатный REST API. Генерируйте коды и управляйте динамическими кодами программно. Спецификация OpenAPI на /openapi.json; интерактивная документация на openqr.uk/api.
  • Хостинговый MCP-сервер на https://openqr.uk/mcp (Streamable HTTP). Генерируйте и управляйте QR-кодами напрямую из Claude, Cursor или любого MCP-клиента. Внесён в официальный реестр MCP. Клиенты с поддержкой удалённого подключения подключаются к этому URL напрямую; клиенты только со stdio могут использовать мост через npx -y @open-qr/mcp и OPENQR_API_KEY (подробности).

Статический генератор в этом репозитории никогда не обращается к этим сервисам. Он остаётся на 100% клиентским (см. Конфиденциальность), и ни один из них не требуется для использования или самостоятельного хостинга генератора.

Подключение MCP-клиента

Получите бесплатный ключ на openqr.uk/api, затем укажите клиенту сервер с ключом в заголовке авторизации.

Claude Code:

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

Cursor (~/.cursor/mcp.json) и любой другой клиент, поддерживающий Streamable HTTP:

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

Инструменты

Хостинговый MCP-сервер на https://openqr.uk/mcp предоставляет следующие инструменты (запустите tools/list для актуального списка). Каждый инструмент требует бесплатный API-ключ — создайте его на openqr.uk/api и передайте как Authorization: Bearer oqr_... при подключении MCP.

ИнструментЧто делает
generate_qrГенерирует статический QR-код из любого текста или URL. Возвращает PNG-изображение или SVG-разметку.
create_dynamic_qrСоздаёт редактируемый QR-код, назначение которого можно изменить позже без перепечатки.
update_dynamic_qrИзменяет назначение динамического кода, метку, пользовательскую короткую ссылку, теги или папку.
get_dynamic_qrПолучает полные сведения о коде: назначение, короткую ссылку, метку, тип, теги, папку, статус, дату создания.
get_scansСтатистика сканирований для динамического кода.
list_dynamic_qrСписок ваших динамических кодов с id, коротким URL, назначением, меткой и статусом.
delete_dynamic_qrНавсегда удаляет динамический код. Его короткая ссылка перестаёт работать.
bulk_create_dynamic_qrСоздаёт до 200 динамических кодов за раз.
list_foldersСписок ваших папок.
create_folderСоздаёт папку для организации кодов.
delete_folderУдаляет папку. Её коды не удаляются, а остаются без папки.
list_themesСписок сохранённых тем оформления. Примените одну, передав её id или имя как theme.
create_themeСохраняет переиспользуемую тему оформления (цвета, стили точек и углов).
delete_themeУдаляет сохранённую тему. Коды, уже оформленные ею, сохраняют свой вид.
get_subdomainПоказывает фирменный поддомен на аккаунте и приостановлен ли он.
set_subdomainЗаявляет или изменяет фирменный поддомен, чтобы коды также открывались на {name}.oqr.to. Только для Pro.
clear_subdomainОсвобождает фирменный поддомен. Коды остаются доступными по обычной короткой ссылке.

Также предоставляются 5 ресурсов и 4 промпта:

  • Ресурсы — встроенные пресеты стилей QR на openqr://preset/classic, /teal, /high-contrast, /dots и /classy. Прочитайте один и передайте его стиль в create_theme.
  • Промпты — это create_tracked_qr, bulk_qr_for_print, brand_a_qr и qr_scan_report.

Возможности

  • Без водяных знаков, без ограничений размера, без регистрации — каждая функция бесплатна
  • Приватность по дизайну — коды генерируются полностью в вашем браузере; содержимое никогда не попадает на сервер
  • Экспорт куда угодно — PNG / WebP до 4096px, а также настоящий векторный SVG и PDF
  • Полное оформление — цвета, градиенты, стили точек и углов, встраивание логотипа, рамки «Сканируй меня»
  • Умный ввод — вставьте ссылку или текст, и тип определится автоматически
  • Богатые полезные нагрузки — URL, текст, email, телефон, SMS, WhatsApp, Wi-Fi и картографический выбор местоположения
  • Копирование в один клик, общие ссылки на дизайн, светлая/тёмная тема, адаптивность, доступность с клавиатуры

Быстрый старт

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

Сборка и самостоятельный хостинг

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

Это стандартное приложение Next.js — размещайте его где угодно (VPS, Raspberry Pi, Cloudflare, за любым обратным прокси). Для запуска не требуются переменные окружения, база данных или секреты. Скрипты dev/start выше используют порт 3011; Docker-образ ниже работает на 3000. Единственная конфигурация в любом случае — это PORT.

Развёртывание (Docker-образ)

Мультиархитектурный образ (linux/amd64, linux/arm64) публикуется в GHCR при каждом релизном теге:

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

Или с docker-compose.yml:

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

В продакшене зафиксируйте версионный тег (ghcr.io/open-qr/openqr:1.0.1); latest обновляется с каждым релизом. Контейнер — это предварительно собранный, не-root автономный сервер с проверкой работоспособности, и он содержит LICENSE и NOTICE внутри образа.

Развёртывание в один клик

ХостингСсылкаПримечания
DigitalOcean App PlatformКнопка 1-clickЧитает .do/deploy.template.yaml; минимальный инстанс, порт 3000
RenderКнопка BlueprintЧитает render.yaml; предполагает платный инстанс (бесплатный тариф Render засыпает)
KoyebРазвёртывание из образаЛюбой публичный тег ghcr.io/open-qr/openqr, без сборки репозитория

Развёртывание через любой из этих сервисов не добавляет условий помимо AGPL-3.0: исходный код — это данный репозиторий, а образ содержит лицензию и уведомления о сторонних компонентах.

Встраивание

Компонент <Generator/> самодостаточен и настраиваем:

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} />} />

Инструмент поставляется без какой-либо аналитики. Если вы хотите анонимные события интерфейса (например, какой формат экспорта использовался — никогда содержимое QR), подключите обработчик:

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

Конфиденциальность

Генерация QR-кодов происходит на 100% в вашем браузере. Единственные необязательные исходящие вызовы — в инструменте Местоположение: тайлы карт от CARTO и поиск адресов через Nominatim от OpenStreetMap. Больше ничего не покидает устройство.

Технологический стек

Next.js 16 (App Router) · React 19 · TypeScript (строгий режим) · Tailwind v4 · qr-code-styling · Leaflet · pnpm.

Участие в разработке

См. CONTRIBUTING.md. Держите проект простым, доступным, клиентским и бесплатным — ни одна функция не должна требовать оплаты за удаление водяного знака или разблокировку формата.

Лицензия

AGPL-3.0 © 2026 Sam Moreton.

Вы можете свободно использовать, изучать, изменять, размещать самостоятельно и распространять OpenQR в соответствии с AGPL-3.0. Если вы запускаете изменённую версию как сетевой сервис, AGPL требует предоставить ваш исходный код под той же лицензией. Если это не подходит для вашего сценария, доступна коммерческая лицензия — см. NOTICE.