About Quality QR
Quality QR is a remote MCP server for creating and managing account-linked, trackable QR codes. It supports scan analytics and destination updates for dynamic codes, so teams can manage printed codes without replacing them when URLs change.
Key features
- 01Create 12 types of QR codes
- 02List and inspect saved codes
- 03Update destinations for dynamic codes
- 04Enable, disable, rename, or delete codes
- 05View scan trends and breakdowns
Use cases
- 01Create a WiFi QR code for guests
- 02Review scans by day, device, or country
- 03Change a printed QR code's destination
- 04Organize and disable account QR codes
MCP support
Exposes QR code creation, listing, retrieval, updating, deletion, and analytics tools to MCP clients. It is a remote server using Streamable HTTP and authenticates requests with an API key.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://quality-qr.app/api/mcpclaude mcp add --transport http silly-geese-quality-qr https://quality-qr.app/api/mcp{"mcpServers":{"silly-geese-quality-qr":{"type":"http","url":"https://quality-qr.app/api/mcp"}}}Open in Cursor{"servers":{"silly-geese-quality-qr":{"type":"http","url":"https://quality-qr.app/api/mcp"}}}Open in VS Code{"mcpServers":{"silly-geese-quality-qr":{"type":"http","url":"https://quality-qr.app/api/mcp"}}}{"mcpServers":{"silly-geese-quality-qr":{"serverUrl":"https://quality-qr.app/api/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
6| Parameter | Type | Required | Description |
|---|---|---|---|
| data | object | No | Type-specific structured data. Use instead of 'content' for complex types. WiFi: {ssid: string, password?: string, encryption?: 'WPA'|'WEP'|'nopass', hidden?: boolean}. vCard: {firstName: string, lastName: string, email?: string, phone?: string, mobile?: string, organization?: string, title?: string, website?: string, address?: {street?, city?, state?, zip?, country?}}. Event: {title: string, startDate: string (YYYY-MM-DD), startTime?: string (HH:mm), endDate?: string, endTime?: string, location?: string, description?: string, allDay?: boolean}. Social: {platforms: [{name: string, url: string, label: string}], profileName?: string, bio?: string}. Email: {to: string, subject?: string, body?: string}. Phone: {number: string}. SMS: {number: string, message?: string}. |
| name | string | No | A human-readable name for the QR code, e.g. 'Office WiFi' or 'Spring Menu 2026'. Auto-generated as 'MCP: {type} {date}' if omitted. |
| type | enum | Yes | QR code content type. 'url' for websites, 'wifi' for network credentials, 'vcard' for contact cards, 'email' for pre-filled emails, 'phone' for tap-to-call, 'sms' for pre-filled texts, 'text' for plain text, 'event' for calendar events, 'pdf' for document links, 'menu' for restaurant menus, 'app-store' for app download links, 'social' for social media profiles.url | pdf | menu | app-store | social | wifi | vcard | email | phone | sms | text | event |
| design | object | No | Optional visual customization for the QR code. |
| design.backgroundColor | string | No | Hex color code for the QR code background, e.g. '#ffffff' for white. |
| design.foregroundColor | string | No | Hex color code for the QR code modules (dark squares), e.g. '#000000' for black or '#1a56db' for blue. |
| domain | string|null | No | Business plan: one of your active custom domains (e.g. 'qr.yourbrand.com') to print the short link on. Pass null for quality-qr.app. Omit to use your default custom domain, if you set one. Applies to url, pdf, menu and app-store codes. |
| content | string | No | The content to encode. Required for url, text, pdf, menu, and app-store types. For url types, provide the full URL including https://. For other types, use the 'data' parameter instead. |
| isDynamic | boolean | No | Set to true to create a dynamic QR code whose destination URL can be changed later without reprinting the physical code. Only works for URL-based types (url, pdf, menu, app-store, social). Default: false. |
Details
From the project READMEQuality QR MCP Server
Create and manage trackable QR codes through AI assistants like Claude, Cursor, and any MCP-compatible tool.
Unlike generic QR code generators, Quality QR codes are saved to your account with scan tracking, analytics, and the ability to update destinations without reprinting.
Endpoint: https://quality-qr.app/api/mcp
Setup
1. Get an API Key
Sign up at quality-qr.app and generate an API key at Dashboard > Settings > API Keys.
2. Configure Your MCP Client
Smithery users: If you install via Smithery, you'll be prompted for your
apiKeydirectly — Smithery handles theAuthorizationheader for you. The configs below are for manual setup.
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on Mac):
{
"mcpServers": {
"quality-qr": {
"url": "https://quality-qr.app/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Cursor
Add to your Cursor MCP settings:
{
"mcpServers": {
"quality-qr": {
"url": "https://quality-qr.app/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Claude Code
claude mcp add quality-qr --transport http https://quality-qr.app/api/mcp \
--header "Authorization: Bearer YOUR_API_KEY"
3. Start Using It
Ask your AI assistant:
- "Create a QR code for https://example.com"
- "Make a WiFi QR code for network MyWiFi with password guest123"
- "Show me the analytics for my QR codes"
- "List all my QR codes"
- "Disable QR code abc123"
Available Tools
| Tool | Description |
|---|---|
quality_qr_create | Create a trackable QR code. 12 types: URL, PDF, Menu, App Store, Social, WiFi, vCard, Email, Phone, SMS, Text, Event. Returns an inline SVG. |
quality_qr_list | List your QR codes with optional type filter and pagination. |
quality_qr_get | Get full details of a QR code by ID. |
quality_qr_update | Update destination URL (dynamic types), rename, or enable/disable. |
quality_qr_delete | Permanently delete a QR code. Frees plan quota. |
quality_qr_analytics | Scan analytics: totals, daily trends, device breakdown, top countries. |
QR Code Types
Dynamic (URL can be changed after printing): URL, PDF, Menu, App Store, Social
Static (data encoded directly): WiFi, vCard, Email, Phone, SMS, Text, Event
Rate Limits
MCP tool calls count against your API rate limit. Protocol messages (initialize, tools/list) are free.
| Plan | Tool Calls / Month | Analytics History | Price |
|---|---|---|---|
| Free | 100 | 7 days | Free |
| Pro | 1,000 | 30 days | €10/mo |
| Business | 10,000 | 1 year | €30/mo |
Rate-Limit Response Headers
Every response includes headers to help you manage usage:
| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum tool calls allowed per month on your plan |
X-RateLimit-Remaining | Tool calls remaining in the current billing period |
X-RateLimit-Reset | UTC timestamp when the limit resets (ISO 8601) |
Retry-After | Seconds to wait before retrying (only present on 429 responses) |
When you receive a 429 Too Many Requests response, wait for the number of seconds specified in Retry-After before retrying.
Security
- All requests authenticated via API key (Bearer token)
- Keys can be revoked instantly from the dashboard
- QR codes are scoped to your account (no cross-user access)
- No admin, billing, or team management operations exposed
- GDPR and CCPA compliant, hosted on Cloudflare's global edge network
- See SECURITY.md to report a vulnerability, and PRIVACY.md for data handling details
API Key Management
Your API key grants full access to your QR codes and analytics. Treat it like a password.
- Rotate regularly. Generate a new key in Dashboard > Settings > API Keys, update your MCP client config, then revoke the old key. You can have multiple active keys to allow zero-downtime rotation.
- Revoke compromised keys immediately. Revocation takes effect instantly — any in-flight requests using the old key will fail.
- Restrict access to config files. MCP client configs store your key in plaintext. On macOS/Linux, ensure only your user can read them (e.g.,
chmod 600). Avoid committing config files with real keys to version control.
Links
- Quality QR
- Agent Onboarding (SKILL.md) — step-by-step instructions for AI agents to use Quality QR autonomously (source)
- MCP Documentation
- API Documentation
- Pricing
Protocol
This is a remote MCP server using Streamable HTTP transport (JSON-RPC 2.0 over HTTP POST). No local installation required. Compatible with MCP protocol version 2025-03-26.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.