Connects Claude to the QRcodly platform for generating and managing QR codes programmatically. You get operations for creating QR codes in multiple formats (URL, vCard, Wi-Fi, calendar events, plain text), customizing appearance (colors, sizes, backgrounds), and exporting as PNG, JPEG, or SVG. It also handles URL shortening and retrieval of scan analytics. Useful when you need to generate branded QR codes in bulk, create shareable short links on the fly, or build workflows that turn structured data into scannable codes without leaving your conversation. The server runs over streamable HTTP and talks to a Fastify backend backed by MySQL and S3 storage.
QRcodly is a free, open-source QR code generator and management platform. Create, customize, and track QR codes for URLs, contact details, Wi-Fi credentials, and more.
qrcodly/
├── apps/
│ ├── backend/ # Fastify REST API
│ ├── frontend/ # Next.js web application
│ └── browser-extension/ # Vite-based browser extension
├── packages/
│ ├── shared/ # Zod schemas, DTOs, and shared utilities
│ ├── eslint-config/ # Shared ESLint configuration
│ └── typescript-config/ # Shared TypeScript configuration
└── docker-compose.yaml # Local development services
See per-app READMEs for architecture details: Backend · Frontend · Browser Extension · Shared Package
| Layer | Technologies |
|---|---|
| Frontend | Next.js, React, TypeScript, Tailwind CSS, shadcn/ui, Zustand, TanStack Query, next-intl |
| Backend | Fastify, TypeScript, Drizzle ORM, tsyringe (DI), Zod, Nodemailer, Handlebars |
| Database | MySQL, Redis |
| Storage | S3 / MinIO |
| Auth | Clerk |
| Billing | Stripe |
| Analytics | Umami, PostHog |
| Monitoring | Axiom, Sentry |
# 1. Clone the repository
git clone https://github.com/FloB95/qrcodly.git
cd qrcodly
# 2. Install dependencies
pnpm install
# 3. Start local services (MySQL, Redis, MinIO, Umami)
docker-compose up -d
# 4. Set up environment variables
cp apps/backend/.env.example apps/backend/.env
cp apps/frontend/.env.example apps/frontend/.env
# Edit both .env files with your configuration (Clerk keys, etc.)
# 5. Start development servers
pnpm run start:dev
# Backend API → http://localhost:5001
# Frontend → http://localhost:3000
| Script | Description |
|---|---|
pnpm run start:dev | Start backend and frontend in development mode |
pnpm run backend:dev | Start backend only (runs migrations first) |
pnpm run frontend:dev | Start frontend only |
pnpm run build | Build all apps |
pnpm run build:shared-package | Build the shared package only |
pnpm run lint | Lint all workspaces |
pnpm run format | Format all files with Prettier |
pnpm run clean | Clean build artifacts across all apps |
| Service | Port | Details |
|---|---|---|
| MySQL | 3306 | Credentials: root / root, database: qrcodly |
| Redis | 6379 | — |
| MinIO (S3) | 9000 (API), 9001 (Console) | Credentials: minio / testtest |
| phpMyAdmin | 8081 | — |
| Umami Analytics | 3001 | — |
Contributions are welcome! Please see CONTRIBUTING.md for guidelines and setup instructions.
This project is licensed under the MIT License.