Quality QR

io.github.silly-geesePublished by GitHub account silly-geesev1.0.0Updated Nov 2, 2026

Create and manage trackable QR codes with scan tracking, analytics, and dynamic URL updates.

VerifiedStreamable HTTPWeb executableData & AnalyticsBusiness & CommerceMedia & Design

Overview

AI-generated overview

Remote MCP server for creating and managing trackable QR codes in a Quality QR account, with scan analytics and editable destinations.

What you can do
  • Create QR codes of 12 types (URL, PDF, menu, app store, social, WiFi, vCard, email, phone, SMS, text, event) and get an inline SVG back
  • List and inspect saved QR codes, including type, short URL, active status and design settings
  • Rename codes, enable or disable them, and change the destination of dynamic URL-based types
  • Delete codes permanently, which frees a plan quota slot
  • Read scan analytics: totals, daily trends, device breakdown and top countries
When to use it
Useful when you want an assistant to generate QR codes that stay editable and measurable, such as printed menus, posters or packaging where the link may change later, and to check how those codes are being scanned.
Requirements
Remote Streamable HTTP endpoint; no local install. Needs a Quality QR account and an API key generated in the dashboard, sent as an Authorization Bearer header. Tool calls count against a monthly plan quota (free tier 100 calls, 7-day analytics history).
Before you install
The API key grants full access to your QR codes and analytics, and MCP client configs store it in plaintext, so restrict file permissions and avoid committing it. Creating, updating and deleting codes changes account data; deletion is permanent and the short URL stops redirecting immediately. Scan data is stored by the service, and paid plans are billed monthly.

Installation

In SourceWeft

  1. Open Quality QR in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.silly-geese%2Fquality-qr/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "quality-qr": {
      "type": "http",
      "url": "https://quality-qr.app/api/mcp"
    }
  }
}

README

Quality QR MCP Server

[Validate manifests] [Smithery] [MCP] [Protocol] [License]

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 apiKey directly — Smithery handles the Authorization header 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):

json
{  "mcpServers": {    "quality-qr": {      "url": "https://quality-qr.app/api/mcp",      "headers": {        "Authorization": "Bearer YOUR_API_KEY"      }    }  }}
Cursor

Add to your Cursor MCP settings:

json
{  "mcpServers": {    "quality-qr": {      "url": "https://quality-qr.app/api/mcp",      "headers": {        "Authorization": "Bearer YOUR_API_KEY"      }    }  }}
Claude Code
bash
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

ToolDescription
quality_qr_createCreate 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_listList your QR codes with optional type filter and pagination.
quality_qr_getGet full details of a QR code by ID.
quality_qr_updateUpdate destination URL (dynamic types), rename, or enable/disable.
quality_qr_deletePermanently delete a QR code. Frees plan quota.
quality_qr_analyticsScan 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.

PlanTool Calls / MonthAnalytics HistoryPrice
Free1007 daysFree
Pro1,00030 days€10/mo
Business10,0001 year€30/mo

Rate-Limit Response Headers

Every response includes headers to help you manage usage:

HeaderDescription
X-RateLimit-LimitMaximum tool calls allowed per month on your plan
X-RateLimit-RemainingTool calls remaining in the current billing period
X-RateLimit-ResetUTC timestamp when the limit resets (ISO 8601)
Retry-AfterSeconds 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

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.

Source: README.md at commit 838edeb

Tools

6

quality_qr_create

Create a new trackable QR code saved to your Quality QR account. Use this when the user wants to generate a QR code for a URL, WiFi network, contact card, calendar event, phone number, email, SMS, restaurant menu, app download link, or social media profile. The QR code is persisted with scan tracking and analytics. Returns an inline SVG image of the QR code.

ParametersdatanametyperequireddesigndomaincontentisDynamic

quality_qr_list

List QR codes in the user's Quality QR account. Use this when the user wants to see their existing QR codes, find a specific code, or check how many codes they have. Returns ID, name, type, short URL, active status, and creation date for each code.

Parameterstypelimitoffset

quality_qr_get

Get full details of a specific QR code by its ID. Use this when the user wants to inspect a particular QR code's configuration, check its destination URL, view its design settings, or see its current status. Returns all metadata including content, destination, design, scan limits, and timestamps.

Parametersidrequired

quality_qr_update

Update an existing QR code's properties. Use this when the user wants to change where a QR code points to, rename it, or enable/disable it. Destination URL changes only work for dynamic URL-based types (url, pdf, menu, app-store, social). Name and active status can be changed for any QR code type.

ParametersidrequirednameisActivedestinationUrl

quality_qr_delete

Permanently delete a QR code from the user's account. Use this when the user wants to remove a QR code they no longer need. The short URL will immediately stop redirecting. This action frees up a plan quota slot and cannot be undone.

Parametersidrequired

quality_qr_analytics

Get scan analytics for a specific QR code. Use this when the user wants to know how many times a QR code has been scanned, see daily scan trends, understand which devices are scanning, or see which countries scans come from. Returns total scans, scans by day, device breakdown (mobile/tablet/desktop), and top 5 countries.

Parametersidrequireddays

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.