QrVerloz

QR codes active 90 days, claimable forever. Request an API key in chat to retarget and track scans.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
80%
Naming quality
98%
Poisoning risk
80%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainin request_api_key

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,273Tokens (tool definitions)
~830 BTypical response size
Moderate attention impact (0.99% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "qrverloz-mcp": {
      "url": "https://qrverloz.com/api/mcp"
    }
  }
}

Remote endpoints

https://qrverloz.com/api/mcpstreamable-http

What it can do

Tool inventory

Tools (8)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡create_qr_code(title, target_url)

Create a new QR code. Authenticated users (API key required) get a permanent short URL that can be retargeted at any time without reprinting the physical QR image — limits are set by the account plan. Anonymous users receive a one-time data URI image that is not stored and cannot be updated. On success the result is a pre-formatted markdown table — display it exactly as received, do not reformat or summarise.

Input Schema

{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "A human-readable label for the QR code"
    },
    "target_url": {
      "type": "string",
      "format": "uri",
      "description": "Destination URL — must start with https:// or http://"
    }
  },
  "required": [
    "title",
    "target_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_qr_code(qr_code_id, short_code)

Look up a single QR code by its internal ID or short code. Returns a pre-formatted markdown table with fields: Title, ID, Short Code, Short URL, Destination, Status, Created, QR Code Link. Display the table exactly as received — do not reformat or summarise. Requires authentication.

Input Schema

{
  "type": "object",
  "properties": {
    "qr_code_id": {
      "description": "Internal UUID from create_qr_code or list_qr_codes",
      "type": "string"
    },
    "short_code": {
      "description": "Short code from the redirect URL (e.g. \"abc123\")",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_qr_codes(page, limit)

List all QR codes in your account. Returns one pre-formatted markdown table per QR code with fields: Title, ID, Short Code, Short URL, Destination, Status, Created, QR Code Link. Display each table exactly as received — do not reformat or summarise. Requires authentication.

Input Schema

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number (default: 1)",
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "limit": {
      "description": "Items per page, max 20 (default: 20)",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_qr_scans(qr_code_id)

Get the total lifetime scan count for a QR code. Returns a pre-formatted markdown table with fields: Title, ID, Short Code, Short URL, Destination, Status, Created, QR Code Link, Total Scans. Display the table exactly as received — do not reformat or summarise. Requires authentication.

Input Schema

{
  "type": "object",
  "properties": {
    "qr_code_id": {
      "type": "string",
      "description": "Internal UUID of the QR code"
    }
  },
  "required": [
    "qr_code_id"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡update_qr_target(qr_code_id, short_code, target_url)

Change the destination URL of a QR code without touching the printed image. Print once, redirect anywhere — forever. Accepts either the internal qr_code_id or the short_code from the redirect URL. On success the result is a pre-formatted markdown table — display it exactly as received, do not reformat or summarise. Requires authentication.

Input Schema

{
  "type": "object",
  "properties": {
    "qr_code_id": {
      "description": "Internal UUID from create_qr_code or list_qr_codes",
      "type": "string"
    },
    "short_code": {
      "description": "Short code from the redirect URL (e.g. \"abc123\")",
      "type": "string"
    },
    "target_url": {
      "type": "string",
      "format": "uri",
      "description": "New destination URL — must start with https:// or http://"
    }
  },
  "required": [
    "target_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_qr_code(qr_code_id, short_code, confirm_title)

Permanently delete a QR code and its scan history. This action cannot be undone. To prevent accidental or injected deletions, you MUST supply confirm_title — the exact title of the code as returned by get_qr_code or list_qr_codes. If the title does not match the stored record, the deletion is refused. Always call get_qr_code or list_qr_codes first to retrieve the exact title before calling this tool. Requires authentication.

Input Schema

{
  "type": "object",
  "properties": {
    "qr_code_id": {
      "description": "Internal UUID from create_qr_code or list_qr_codes",
      "type": "string"
    },
    "short_code": {
      "description": "Short code from the redirect URL (e.g. \"abc123\")",
      "type": "string"
    },
    "confirm_title": {
      "type": "string",
      "minLength": 1,
      "description": "The exact title of the QR code to delete — must match the stored title character-for-character. This prevents blind or injected deletions."
    }
  },
  "required": [
    "confirm_title"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡get_account_info

Get your account details: current plan, QR code usage, and which features are available. Use this before create_qr_code to check remaining capacity, or to confirm which features are active on your plan. Requires authentication.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡request_api_key

Get a free API token — no account or email required. The token gives you up to 5 QR codes that can be updated at any time. IMPORTANT LIFETIME WARNING: the token expires after 90 days, and QR codes are permanently deleted ~90 days after that (~180 days total). To keep codes alive permanently, claim a free account at https://qrverloz.com/claim — this must be done before the token expires. Save the returned token: it is shown only once. Add it to your MCP client config under Authorization: Bearer, then call create_qr_code.

Input Schema

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded8 tools
verifiedversion not recorded8 tools
verifiedversion not recorded8 tools