Qrcodly Mcp Server

Created By
2 months ago
Create, manage, and share QR codes and short URLs via MCP.
Overview

QRcodly

License: MIT Node.js pnpm

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.

Features

  • Multiple QR code types — URL, vCard, Wi-Fi, Email, Calendar Event, Location, Plain Text
  • Full customization — colors, sizes, backgrounds, and custom icon uploads
  • Export formats — PNG, JPEG, SVG
  • URL shortening & analytics — shorten links and track scans
  • Templates — save and reuse QR code configurations
  • Custom domains — use your own domain for short URLs (Cloudflare integration)
  • Internationalization — 8 languages (EN, DE, ES, FR, IT, NL, PL, RU)
  • Authentication — powered by Clerk
  • Browser extension — generate QR codes from any page

Monorepo Structure

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

Tech Stack

LayerTechnologies
FrontendNext.js, React, TypeScript, Tailwind CSS, shadcn/ui, Zustand, TanStack Query, next-intl
BackendFastify, TypeScript, Drizzle ORM, tsyringe (DI), Zod, Nodemailer, Handlebars
DatabaseMySQL, Redis
StorageS3 / MinIO
AuthClerk
BillingStripe
AnalyticsUmami, PostHog
MonitoringAxiom, Sentry

Prerequisites

Quick Start

# 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

Available Scripts

ScriptDescription
pnpm run start:devStart backend and frontend in development mode
pnpm run backend:devStart backend only (runs migrations first)
pnpm run frontend:devStart frontend only
pnpm run buildBuild all apps
pnpm run build:shared-packageBuild the shared package only
pnpm run lintLint all workspaces
pnpm run formatFormat all files with Prettier
pnpm run cleanClean build artifacts across all apps

Local Services (Docker Compose)

ServicePortDetails
MySQL3306Credentials: root / root, database: qrcodly
Redis6379
MinIO (S3)9000 (API), 9001 (Console)Credentials: minio / testtest
phpMyAdmin8081
Umami Analytics3001

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines and setup instructions.

License

This project is licensed under the MIT License.

Server Config

{
  "mcpServers": {
    "qrcodly": {
      "url": "https://mcp.qrcodly.de/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_QRCODLY_API_KEY>"
      }
    }
  }
}
Project Info
Created At
2 months ago
Updated At
2 months ago
Author Name
-
Star
-
Language
-
License
-
Category

Recommend Servers

View All
Bring your real authenticated browser session to AI coding agents. Local-first MCP server + Chrome MV3 extension. No cloud. No telemetry.
@Cubenest

peek records the user's actual logged-in browser (DOM via rrweb, console events, network metadata, optional response bodies via opt-in Deep capture) through a Chrome MV3 extension. The extension ships events through a native-messaging stdio bridge to a local MCP server (peek-mcp), which persists them to a SQLite database at ~/.peek/sessions.db. AI coding agents (Claude Code, Cursor, Cline, Windsurf) read sessions from the database via 10 MCP tools: Tool What it does list_recent_sessions List recently recorded sessions (id, origin, ts, event count). get_session_summary LLM-readable narrative summary of a session. get_session_console_errors Console errors recorded in a session. get_session_network_errors Failed/notable network requests in a session. get_user_action_before_error Last N user actions before a console error. generate_playwright_repro Generate a runnable Playwright test from a session. get_dom_snapshot Reconstruct the DOM at a given timestamp. query_dom_history Timeline of attribute/text changes for a selector. request_authorization Side-panel consent for write actions (Level 3). execute_action Dispatch a UI action (gated by permission level + destructive blocklist). Why local-first matters Every other "browser session for AI" tool ships to a vendor cloud. peek's SQLite + extension live on the user's machine — no remote endpoints, no telemetry. The privacy policy (docs/peek/PRIVACY_POLICY.md) is the source of truth. Install # 1. Add the MCP server to Claude Code claude mcp add peek -- npx -y @peekdev/mcp # 2. Install the Chrome extension from the Chrome Web Store # (link added once the CWS listing is approved)

a day ago