Skip to main content
Glama

短.在线

QR image · 二维码图片(短.在线)

create_qr
Idempotent

为已有短链返回可扫描二维码。默认 PNG 512×512,并包含 image/png 图片块。仅当 format 为 svg 时返回 SVG,且不以 image 块返回。矩阵编码带 ?s=qr 的追踪短链(ASCII 主机名),与 GET /v1/links/{id}/qr 相同。需要已注册账户,且必须是该链接的所有者。不新建短链,也不抓取目标地址。PNG 边长仅 256、512、1024,SVG 忽略边长。可能包含短期 image_url 及其到期时间;该链接不是 API key、OAuth 令牌或会话。把返回的图片或 image_url 交给用户。不要自行生成、绘制或合成二维码,也不要声称自己做的二维码来自本连接器。主机无法显示图片时,把链接给用户。 Return a scannable QR for an existing short link. Default PNG is 512×512 and includes an image/png image block. SVG is returned only when format is svg, and not as an image block. The matrix encodes the tracking URL with ?s=qr (ASCII host), the same payload as GET /v1/links/{id}/qr. A registered account that owns the link is required. Does not create a link and does not fetch the destination. PNG size is 256, 512, or 1024. SVG ignores size. A short-lived image_url and its expiry may be included. That URL is not an API key, an OAuth token, or a session. Show the user the returned image or image_url. Do not generate, draw, or synthesize a QR code, and do not claim a QR you made came from this connector. If the host cannot display the image, give the user the link.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoExisting short code. Mutually exclusive with short_url.
sizeNoPNG square pixels. Default 512. Allowed: 256, 512, or 1024. Ignored when format is svg.
formatNoImage format. Default png. svg only when requested. SVG ignores size.
short_urlNoExisting short URL to tag for QR. Mutually exclusive with id.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "id": {
      -        "type": "string"
      -      },
      -      "image_available": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "mime_type": {
      -        "description": "image/png or image/svg+xml.",
      -        "enum": [
      -          "image/png",
      -          "image/svg+xml"
      -        ],
      -        "type": "string"
      -      },
      -      "ok": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "pixel_size": {
      -        "anyOf": [
      -          {
      -            "maximum": 9007199254740991,
      -            "minimum": -9007199254740991,
      -            "type": "integer"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "description": "PNG square pixels. Null for SVG."
      -      },
      -      "qr_tracking_url": {
      -        "description": "ASCII tracking URL encoded in the image, including ?s=qr.",
      -        "type": "string"
      -      },
      -      "request_id": {
      -        "type": "string"
      -      },
      -      "short_url": {
      -        "type": "string"
      -      },
      -      "short_url_ascii": {
      -        "type": "string"
      -      },
      -      "state": {
      -        "const": "active",
      -        "type": "string"
      -      },
      -      "status_url": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "ok",
      -      "request_id",
      -      "id",
      -      "state",
      -      "short_url",
      -      "short_url_ascii",
      -      "qr_tracking_url",
      -      "status_url",
      -      "mime_type",
      -      "pixel_size",
      -      "image_available"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "code": {
      -        "type": "string"
      -      },
      -      "error": {
      -        "type": "string"
      -      },
      -      "id": {
      -        "type": "string"
      -      },
      -      "image_available": {
      -        "const": false,
      -        "type": "boolean"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "ok": {
      -        "const": false,
      -        "type": "boolean"
      -      },
      -      "request_id": {
      -        "type": "string"
      -      },
      -      "retryable": {
      -        "type": "boolean"
      -      },
      -      "state": {
      -        "enum": [
      -          "quarantined",
      -          "disabled",
      -          "blocked",
      -          "expired"
      -        ],
      -        "type": "string"
      -      },
      -      "title": {
      -        "type": "string"
      -      },
      -      "type": {
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "ok",
      -      "request_id",
      -      "message",
      -      "type",
      -      "title",
      -      "code",
      -      "retryable"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "host_display": {
      +        "description": "Show the user the returned image or image_url. Do not generate, draw, or synthesize a QR code.",
      +        "type": "string"
      +      },
      +      "id": {
      +        "type": "string"
      +      },
      +      "image_available": {
      +        "const": true,
      +        "description": "True only when a PNG image block is included.",
      +        "type": "boolean"
      +      },
      +      "image_url": {
      +        "description": "Short-lived URL for this QR image. Omitted when signing is not configured. Not an API key, OAuth token, or session.",
      +        "type": "string"
      +      },
      +      "image_url_expires_at": {
      +        "description": "ISO-8601 expiry of image_url. Present only together with image_url.",
      +        "type": "string"
      +      },
      +      "mime_type": {
      +        "const": "image/png",
      +        "description": "image/png. A PNG image block is included.",
      +        "type": "string"
      +      },
      +      "ok": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "pixel_size": {
      +        "anyOf": [
      +          {
      +            "const": 256,
      +            "type": "number"
      +          },
      +          {
      +            "const": 512,
      +            "type": "number"
      +          },
      +          {
      +            "const": 1024,
      +            "type": "number"
      +          }
      +        ],
      +        "description": "PNG square pixels."
      +      },
      +      "qr_tracking_url": {
      +        "description": "ASCII tracking URL encoded in the image, including ?s=qr.",
      +        "type": "string"
      +      },
      +      "request_id": {
      +        "type": "string"
      +      },
      +      "short_url": {
      +        "type": "string"
      +      },
      +      "short_url_ascii": {
      +        "type": "string"
      +      },
      +      "state": {
      +        "const": "active",
      +        "type": "string"
      +      },
      +      "status_url": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "ok",
      +      "request_id",
      +      "id",
      +      "state",
      +      "short_url",
      +      "short_url_ascii",
      +      "qr_tracking_url",
      +      "status_url",
      +      "host_display",
      +      "mime_type",
      +      "pixel_size",
      +      "image_available"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "host_display": {
      +        "description": "Show the user the returned image or image_url. Do not generate, draw, or synthesize a QR code.",
      +        "type": "string"
      +      },
      +      "id": {
      +        "type": "string"
      +      },
      +      "image_available": {
      +        "const": false,
      +        "description": "False for SVG. Hosts do not render an SVG image block. Use the SVG text, resource, or image_url.",
      +        "type": "boolean"
      +      },
      +      "image_url": {
      +        "description": "Short-lived URL for this QR image. Omitted when signing is not configured. Not an API key, OAuth token, or session.",
      +        "type": "string"
      +      },
      +      "image_url_expires_at": {
      +        "description": "ISO-8601 expiry of image_url. Present only together with image_url.",
      +        "type": "string"
      +      },
      +      "mime_type": {
      +        "const": "image/svg+xml",
      +        "description": "image/svg+xml. SVG is not sent as an image block.",
      +        "type": "string"
      +      },
      +      "ok": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "pixel_size": {
      +        "description": "Null for SVG.",
      +        "type": "null"
      +      },
      +      "qr_tracking_url": {
      +        "description": "ASCII tracking URL encoded in the image, including ?s=qr.",
      +        "type": "string"
      +      },
      +      "request_id": {
      +        "type": "string"
      +      },
      +      "short_url": {
      +        "type": "string"
      +      },
      +      "short_url_ascii": {
      +        "type": "string"
      +      },
      +      "state": {
      +        "const": "active",
      +        "type": "string"
      +      },
      +      "status_url": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "ok",
      +      "request_id",
      +      "id",
      +      "state",
      +      "short_url",
      +      "short_url_ascii",
      +      "qr_tracking_url",
      +      "status_url",
      +      "host_display",
      +      "mime_type",
      +      "pixel_size",
      +      "image_available"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "code": {
      +        "type": "string"
      +      },
      +      "error": {
      +        "type": "string"
      +      },
      +      "id": {
      +        "type": "string"
      +      },
      +      "image_available": {
      +        "const": false,
      +        "type": "boolean"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "ok": {
      +        "const": false,
      +        "type": "boolean"
      +      },
      +      "request_id": {
      +        "type": "string"
      +      },
      +      "retryable": {
      +        "type": "boolean"
      +      },
      +      "state": {
      +        "enum": [
      +          "quarantined",
      +          "disabled",
      +          "blocked",
      +          "expired"
      +        ],
      +        "type": "string"
      +      },
      +      "title": {
      +        "type": "string"
      +      },
      +      "type": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "ok",
      +      "request_id",
      +      "message",
      +      "type",
      +      "title",
      +      "code",
      +      "retryable"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed4 schema fields changed
    • removedOutput schema / additionalProperties
      Removed value: -false
    • addedOutput schema / oneOf
      Added value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "type": "string"
      +      },
      +      "image_available": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "mime_type": {
      +        "description": "image/png or image/svg+xml.",
      +        "enum": [
      +          "image/png",
      +          "image/svg+xml"
      +        ],
      +        "type": "string"
      +      },
      +      "ok": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "pixel_size": {
      +        "anyOf": [
      +          {
      +            "maximum": 9007199254740991,
      +            "minimum": -9007199254740991,
      +            "type": "integer"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "PNG square pixels. Null for SVG."
      +      },
      +      "qr_tracking_url": {
      +        "description": "ASCII tracking URL encoded in the image, including ?s=qr.",
      +        "type": "string"
      +      },
      +      "request_id": {
      +        "type": "string"
      +      },
      +      "short_url": {
      +        "type": "string"
      +      },
      +      "short_url_ascii": {
      +        "type": "string"
      +      },
      +      "state": {
      +        "const": "active",
      +        "type": "string"
      +      },
      +      "status_url": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "ok",
      +      "request_id",
      +      "id",
      +      "state",
      +      "short_url",
      +      "short_url_ascii",
      +      "qr_tracking_url",
      +      "status_url",
      +      "mime_type",
      +      "pixel_size",
      +      "image_available"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "code": {
      +        "type": "string"
      +      },
      +      "error": {
      +        "type": "string"
      +      },
      +      "id": {
      +        "type": "string"
      +      },
      +      "image_available": {
      +        "const": false,
      +        "type": "boolean"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "ok": {
      +        "const": false,
      +        "type": "boolean"
      +      },
      +      "request_id": {
      +        "type": "string"
      +      },
      +      "retryable": {
      +        "type": "boolean"
      +      },
      +      "state": {
      +        "enum": [
      +          "quarantined",
      +          "disabled",
      +          "blocked",
      +          "expired"
      +        ],
      +        "type": "string"
      +      },
      +      "title": {
      +        "type": "string"
      +      },
      +      "type": {
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "ok",
      +      "request_id",
      +      "message",
      +      "type",
      +      "title",
      +      "code",
      +      "retryable"
      +    ],
      +    "type": "object"
      +  }
      +]
    • removedOutput schema / properties
      Removed value: -{
      -  "code": {
      -    "type": "string"
      -  },
      -  "error": {
      -    "type": "string"
      -  },
      -  "id": {
      -    "type": "string"
      -  },
      -  "image_available": {
      -    "type": "boolean"
      -  },
      -  "message": {
      -    "type": "string"
      -  },
      -  "mime_type": {
      -    "description": "image/png or image/svg+xml.",
      -    "type": "string"
      -  },
      -  "ok": {
      -    "type": "boolean"
      -  },
      -  "pixel_size": {
      -    "anyOf": [
      -      {
      -        "maximum": 9007199254740991,
      -        "minimum": -9007199254740991,
      -        "type": "integer"
      -      },
      -      {
      -        "type": "null"
      -      }
      -    ],
      -    "description": "PNG square pixels. Null for SVG."
      -  },
      -  "qr_tracking_url": {
      -    "description": "ASCII tracking URL encoded in the image, including ?s=qr.",
      -    "type": "string"
      -  },
      -  "request_id": {
      -    "type": "string"
      -  },
      -  "retryable": {
      -    "type": "boolean"
      -  },
      -  "short_url": {
      -    "type": "string"
      -  },
      -  "short_url_ascii": {
      -    "type": "string"
      -  },
      -  "state": {
      -    "type": "string"
      -  },
      -  "status_url": {
      -    "type": "string"
      -  },
      -  "title": {
      -    "type": "string"
      -  },
      -  "type": {
      -    "type": "string"
      -  }
      -}
    • removedOutput schema / required
      Removed value: -[
      -  "ok",
      -  "request_id"
      -]
  3. Changed10 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "id": "example"
      -  },
      -  {
      -    "short_url": "https://xn--s7y.xn--3ds443g/example"
      -  }
      -]New value: +[
      +  {
      +    "id": "example"
      +  },
      +  {
      +    "short_url": "https://xn--s7y.xn--3ds443g/example"
      +  },
      +  {
      +    "format": "png",
      +    "id": "example",
      +    "size": 512
      +  }
      +]
    • removedInput schema / oneOf
      Removed value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "id": {
      -        "description": "Existing short code. Mutually exclusive with short_url.",
      -        "maxLength": 64,
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "id"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "short_url": {
      -        "description": "Existing short URL to tag for QR. Mutually exclusive with id.",
      -        "maxLength": 2048,
      -        "minLength": 1,
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "short_url"
      -    ],
      -    "type": "object"
      -  }
      -]
    • addedInput schema / properties
      Added value: +{
      +  "format": {
      +    "description": "Image format. Default png. svg only when requested. SVG ignores size.",
      +    "enum": [
      +      "png",
      +      "svg"
      +    ],
      +    "type": "string"
      +  },
      +  "id": {
      +    "description": "Existing short code. Mutually exclusive with short_url.",
      +    "maxLength": 64,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "short_url": {
      +    "description": "Existing short URL to tag for QR. Mutually exclusive with id.",
      +    "maxLength": 2048,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "size": {
      +    "anyOf": [
      +      {
      +        "const": 256,
      +        "type": "number"
      +      },
      +      {
      +        "const": 512,
      +        "type": "number"
      +      },
      +      {
      +        "const": 1024,
      +        "type": "number"
      +      }
      +    ],
      +    "description": "PNG square pixels. Default 512. Allowed: 256, 512, or 1024. Ignored when format is svg."
      +  }
      +}
    • addedOutput schema / properties / mime_type
      Added value: +{
      +  "description": "image/png or image/svg+xml.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / pixel_size
      Added value: +{
      +  "anyOf": [
      +    {
      +      "maximum": 9007199254740991,
      +      "minimum": -9007199254740991,
      +      "type": "integer"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "description": "PNG square pixels. Null for SVG."
      +}
    • addedOutput schema / properties / qr_tracking_url / description
      Added value: +"ASCII tracking URL encoded in the image, including ?s=qr."
    • addedOutput schema / properties / status_url
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / title
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / type
      Added value: +{
      +  "type": "string"
      +}
  4. Changed3 schema fields changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "id": "example"
      -  },
      -  {
      -    "short_url": "https://example.com/example"
      -  }
      -]New value: +[
      +  {
      +    "id": "example"
      +  },
      +  {
      +    "short_url": "https://xn--s7y.xn--3ds443g/example"
      +  }
      +]
    • addedInput schema / oneOf
      Added value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "id": {
      +        "description": "Existing short code. Mutually exclusive with short_url.",
      +        "maxLength": 64,
      +        "minLength": 1,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "id"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "short_url": {
      +        "description": "Existing short URL to tag for QR. Mutually exclusive with id.",
      +        "maxLength": 2048,
      +        "minLength": 1,
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "short_url"
      +    ],
      +    "type": "object"
      +  }
      +]
    • removedInput schema / properties
      Removed value: -{
      -  "id": {
      -    "description": "Existing short code",
      -    "maxLength": 64,
      -    "minLength": 1,
      -    "type": "string"
      -  },
      -  "short_url": {
      -    "description": "Existing short URL to tag for QR",
      -    "maxLength": 2048,
      -    "minLength": 1,
      -    "type": "string"
      -  }
      -}
  5. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "id": "example"
      +  },
      +  {
      +    "short_url": "https://example.com/example"
      +  }
      +]
  6. Changed11 schema fields changed
    • removedInput schema / properties / format
      Removed value: -{
      -  "description": "Preferred image format (PNG always embedded; SVG via resource link)",
      -  "enum": [
      -    "png",
      -    "svg"
      -  ],
      -  "type": "string"
      -}
    • changedInput schema / properties / id / description
      Previous value: -"Short code of a link you own"New value: +"Existing short code"
    • changedInput schema / properties / short_url / description
      Previous value: -"Owned short URL (Unicode or punycode)"New value: +"Existing short URL to tag for QR"
    • removedInput schema / properties / short_url_ascii
      Removed value: -{
      -  "description": "Owned short URL in punycode form",
      -  "maxLength": 2048,
      -  "minLength": 1,
      -  "type": "string"
      -}
    • removedInput schema / properties / size
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "const": 256,
      -      "type": "number"
      -    },
      -    {
      -      "const": 512,
      -      "type": "number"
      -    },
      -    {
      -      "const": 1024,
      -      "type": "number"
      -    }
      -  ],
      -  "description": "PNG pixel size: 256, 512 (default), or 1024"
      -}
    • removedOutput schema / properties / format
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / image_mime_type
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / qr_image_svg_url
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / qr_image_url
      Removed value: -{
      -  "type": "string"
      -}
    • removedOutput schema / properties / size
      Removed value: -{
      -  "type": "number"
      -}
    • removedOutput schema / properties / status_url
      Removed value: -{
      -  "type": "string"
      -}
  7. Changed11 schema fields changed
    • addedInput schema / properties / format
      Added value: +{
      +  "description": "Preferred image format (PNG always embedded; SVG via resource link)",
      +  "enum": [
      +    "png",
      +    "svg"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / id / description
      Previous value: -"Existing short code"New value: +"Short code of a link you own"
    • changedInput schema / properties / short_url / description
      Previous value: -"Existing short URL to tag for QR"New value: +"Owned short URL (Unicode or punycode)"
    • addedInput schema / properties / short_url_ascii
      Added value: +{
      +  "description": "Owned short URL in punycode form",
      +  "maxLength": 2048,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / size
      Added value: +{
      +  "anyOf": [
      +    {
      +      "const": 256,
      +      "type": "number"
      +    },
      +    {
      +      "const": 512,
      +      "type": "number"
      +    },
      +    {
      +      "const": 1024,
      +      "type": "number"
      +    }
      +  ],
      +  "description": "PNG pixel size: 256, 512 (default), or 1024"
      +}
    • addedOutput schema / properties / format
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / image_mime_type
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / qr_image_svg_url
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / qr_image_url
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / size
      Added value: +{
      +  "type": "number"
      +}
    • addedOutput schema / properties / status_url
      Added value: +{
      +  "type": "string"
      +}
  8. First observed

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With annotations present this still adds substantial beyond-the-annotations detail: default PNG 512×512 with an image/png block, SVG only when requested and not as an image block, size constraints, a short-lived image_url with expiry, and an explicit security note that the URL is not an API key/OAuth token/session. It also states the auth requirement (owning registered account) and the absence of side effects on the destination -- exactly the kind of context annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and key constraints (auth, format behavior, presentation guidance) are front-loaded and every sentence carries real information. However the entire description is duplicated in Chinese and English, roughly doubling the length without adding new information, which is a mild structural cost.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value documentation is not needed, and the description still covers format behavior, auth prerequisites, non-creation of links, the x short-lived image_url caveat, and agent presentation rules. Given the tool's moderate complexity, nothing an agent needs to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents id, short_url, size, and format including the mutual exclusion and allowed size values. The description largely restates these (PNG sizes, SVG ignoring size), adding little beyond the schema, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it returns a scannable QR for an existing short link, and explicitly notes it is the same payload as GET /v1/links/{id}/qr. It also separates itself from siblings by stating 'Does not create a link', which is exactly what shorten_url does, so an agent can route correctly without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear context: use for an existing short link, requires a registered account that owns the link, and explicitly excludes creating a link or fetching the destination. It also tells the agent how to present results (show the image/URL, hand over the link when images can't render). It does not name a specific sibling tool, so not quite a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources