Quality QR
Create and manage trackable QR codes with scan tracking, analytics, and dynamic URL updates.
Open source Repository Open in the app JSON README (API)
About
Create and manage trackable QR codes with scan tracking, analytics, and dynamic URL updates.
Details
- Kind
- MCP servers
- Topic
- Marketing & analytics
- Publisher
- silly-geese
- Origin
- official
- Category
- ferramentas
- Transport
- http
- Version
- 1.0.0
- Last push
- 2026-06-01T08:40:57Z
- Repository state
- ativo
- License
- NOASSERTION
- Added
- 2026-08-29 04:01:24
- Updated
- 2026-08-29 04:01:24
- Origin id
io.github.silly-geese/quality-qr
README
# Quality QR MCP Server
[](https://github.com/silly-geese/quality-qr-mcp/actions/workflows/validate.yml)
[](https://smithery.ai/server/quality-qr/qr-code-mcp)
[](https://modelcontextprotocol.io)
[](https://modelcontextprotocol.io/specification)
[](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](https://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](https://smithery.ai/server/quality-qr/qr-code-mcp), 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
| 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](SECURITY.md) to report a vulnerability, and [PRIVACY.md](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](https://quality-qr.app)
- [Agent Onboarding (SKILL.md)](https://quality-qr.app/agent-onboarding/SKILL.md) — step-by-step instructions for AI agents to use Quality QR autonomously ([source](SKILL.md))
- [MCP Documentation](https://quality-qr.app/docs/mcp)
- [API Documentation](https://quality-qr.app/docs/api)
- [Pricing](https://quality-qr.app/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`.