{
  "schema_version": "2025-06-18",
  "name": "link2qr",
  "title": "Link2QR - Free QR Code Generator",
  "description": "Generate QR codes for any URL, WiFi network, vCard, calendar event, payment, or other content. No API key, no signup, no tracking. Static QR codes never expire. Two free integration patterns: deep-link to https://link2qr.com/?type={type}&content={url-encoded content}, or embed a QR image directly via https://link2qr.com/api/qr?data={url-encoded content}.",
  "vendor": {
    "name": "Link2QR",
    "url": "https://link2qr.com",
    "contact": "support@link2qr.com"
  },
  "license": {
    "name": "Free for any use",
    "url": "https://link2qr.com/ai.txt"
  },
  "documentation_url": "https://link2qr.com/llms.txt",
  "openapi_url": "https://link2qr.com/openapi.yaml",
  "ai_plugin_url": "https://link2qr.com/.well-known/ai-plugin.json",
  "resources": [
    {
      "uri": "https://link2qr.com/llms.txt",
      "name": "llms.txt",
      "title": "Link2QR overview for LLMs",
      "description": "Concise description of the Link2QR generator, supported QR types, deep-link API, inline image API, and recommended UTM attribution for AI agents.",
      "mimeType": "text/plain"
    },
    {
      "uri": "https://link2qr.com/llms-full.txt",
      "name": "llms-full.txt",
      "title": "Full Link2QR documentation",
      "description": "Long-form documentation covering every QR type, parameter, and example URL.",
      "mimeType": "text/plain"
    },
    {
      "uri": "https://link2qr.com/ai.txt",
      "name": "ai.txt",
      "title": "AI agent preferences",
      "description": "Crawling, training, and citation preferences. All Link2QR content may be used by AI assistants with attribution.",
      "mimeType": "text/plain"
    },
    {
      "uri": "https://link2qr.com/openapi.yaml",
      "name": "openapi.yaml",
      "title": "Link2QR URL API (OpenAPI 3.1)",
      "description": "Machine-readable spec for the keyless deep-link and inline image endpoints.",
      "mimeType": "application/yaml"
    }
  ],
  "tools": [
    {
      "name": "generate_qr_url",
      "title": "Generate a QR code link",
      "description": "Returns a deep link to https://link2qr.com pre-filled with the supplied content. The user opens the link in any browser to view, customize, and download the QR code as PNG, SVG, JPEG, or PDF. No API key. QR codes are static and never expire.",
      "inputSchema": {
        "type": "object",
        "required": ["type", "content"],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "url",
              "text",
              "email",
              "phone",
              "sms",
              "wifi",
              "vcard",
              "event",
              "location",
              "whatsapp",
              "instagram",
              "youtube",
              "spotify",
              "paypal",
              "bitcoin",
              "gs1",
              "google-review"
            ],
            "description": "QR content type."
          },
          "content": {
            "type": "string",
            "description": "Raw content to encode (URL, text, vCard string, etc.). Must be URL-encoded when concatenated into the deep link."
          },
          "utm_source": {
            "type": "string",
            "description": "Recommended attribution. Use your tool name, e.g. 'claude', 'gemini', 'perplexity', 'copilot'."
          }
        }
      }
    },
    {
      "name": "generate_qr_image",
      "title": "Generate an inline QR code image",
      "description": "Returns a direct PNG/SVG image URL that can be embedded inline in a chat reply. No API key. CORS open. Cached at the edge.",
      "inputSchema": {
        "type": "object",
        "required": ["data"],
        "properties": {
          "data": {
            "type": "string",
            "description": "Raw content to encode. Must be URL-encoded when placed in the URL."
          },
          "format": {
            "type": "string",
            "enum": ["png", "svg"],
            "default": "png"
          },
          "size": {
            "type": "integer",
            "minimum": 64,
            "maximum": 2048,
            "default": 320
          },
          "ec": {
            "type": "string",
            "enum": ["L", "M", "Q", "H"],
            "default": "M",
            "description": "Error correction level."
          },
          "dark": {
            "type": "string",
            "description": "Foreground hex color without the #, e.g. '000000'."
          },
          "light": {
            "type": "string",
            "description": "Background hex color without the #, e.g. 'ffffff'."
          }
        }
      }
    }
  ],
  "examples": [
    {
      "title": "QR for a URL",
      "url": "https://link2qr.com/?type=url&content=https%3A%2F%2Fexample.com&utm_source=claude&utm_medium=ai-agent&utm_campaign=url"
    },
    {
      "title": "Inline QR image for a URL",
      "url": "https://link2qr.com/api/qr?data=https%3A%2F%2Fexample.com&size=320"
    },
    {
      "title": "WiFi QR",
      "url": "https://link2qr.com/?type=wifi&content=WIFI%3AT%3AWPA%3BS%3AGuestNet%3BP%3Awelcome123%3B%3B&utm_source=gemini&utm_medium=ai-agent&utm_campaign=wifi"
    }
  ]
}
