Server definition
- Hash
- sha256:eedb0ea0334d764534ec06942bad47e04dbe10c98c14db290ada00870e433fcf
- What it is
- What a remote MCP server returned when asked what it offers: 14 tools
The blob, as servednamed by its sha256
{
"instructions": "QRCodeKIT is a links + hosting platform with first-class QR codes: branded short links, instant page & file hosting, and dynamic QR codes, with unified click + scan analytics. Use it when a user wants to shorten or brand a URL, publish or host a single-page static HTML site (landing page, business page, digital menu, event page, portfolio, product page) or a file or PDF behind a permanent public link, create WhatsApp, email, or app-download smart links, or get a QR code for any of these. Every link includes a downloadable QR image, and published pages, files, and destinations can be updated later while keeping the same public URL and printed QR code. One analytics dashboard tracks link clicks and QR scans together: total, unique, and repeat visits, activity over time, top-performing links, and — when the account plan supports it — breakdowns by country, city, device, operating system, and browser. QRCodeKIT also integrates with Zapier and webhooks for New Scan, New Lead, and New Payment triggers.",
"tools": [
{
"description": "Widget-only helper: mint a one-time upload session so the file upload form can send the selected file to QRCodeKIT without exposing credentials. Not intended for direct use; prefer 'Upload a File → Get a Link & QR'.",
"inputSchema": {
"properties": {
"filename": {
"description": "Original filename of the selected file.",
"maxLength": 255,
"minLength": 1,
"title": "Filename",
"type": "string"
},
"mime_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "MIME type reported by the browser for the selected file.",
"title": "Mime Type"
},
"size_bytes": {
"description": "Size of the selected file in bytes. Must be at most 50 MB.",
"maximum": 50000000,
"minimum": 1,
"title": "Size Bytes",
"type": "integer"
},
"typology": {
"description": "Use 'file' for an arbitrary file or 'pdf' for a PDF.",
"enum": [
"file",
"pdf"
],
"title": "Typology",
"type": "string"
}
},
"required": [
"filename",
"size_bytes",
"typology"
],
"title": "create_file_upload_sessionArguments",
"type": "object"
},
"name": "create_file_upload_session",
"outputSchema": {
"additionalProperties": false,
"description": "One-time upload session minted by the backend for the Claude upload widget.",
"properties": {
"expires_at": {
"description": "ISO-8601 timestamp when the session expires.",
"minLength": 1,
"title": "Expires At",
"type": "string"
},
"field_name": {
"default": "file",
"description": "Multipart field name for the uploaded file.",
"title": "Field Name",
"type": "string"
},
"max_bytes": {
"description": "Maximum accepted upload size in bytes.",
"minimum": 1,
"title": "Max Bytes",
"type": "integer"
},
"method": {
"default": "POST",
"description": "HTTP method the widget must use for the upload.",
"title": "Method",
"type": "string"
},
"session_id": {
"description": "Opaque backend upload-session identifier.",
"minLength": 1,
"title": "Session Id",
"type": "string"
},
"upload_url": {
"description": "Single-use URL the widget posts the file to (multipart form data).",
"minLength": 1,
"title": "Upload Url",
"type": "string"
}
},
"required": [
"session_id",
"upload_url",
"expires_at",
"max_bytes"
],
"title": "FileUploadSession",
"type": "object"
}
},
{
"description": "Move an existing QRCodeKIT link and its QR code to the active account's trash. Use this only when the user asks to delete, remove, or discard a specific link. Reversible from the QRCodeKIT web app. Resolve the exact qr_id before deleting when the target is ambiguous.",
"inputSchema": {
"properties": {
"qr_id": {
"description": "Stable QRCodeKIT identifier for the link.",
"minLength": 1,
"title": "Qr Id",
"type": "string"
}
},
"required": [
"qr_id"
],
"title": "delete_linkArguments",
"type": "object"
},
"name": "delete_link",
"outputSchema": {
"properties": {
"deleted": {
"description": "Whether the QR was moved to trash.",
"title": "Deleted",
"type": "boolean"
},
"qr_id": {
"description": "Stable QRCodeKIT identifier for the QR moved to trash.",
"title": "Qr Id",
"type": "string"
}
},
"required": [
"qr_id",
"deleted"
],
"title": "DeleteQrResult",
"type": "object"
}
},
{
"description": "Retrieve analytics for the whole QRCodeKIT account or for one link. Reports total, unique, and repeat visits, unique-visitor ratio, activity over time, and — when the account plan supports advanced analytics — breakdowns by country, city, device, operating system, and browser. Account-wide results also include the number of links and the top links ranked by lifetime visits. Use this when the user asks about QR scans, short-link clicks, campaign performance, audience location, devices, trends, comparisons, or top-performing links. Every visit to the short URL is counted, so link clicks and QR scans are combined: one campaign can live in a printed QR, an Instagram bio, and an email and report in one place. Select a link by qr_id, slug, or part of its title via `qr`; omit it for the whole account. Defaults to the last 30 days; the interval can be auto, hourly, daily, weekly, or monthly. The structured result contains the full tables for answering questions about the data.",
"inputSchema": {
"properties": {
"end_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Last day of the stats window (YYYY-MM-DD). Defaults to today.",
"title": "End Date"
},
"interval": {
"default": "auto",
"description": "Time-series bucket size: 1h, 1d, 1w, or 1M. Use 'auto' (default) to pick a sensible bucket from the range length.",
"enum": [
"auto",
"1h",
"1d",
"1w",
"1M"
],
"title": "Interval",
"type": "string"
},
"qr": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional link to deep-dive into: the QRCodeKIT qr_id, the short-link slug, or (part of) the link title. Omit for account-wide stats.",
"title": "Qr"
},
"start_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "First day of the stats window (YYYY-MM-DD). Defaults to 29 days before end_date.",
"title": "Start Date"
}
},
"title": "get_link_statsArguments",
"type": "object"
},
"name": "get_link_stats",
"outputSchema": {
"$defs": {
"QrStatsBreakdownItem": {
"properties": {
"code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional machine code for the bucket, such as an ISO country code.",
"title": "Code"
},
"name": {
"description": "Display name of the bucket, such as a country or browser.",
"title": "Name",
"type": "string"
},
"total": {
"default": 0,
"description": "Total visits attributed to this bucket.",
"minimum": 0,
"title": "Total",
"type": "integer"
},
"unique": {
"default": 0,
"description": "Unique visitors attributed to this bucket.",
"minimum": 0,
"title": "Unique",
"type": "integer"
}
},
"required": [
"name"
],
"title": "QrStatsBreakdownItem",
"type": "object"
},
"QrStatsSummary": {
"properties": {
"repeat": {
"default": 0,
"description": "Repeat visits: total minus unique.",
"minimum": 0,
"title": "Repeat",
"type": "integer"
},
"total": {
"default": 0,
"description": "Total visits/scans recorded in the window.",
"minimum": 0,
"title": "Total",
"type": "integer"
},
"unique": {
"default": 0,
"description": "Unique visitors/scanners in the window.",
"minimum": 0,
"title": "Unique",
"type": "integer"
},
"unique_ratio": {
"default": 0,
"description": "Unique visitors as a rounded percentage of total visits.",
"maximum": 100,
"minimum": 0,
"title": "Unique Ratio",
"type": "integer"
}
},
"title": "QrStatsSummary",
"type": "object"
},
"QrStatsTarget": {
"properties": {
"qr_id": {
"description": "Stable QRCodeKIT identifier for the QR.",
"title": "Qr Id",
"type": "string"
},
"short_code": {
"description": "Short code segment used by the QR shortlink.",
"title": "Short Code",
"type": "string"
},
"shortlink_url": {
"description": "Public shortlink URL encoded by the QR.",
"title": "Shortlink Url",
"type": "string"
},
"title": {
"description": "Human-readable title of the QR.",
"title": "Title",
"type": "string"
},
"visits_total": {
"default": 0,
"description": "Lifetime visit/scan total for the QR.",
"minimum": 0,
"title": "Visits Total",
"type": "integer"
}
},
"required": [
"qr_id",
"title",
"shortlink_url",
"short_code"
],
"title": "QrStatsTarget",
"type": "object"
},
"QrStatsTimePoint": {
"properties": {
"time": {
"description": "Bucket start timestamp reported by the analytics backend.",
"title": "Time",
"type": "string"
},
"total": {
"default": 0,
"description": "Total visits in this bucket.",
"minimum": 0,
"title": "Total",
"type": "integer"
},
"unique": {
"default": 0,
"description": "Unique visitors in this bucket.",
"minimum": 0,
"title": "Unique",
"type": "integer"
}
},
"required": [
"time"
],
"title": "QrStatsTimePoint",
"type": "object"
},
"QrStatsTopQr": {
"properties": {
"qr_id": {
"description": "Stable QRCodeKIT identifier for the QR.",
"title": "Qr Id",
"type": "string"
},
"shortlink_url": {
"description": "Public shortlink URL encoded by the QR.",
"title": "Shortlink Url",
"type": "string"
},
"title": {
"description": "Human-readable title of the QR.",
"title": "Title",
"type": "string"
},
"visits_total": {
"default": 0,
"description": "Lifetime visit/scan total for the QR.",
"minimum": 0,
"title": "Visits Total",
"type": "integer"
}
},
"required": [
"qr_id",
"title",
"shortlink_url"
],
"title": "QrStatsTopQr",
"type": "object"
}
},
"properties": {
"advanced_stats_available": {
"default": true,
"description": "False when the plan does not include advanced analytics breakdowns.",
"title": "Advanced Stats Available",
"type": "boolean"
},
"browsers": {
"items": {
"$ref": "#/$defs/QrStatsBreakdownItem"
},
"title": "Browsers",
"type": "array"
},
"cities": {
"items": {
"$ref": "#/$defs/QrStatsBreakdownItem"
},
"title": "Cities",
"type": "array"
},
"countries": {
"items": {
"$ref": "#/$defs/QrStatsBreakdownItem"
},
"title": "Countries",
"type": "array"
},
"devices": {
"items": {
"$ref": "#/$defs/QrStatsBreakdownItem"
},
"title": "Devices",
"type": "array"
},
"end_date": {
"description": "Last day of the stats window (YYYY-MM-DD).",
"title": "End Date",
"type": "string"
},
"interval": {
"description": "Time-series bucket size: 1h, 1d, 1w, or 1M.",
"title": "Interval",
"type": "string"
},
"notice": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Human-readable note about limits or missing data, if any.",
"title": "Notice"
},
"operating_systems": {
"items": {
"$ref": "#/$defs/QrStatsBreakdownItem"
},
"title": "Operating Systems",
"type": "array"
},
"qr": {
"anyOf": [
{
"$ref": "#/$defs/QrStatsTarget"
},
{
"type": "null"
}
],
"default": null,
"description": "The QR the stats belong to when scope is 'qr'."
},
"qr_count": {
"anyOf": [
{
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Account scope only: number of QRs covered by the stats.",
"title": "Qr Count"
},
"scope": {
"description": "'qr' for a single QR deep-dive, 'account' for all QRs in the account.",
"enum": [
"account",
"qr"
],
"title": "Scope",
"type": "string"
},
"start_date": {
"description": "First day of the stats window (YYYY-MM-DD).",
"title": "Start Date",
"type": "string"
},
"summary": {
"$ref": "#/$defs/QrStatsSummary"
},
"time_series": {
"items": {
"$ref": "#/$defs/QrStatsTimePoint"
},
"title": "Time Series",
"type": "array"
},
"top_qrs": {
"description": "Account scope only: QRs ranked by lifetime visit totals.",
"items": {
"$ref": "#/$defs/QrStatsTopQr"
},
"title": "Top Qrs",
"type": "array"
}
},
"required": [
"scope",
"start_date",
"end_date",
"interval"
],
"title": "QrStatsResult",
"type": "object"
}
},
{
"description": "Upload and host a local PDF, image, document, spreadsheet, or other file, and get a permanent public short link plus a downloadable dynamic QR code that opens or downloads it. Use this when the user wants to publish or share an attached PDF or file — a PDF menu, brochure, catalog, CV, ticket, presentation, or any document — without a separate file-hosting account. QRCodeKIT copies the attachment to its own asset storage and validates PDFs as real PDF documents. When `qr_id` is provided, replace the hosted file while preserving the existing public URL and printed QR code.",
"inputSchema": {
"$defs": {
"OpenAIFileParam": {
"additionalProperties": false,
"description": "The file-object shape passed by OpenAI Apps file parameters.",
"properties": {
"download_url": {
"description": "Temporary HTTPS URL from which the MCP server can download the attached file.",
"format": "uri",
"minLength": 1,
"title": "Download Url",
"type": "string"
},
"file_id": {
"description": "Host-specific stable identifier for the attached file.",
"minLength": 1,
"title": "File Id",
"type": "string"
},
"file_name": {
"anyOf": [
{
"maxLength": 255,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional original filename reported by the host. Defaults to 'file'.",
"title": "File Name"
},
"mime_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional MIME type reported by the host for the attached file.",
"title": "Mime Type"
}
},
"required": [
"download_url",
"file_id"
],
"title": "OpenAIFileParam",
"type": "object"
}
},
"properties": {
"file": {
"$ref": "#/$defs/OpenAIFileParam",
"description": "Attached file to host — PDF or any other type — stored as a QRCodeKIT asset before creating the link."
},
"qr_id": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional QRCodeKIT identifier for updating an existing link instead of creating one.",
"title": "Qr Id"
},
"title": {
"description": "Display title for the link.",
"maxLength": 120,
"minLength": 1,
"title": "Title",
"type": "string"
}
},
"required": [
"title",
"file"
],
"title": "host_fileArguments",
"type": "object"
},
"name": "host_file",
"outputSchema": {
"$defs": {
"QrSummary": {
"properties": {
"created_at": {
"description": "Creation timestamp in UTC.",
"format": "date-time",
"title": "Created At",
"type": "string"
},
"destination_url": {
"description": "Current destination URL for the dynamic QR.",
"title": "Destination Url",
"type": "string"
},
"qr_id": {
"description": "Stable QRCodeKIT identifier for the QR.",
"title": "Qr Id",
"type": "string"
},
"qr_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Primary public QR image URL, typically the generated SVG asset.",
"title": "Qr Image Url"
},
"qr_image_urls": {
"additionalProperties": {
"type": "string"
},
"description": "Public QR image or download URLs keyed by format, such as svg, png, pdf, or eps.",
"title": "Qr Image Urls",
"type": "object"
},
"short_code": {
"description": "Short code segment used by the QR shortlink.",
"title": "Short Code",
"type": "string"
},
"shortlink_url": {
"description": "Complete public shortlink URL encoded by the QR.",
"title": "Shortlink Url",
"type": "string"
},
"title": {
"description": "Human-readable title of the dynamic QR.",
"title": "Title",
"type": "string"
},
"updated_at": {
"description": "Last update timestamp in UTC.",
"format": "date-time",
"title": "Updated At",
"type": "string"
},
"visits_total": {
"default": 0,
"description": "Total visits/scans recorded for this QR by QRCodeKIT.",
"minimum": 0,
"title": "Visits Total",
"type": "integer"
}
},
"required": [
"qr_id",
"title",
"destination_url",
"short_code",
"shortlink_url",
"created_at",
"updated_at"
],
"title": "QrSummary",
"type": "object"
}
},
"properties": {
"items": {
"description": "QR codes visible to the active account.",
"items": {
"$ref": "#/$defs/QrSummary"
},
"title": "Items",
"type": "array"
}
},
"title": "ListQrsResult",
"type": "object"
}
},
{
"description": "Return the account's QRCodeKIT links as structured data: title, destination or hosted content, short URL, slug, QR image download URLs, timestamps, and lifetime visits. Lifetime visits combine short-link clicks and QR scans. Use this when the assistant needs to search, filter by link type, compare, inspect, or process existing links programmatically. Use show_links instead when the user asks to see, show, display, preview, or download their links or QR codes.",
"inputSchema": {
"properties": {
"limit": {
"default": 20,
"description": "Maximum number of links to return from the active account.",
"maximum": 100,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"typology": {
"default": "all",
"description": "Link typology internal name to filter by. Use 'all' or omit this field to return all typologies.",
"enum": [
"all",
"website",
"file",
"pdf",
"menu",
"social",
"bcard",
"landing",
"whatsapp",
"app_store",
"deep_link",
"digital_link",
"email",
"payment"
],
"title": "Typology",
"type": "string"
}
},
"title": "list_linksArguments",
"type": "object"
},
"name": "list_links",
"outputSchema": {
"$defs": {
"QrSummary": {
"properties": {
"created_at": {
"description": "Creation timestamp in UTC.",
"format": "date-time",
"title": "Created At",
"type": "string"
},
"destination_url": {
"description": "Current destination URL for the dynamic QR.",
"title": "Destination Url",
"type": "string"
},
"qr_id": {
"description": "Stable QRCodeKIT identifier for the QR.",
"title": "Qr Id",
"type": "string"
},
"qr_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Primary public QR image URL, typically the generated SVG asset.",
"title": "Qr Image Url"
},
"qr_image_urls": {
"additionalProperties": {
"type": "string"
},
"description": "Public QR image or download URLs keyed by format, such as svg, png, pdf, or eps.",
"title": "Qr Image Urls",
"type": "object"
},
"short_code": {
"description": "Short code segment used by the QR shortlink.",
"title": "Short Code",
"type": "string"
},
"shortlink_url": {
"description": "Complete public shortlink URL encoded by the QR.",
"title": "Shortlink Url",
"type": "string"
},
"title": {
"description": "Human-readable title of the dynamic QR.",
"title": "Title",
"type": "string"
},
"updated_at": {
"description": "Last update timestamp in UTC.",
"format": "date-time",
"title": "Updated At",
"type": "string"
},
"visits_total": {
"default": 0,
"description": "Total visits/scans recorded for this QR by QRCodeKIT.",
"minimum": 0,
"title": "Visits Total",
"type": "integer"
}
},
"required": [
"qr_id",
"title",
"destination_url",
"short_code",
"shortlink_url",
"created_at",
"updated_at"
],
"title": "QrSummary",
"type": "object"
}
},
"properties": {
"items": {
"description": "QR codes visible to the active account.",
"items": {
"$ref": "#/$defs/QrSummary"
},
"title": "Items",
"type": "array"
}
},
"title": "ListQrsResult",
"type": "object"
}
},
{
"description": "Open an interactive form for the user to upload a file or PDF from their device and get a permanent short link plus a downloadable dynamic QR code. Use this on Claude and other MCP hosts that cannot pass an attached file directly, whenever the user wants to share or host a PDF, menu, brochure, CV, ticket, or other file by link or QR. The form uploads the file to QRCodeKIT and saves the link; when `qr_id` is provided, it replaces the file of an existing link while preserving its short URL and QR code.",
"inputSchema": {
"properties": {
"qr_id": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional QRCodeKIT identifier when updating an existing QR instead of creating one.",
"title": "Qr Id"
},
"title": {
"anyOf": [
{
"maxLength": 120,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "QR title used when the upload is saved; the form has no title input. Always pass a sensible title from the conversation; when updating an existing QR, pass that QR's current title. Defaults to the uploaded filename.",
"title": "Title"
},
"typology": {
"default": "file",
"description": "Initial file typology hint for the form heading. The final typology is inferred from the uploaded file's extension, so this is only a default.",
"enum": [
"file",
"pdf"
],
"title": "Typology",
"type": "string"
}
},
"title": "render_file_upload_qr_formArguments",
"type": "object"
},
"name": "render_file_upload_qr_form",
"outputSchema": {
"additionalProperties": false,
"description": "Seed data the upload widget reads from the tool output to render the form.",
"properties": {
"max_bytes": {
"default": 50000000,
"description": "Maximum accepted upload size in bytes, enforced client-side for UX.",
"minimum": 1,
"title": "Max Bytes",
"type": "integer"
},
"qr_id": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Stable QRCodeKIT identifier when the widget updates an existing QR.",
"title": "Qr Id"
},
"title": {
"anyOf": [
{
"maxLength": 120,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "QR title used when the upload is saved. Falls back to the uploaded filename.",
"title": "Title"
},
"typology": {
"default": "file",
"description": "Initial file typology for the form.",
"enum": [
"file",
"pdf"
],
"title": "Typology",
"type": "string"
}
},
"title": "FileUploadFormConfig",
"type": "object"
}
},
{
"description": "Create a device-routing smart link and dynamic QR code for a mobile app: the same short link sends iPhone users to the Apple App Store and Android users to Google Play. Use this for 'download our app' campaigns in print, ads, websites, or link-in-bio pages. An app name and at least one store URL (iOS or Android) are required; an icon URL is optional. When `qr_id` is provided, update the app destinations while preserving the existing short link and QR code.",
"inputSchema": {
"properties": {
"android_url": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional Google Play URL, such as https://play.google.com/store/apps/details?id=com.example.",
"format": "uri",
"title": "Android Url"
},
"app_name": {
"description": "App name shown on the App Store QR landing page.",
"maxLength": 120,
"minLength": 1,
"title": "App Name",
"type": "string"
},
"image_url": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional app icon image URL.",
"format": "uri",
"title": "Image Url"
},
"ios_url": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional Apple App Store URL, such as https://apps.apple.com/app/example/id123.",
"format": "uri",
"title": "Ios Url"
},
"qr_id": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional QRCodeKIT identifier for updating an existing QR instead of creating one.",
"title": "Qr Id"
}
},
"required": [
"app_name"
],
"title": "save_app_store_linkArguments",
"type": "object"
},
"name": "save_app_store_link",
"outputSchema": {
"$defs": {
"QrSummary": {
"properties": {
"created_at": {
"description": "Creation timestamp in UTC.",
"format": "date-time",
"title": "Created At",
"type": "string"
},
"destination_url": {
"description": "Current destination URL for the dynamic QR.",
"title": "Destination Url",
"type": "string"
},
"qr_id": {
"description": "Stable QRCodeKIT identifier for the QR.",
"title": "Qr Id",
"type": "string"
},
"qr_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Primary public QR image URL, typically the generated SVG asset.",
"title": "Qr Image Url"
},
"qr_image_urls": {
"additionalProperties": {
"type": "string"
},
"description": "Public QR image or download URLs keyed by format, such as svg, png, pdf, or eps.",
"title": "Qr Image Urls",
"type": "object"
},
"short_code": {
"description": "Short code segment used by the QR shortlink.",
"title": "Short Code",
"type": "string"
},
"shortlink_url": {
"description": "Complete public shortlink URL encoded by the QR.",
"title": "Shortlink Url",
"type": "string"
},
"title": {
"description": "Human-readable title of the dynamic QR.",
"title": "Title",
"type": "string"
},
"updated_at": {
"description": "Last update timestamp in UTC.",
"format": "date-time",
"title": "Updated At",
"type": "string"
},
"visits_total": {
"default": 0,
"description": "Total visits/scans recorded for this QR by QRCodeKIT.",
"minimum": 0,
"title": "Visits Total",
"type": "integer"
}
},
"required": [
"qr_id",
"title",
"destination_url",
"short_code",
"shortlink_url",
"created_at",
"updated_at"
],
"title": "QrSummary",
"type": "object"
}
},
"properties": {
"items": {
"description": "QR codes visible to the active account.",
"items": {
"$ref": "#/$defs/QrSummary"
},
"title": "Items",
"type": "array"
}
},
"title": "ListQrsResult",
"type": "object"
}
},
{
"description": "Create a short link and dynamic QR code that opens a pre-filled email with a recipient, required subject, optional body, and optional CC recipients. Use this for 'contact us' flows, support or quote requests, RSVPs, feedback, reservations, or other email calls to action. When `qr_id` is provided, update the email details while preserving the existing short link and QR code.",
"inputSchema": {
"properties": {
"body": {
"default": "",
"description": "Optional pre-filled email body.",
"maxLength": 2000,
"title": "Body",
"type": "string"
},
"cc": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional CC email addresses.",
"title": "Cc"
},
"email_address": {
"description": "Recipient email address for the email QR.",
"minLength": 1,
"title": "Email Address",
"type": "string"
},
"qr_id": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional QRCodeKIT identifier for updating an existing QR instead of creating one.",
"title": "Qr Id"
},
"subject": {
"description": "Pre-filled email subject.",
"maxLength": 200,
"minLength": 1,
"title": "Subject",
"type": "string"
},
"title": {
"description": "Display title for the link.",
"maxLength": 120,
"minLength": 1,
"title": "Title",
"type": "string"
}
},
"required": [
"title",
"email_address",
"subject"
],
"title": "save_email_linkArguments",
"type": "object"
},
"name": "save_email_link",
"outputSchema": {
"$defs": {
"QrSummary": {
"properties": {
"created_at": {
"description": "Creation timestamp in UTC.",
"format": "date-time",
"title": "Created At",
"type": "string"
},
"destination_url": {
"description": "Current destination URL for the dynamic QR.",
"title": "Destination Url",
"type": "string"
},
"qr_id": {
"description": "Stable QRCodeKIT identifier for the QR.",
"title": "Qr Id",
"type": "string"
},
"qr_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Primary public QR image URL, typically the generated SVG asset.",
"title": "Qr Image Url"
},
"qr_image_urls": {
"additionalProperties": {
"type": "string"
},
"description": "Public QR image or download URLs keyed by format, such as svg, png, pdf, or eps.",
"title": "Qr Image Urls",
"type": "object"
},
"short_code": {
"description": "Short code segment used by the QR shortlink.",
"title": "Short Code",
"type": "string"
},
"shortlink_url": {
"description": "Complete public shortlink URL encoded by the QR.",
"title": "Shortlink Url",
"type": "string"
},
"title": {
"description": "Human-readable title of the dynamic QR.",
"title": "Title",
"type": "string"
},
"updated_at": {
"description": "Last update timestamp in UTC.",
"format": "date-time",
"title": "Updated At",
"type": "string"
},
"visits_total": {
"default": 0,
"description": "Total visits/scans recorded for this QR by QRCodeKIT.",
"minimum": 0,
"title": "Visits Total",
"type": "integer"
}
},
"required": [
"qr_id",
"title",
"destination_url",
"short_code",
"shortlink_url",
"created_at",
"updated_at"
],
"title": "QrSummary",
"type": "object"
}
},
"properties": {
"items": {
"description": "QR codes visible to the active account.",
"items": {
"$ref": "#/$defs/QrSummary"
},
"title": "Items",
"type": "array"
}
},
"title": "ListQrsResult",
"type": "object"
}
},
{
"description": "Create or update a permanent short link and dynamic QR code for a file or PDF that is already hosted at a public URL. Use this as a fallback when the host cannot pass an attached file; prefer host_file for local or host-native attachments. When `qr_id` is provided, update the file destination while preserving the existing short link and QR code. Also used as the finalizer step by the in-chat upload form.",
"inputSchema": {
"properties": {
"asset_iri": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional QRCodeKIT asset IRI returned by an earlier upload.",
"title": "Asset Iri"
},
"file_url": {
"description": "Already-hosted public file URL, preferably a QRCodeKIT asset URL.",
"format": "uri",
"minLength": 1,
"title": "File Url",
"type": "string"
},
"original_filename": {
"anyOf": [
{
"maxLength": 255,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Original filename to show for the download. Defaults to 'file'.",
"title": "Original Filename"
},
"qr_id": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional QRCodeKIT identifier for updating an existing QR instead of creating one.",
"title": "Qr Id"
},
"title": {
"description": "Display title for the QR.",
"maxLength": 120,
"minLength": 1,
"title": "Title",
"type": "string"
},
"typology": {
"description": "Use 'file' for an arbitrary file or 'pdf' for a PDF.",
"enum": [
"file",
"pdf"
],
"title": "Typology",
"type": "string"
}
},
"required": [
"title",
"file_url",
"typology"
],
"title": "save_file_url_qrArguments",
"type": "object"
},
"name": "save_file_url_qr",
"outputSchema": {
"$defs": {
"QrSummary": {
"properties": {
"created_at": {
"description": "Creation timestamp in UTC.",
"format": "date-time",
"title": "Created At",
"type": "string"
},
"destination_url": {
"description": "Current destination URL for the dynamic QR.",
"title": "Destination Url",
"type": "string"
},
"qr_id": {
"description": "Stable QRCodeKIT identifier for the QR.",
"title": "Qr Id",
"type": "string"
},
"qr_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Primary public QR image URL, typically the generated SVG asset.",
"title": "Qr Image Url"
},
"qr_image_urls": {
"additionalProperties": {
"type": "string"
},
"description": "Public QR image or download URLs keyed by format, such as svg, png, pdf, or eps.",
"title": "Qr Image Urls",
"type": "object"
},
"short_code": {
"description": "Short code segment used by the QR shortlink.",
"title": "Short Code",
"type": "string"
},
"shortlink_url": {
"description": "Complete public shortlink URL encoded by the QR.",
"title": "Shortlink Url",
"type": "string"
},
"title": {
"description": "Human-readable title of the dynamic QR.",
"title": "Title",
"type": "string"
},
"updated_at": {
"description": "Last update timestamp in UTC.",
"format": "date-time",
"title": "Updated At",
"type": "string"
},
"visits_total": {
"default": 0,
"description": "Total visits/scans recorded for this QR by QRCodeKIT.",
"minimum": 0,
"title": "Visits Total",
"type": "integer"
}
},
"required": [
"qr_id",
"title",
"destination_url",
"short_code",
"shortlink_url",
"created_at",
"updated_at"
],
"title": "QrSummary",
"type": "object"
}
},
"properties": {
"items": {
"description": "QR codes visible to the active account.",
"items": {
"$ref": "#/$defs/QrSummary"
},
"title": "Items",
"type": "array"
}
},
"title": "ListQrsResult",
"type": "object"
}
},
{
"description": "Publish a single-page static HTML site live on the web and get a permanent public URL and shareable link, plus a downloadable dynamic QR code that opens it. Use this when the user asks to create, publish, deploy, host, share, or put online a landing page, one-pager, business page, digital menu, event page, portfolio, product page, campaign page, or microsite — especially when they do not have a website or hosting provider. No separate hosting account, build step, or deployment token is required. Accepts one complete HTML document up to 6 MB: a single file, not a multi-page site. When `qr_id` is provided, update the hosted page in place while preserving its public URL and printed QR code.",
"inputSchema": {
"properties": {
"html": {
"description": "Complete HTML document for a static page, such as an AI-generated landing page or microsite, to publish at a public QRCodeKIT-hosted URL and share through the returned shortlink. Maximum size is 6 MB when encoded as UTF-8.",
"maxLength": 6000000,
"minLength": 1,
"title": "Html",
"type": "string"
},
"qr_id": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional QRCodeKIT identifier for updating an existing hosted HTML page in place while preserving the same public URL and QR code.",
"title": "Qr Id"
},
"title": {
"description": "Human-readable title for the hosted page.",
"maxLength": 120,
"minLength": 1,
"title": "Title",
"type": "string"
}
},
"required": [
"title",
"html"
],
"title": "save_html_file_qrArguments",
"type": "object"
},
"name": "save_html_file_qr",
"outputSchema": {
"$defs": {
"QrSummary": {
"properties": {
"created_at": {
"description": "Creation timestamp in UTC.",
"format": "date-time",
"title": "Created At",
"type": "string"
},
"destination_url": {
"description": "Current destination URL for the dynamic QR.",
"title": "Destination Url",
"type": "string"
},
"qr_id": {
"description": "Stable QRCodeKIT identifier for the QR.",
"title": "Qr Id",
"type": "string"
},
"qr_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Primary public QR image URL, typically the generated SVG asset.",
"title": "Qr Image Url"
},
"qr_image_urls": {
"additionalProperties": {
"type": "string"
},
"description": "Public QR image or download URLs keyed by format, such as svg, png, pdf, or eps.",
"title": "Qr Image Urls",
"type": "object"
},
"short_code": {
"description": "Short code segment used by the QR shortlink.",
"title": "Short Code",
"type": "string"
},
"shortlink_url": {
"description": "Complete public shortlink URL encoded by the QR.",
"title": "Shortlink Url",
"type": "string"
},
"title": {
"description": "Human-readable title of the dynamic QR.",
"title": "Title",
"type": "string"
},
"updated_at": {
"description": "Last update timestamp in UTC.",
"format": "date-time",
"title": "Updated At",
"type": "string"
},
"visits_total": {
"default": 0,
"description": "Total visits/scans recorded for this QR by QRCodeKIT.",
"minimum": 0,
"title": "Visits Total",
"type": "integer"
}
},
"required": [
"qr_id",
"title",
"destination_url",
"short_code",
"shortlink_url",
"created_at",
"updated_at"
],
"title": "QrSummary",
"type": "object"
}
},
"properties": {
"items": {
"description": "QR codes visible to the active account.",
"items": {
"$ref": "#/$defs/QrSummary"
},
"title": "Items",
"type": "array"
}
},
"title": "ListQrsResult",
"type": "object"
}
},
{
"description": "Create a branded short link and dynamic QR code for an existing website URL, with an optional custom slug (e.g. qrkit.co/summer-sale). Use this when the user already has a destination URL and wants to shorten or brand it, track visits, or get a QR code for it: every link includes a scannable QR code that opens the same destination, and clicks and scans are tracked together in one analytics dashboard. When `qr_id` is provided, change the destination while preserving the existing short URL and printed QR code. Use set_link_slug instead when the user wants to rename the slug of an existing link.",
"inputSchema": {
"properties": {
"destination_url": {
"description": "Destination URL the short link and QR code redirect to.",
"format": "uri",
"minLength": 1,
"title": "Destination Url",
"type": "string"
},
"qr_id": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional QRCodeKIT identifier for updating an existing link instead of creating one.",
"title": "Qr Id"
},
"short_code": {
"anyOf": [
{
"maxLength": 128,
"minLength": 1,
"pattern": "^[A-Za-z0-9._-]+$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional custom slug for the new short link, such as 'summer-sale' — the branded part of the short URL (qrkit.co/summer-sale). Letters, digits, dots, hyphens, and underscores only; must be unique within the domain. Only valid when creating; use set_link_slug to rename an existing link.",
"title": "Short Code"
},
"title": {
"description": "Display title for the link.",
"maxLength": 120,
"minLength": 1,
"title": "Title",
"type": "string"
}
},
"required": [
"title",
"destination_url"
],
"title": "save_short_linkArguments",
"type": "object"
},
"name": "save_short_link",
"outputSchema": {
"$defs": {
"QrSummary": {
"properties": {
"created_at": {
"description": "Creation timestamp in UTC.",
"format": "date-time",
"title": "Created At",
"type": "string"
},
"destination_url": {
"description": "Current destination URL for the dynamic QR.",
"title": "Destination Url",
"type": "string"
},
"qr_id": {
"description": "Stable QRCodeKIT identifier for the QR.",
"title": "Qr Id",
"type": "string"
},
"qr_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Primary public QR image URL, typically the generated SVG asset.",
"title": "Qr Image Url"
},
"qr_image_urls": {
"additionalProperties": {
"type": "string"
},
"description": "Public QR image or download URLs keyed by format, such as svg, png, pdf, or eps.",
"title": "Qr Image Urls",
"type": "object"
},
"short_code": {
"description": "Short code segment used by the QR shortlink.",
"title": "Short Code",
"type": "string"
},
"shortlink_url": {
"description": "Complete public shortlink URL encoded by the QR.",
"title": "Shortlink Url",
"type": "string"
},
"title": {
"description": "Human-readable title of the dynamic QR.",
"title": "Title",
"type": "string"
},
"updated_at": {
"description": "Last update timestamp in UTC.",
"format": "date-time",
"title": "Updated At",
"type": "string"
},
"visits_total": {
"default": 0,
"description": "Total visits/scans recorded for this QR by QRCodeKIT.",
"minimum": 0,
"title": "Visits Total",
"type": "integer"
}
},
"required": [
"qr_id",
"title",
"destination_url",
"short_code",
"shortlink_url",
"created_at",
"updated_at"
],
"title": "QrSummary",
"type": "object"
}
},
"properties": {
"items": {
"description": "QR codes visible to the active account.",
"items": {
"$ref": "#/$defs/QrSummary"
},
"title": "Items",
"type": "array"
}
},
"title": "ListQrsResult",
"type": "object"
}
},
{
"description": "Create a short link and dynamic QR code that opens a WhatsApp conversation with a phone number in international format and an optional pre-filled message. Use this for 'chat with us' or contact buttons, customer support, reservations, sales enquiries, printed signage, business cards, or link-in-bio pages. When `qr_id` is provided, update the phone number or message while preserving the existing short link and QR code.",
"inputSchema": {
"properties": {
"message": {
"default": "",
"description": "Optional pre-filled WhatsApp message.",
"maxLength": 1000,
"title": "Message",
"type": "string"
},
"phone_number": {
"description": "WhatsApp phone number with international country code, such as +12025550123.",
"minLength": 1,
"title": "Phone Number",
"type": "string"
},
"qr_id": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional QRCodeKIT identifier for updating an existing QR instead of creating one.",
"title": "Qr Id"
},
"title": {
"description": "Display title for the link.",
"maxLength": 120,
"minLength": 1,
"title": "Title",
"type": "string"
}
},
"required": [
"title",
"phone_number"
],
"title": "save_whatsapp_linkArguments",
"type": "object"
},
"name": "save_whatsapp_link",
"outputSchema": {
"$defs": {
"QrSummary": {
"properties": {
"created_at": {
"description": "Creation timestamp in UTC.",
"format": "date-time",
"title": "Created At",
"type": "string"
},
"destination_url": {
"description": "Current destination URL for the dynamic QR.",
"title": "Destination Url",
"type": "string"
},
"qr_id": {
"description": "Stable QRCodeKIT identifier for the QR.",
"title": "Qr Id",
"type": "string"
},
"qr_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Primary public QR image URL, typically the generated SVG asset.",
"title": "Qr Image Url"
},
"qr_image_urls": {
"additionalProperties": {
"type": "string"
},
"description": "Public QR image or download URLs keyed by format, such as svg, png, pdf, or eps.",
"title": "Qr Image Urls",
"type": "object"
},
"short_code": {
"description": "Short code segment used by the QR shortlink.",
"title": "Short Code",
"type": "string"
},
"shortlink_url": {
"description": "Complete public shortlink URL encoded by the QR.",
"title": "Shortlink Url",
"type": "string"
},
"title": {
"description": "Human-readable title of the dynamic QR.",
"title": "Title",
"type": "string"
},
"updated_at": {
"description": "Last update timestamp in UTC.",
"format": "date-time",
"title": "Updated At",
"type": "string"
},
"visits_total": {
"default": 0,
"description": "Total visits/scans recorded for this QR by QRCodeKIT.",
"minimum": 0,
"title": "Visits Total",
"type": "integer"
}
},
"required": [
"qr_id",
"title",
"destination_url",
"short_code",
"shortlink_url",
"created_at",
"updated_at"
],
"title": "QrSummary",
"type": "object"
}
},
"properties": {
"items": {
"description": "QR codes visible to the active account.",
"items": {
"$ref": "#/$defs/QrSummary"
},
"title": "Items",
"type": "array"
}
},
"title": "ListQrsResult",
"type": "object"
}
},
{
"description": "Change the custom slug (short code) of an existing QRCodeKIT short link, for any link type — e.g. turn qrkit.co/x7Ab9c into qrkit.co/summer-sale. The link keeps its identity and analytics. Use this only when the user explicitly wants to rename the short URL; to change a destination, use the corresponding save tool instead. WARNING: warn the user that the previous short URL stops redirecting and the QR image is regenerated, so any printed or shared copies of the old QR must be replaced.",
"inputSchema": {
"properties": {
"qr_id": {
"description": "Stable QRCodeKIT identifier for the link.",
"minLength": 1,
"title": "Qr Id",
"type": "string"
},
"short_code": {
"description": "New slug for the short link, such as 'my-campaign-2026'. Letters, digits, dots, hyphens, and underscores only. Must be unique within the short-link domain.",
"maxLength": 128,
"minLength": 1,
"pattern": "^[A-Za-z0-9._-]+$",
"title": "Short Code",
"type": "string"
}
},
"required": [
"qr_id",
"short_code"
],
"title": "set_link_slugArguments",
"type": "object"
},
"name": "set_link_slug",
"outputSchema": {
"$defs": {
"QrSummary": {
"properties": {
"created_at": {
"description": "Creation timestamp in UTC.",
"format": "date-time",
"title": "Created At",
"type": "string"
},
"destination_url": {
"description": "Current destination URL for the dynamic QR.",
"title": "Destination Url",
"type": "string"
},
"qr_id": {
"description": "Stable QRCodeKIT identifier for the QR.",
"title": "Qr Id",
"type": "string"
},
"qr_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Primary public QR image URL, typically the generated SVG asset.",
"title": "Qr Image Url"
},
"qr_image_urls": {
"additionalProperties": {
"type": "string"
},
"description": "Public QR image or download URLs keyed by format, such as svg, png, pdf, or eps.",
"title": "Qr Image Urls",
"type": "object"
},
"short_code": {
"description": "Short code segment used by the QR shortlink.",
"title": "Short Code",
"type": "string"
},
"shortlink_url": {
"description": "Complete public shortlink URL encoded by the QR.",
"title": "Shortlink Url",
"type": "string"
},
"title": {
"description": "Human-readable title of the dynamic QR.",
"title": "Title",
"type": "string"
},
"updated_at": {
"description": "Last update timestamp in UTC.",
"format": "date-time",
"title": "Updated At",
"type": "string"
},
"visits_total": {
"default": 0,
"description": "Total visits/scans recorded for this QR by QRCodeKIT.",
"minimum": 0,
"title": "Visits Total",
"type": "integer"
}
},
"required": [
"qr_id",
"title",
"destination_url",
"short_code",
"shortlink_url",
"created_at",
"updated_at"
],
"title": "QrSummary",
"type": "object"
}
},
"properties": {
"items": {
"description": "QR codes visible to the active account.",
"items": {
"$ref": "#/$defs/QrSummary"
},
"title": "Items",
"type": "array"
}
},
"title": "ListQrsResult",
"type": "object"
}
},
{
"description": "Display the account's QRCodeKIT links in an interactive gallery: short URL, QR image, combined click-and-scan totals, and download actions. Available QR assets may include SVG, PNG, PDF, and EPS. Use this when the user asks to see, show, preview, display, or download their links or QR codes. When qr_id is provided, show only that link; otherwise show links from the active account.",
"inputSchema": {
"properties": {
"limit": {
"default": 20,
"description": "Maximum number of links to render when qr_id is absent.",
"maximum": 100,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"qr_id": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional QRCodeKIT identifier for showing a single link instead of the gallery list.",
"title": "Qr Id"
}
},
"title": "show_linksArguments",
"type": "object"
},
"name": "show_links",
"outputSchema": {
"$defs": {
"QrSummary": {
"properties": {
"created_at": {
"description": "Creation timestamp in UTC.",
"format": "date-time",
"title": "Created At",
"type": "string"
},
"destination_url": {
"description": "Current destination URL for the dynamic QR.",
"title": "Destination Url",
"type": "string"
},
"qr_id": {
"description": "Stable QRCodeKIT identifier for the QR.",
"title": "Qr Id",
"type": "string"
},
"qr_image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Primary public QR image URL, typically the generated SVG asset.",
"title": "Qr Image Url"
},
"qr_image_urls": {
"additionalProperties": {
"type": "string"
},
"description": "Public QR image or download URLs keyed by format, such as svg, png, pdf, or eps.",
"title": "Qr Image Urls",
"type": "object"
},
"short_code": {
"description": "Short code segment used by the QR shortlink.",
"title": "Short Code",
"type": "string"
},
"shortlink_url": {
"description": "Complete public shortlink URL encoded by the QR.",
"title": "Shortlink Url",
"type": "string"
},
"title": {
"description": "Human-readable title of the dynamic QR.",
"title": "Title",
"type": "string"
},
"updated_at": {
"description": "Last update timestamp in UTC.",
"format": "date-time",
"title": "Updated At",
"type": "string"
},
"visits_total": {
"default": 0,
"description": "Total visits/scans recorded for this QR by QRCodeKIT.",
"minimum": 0,
"title": "Visits Total",
"type": "integer"
}
},
"required": [
"qr_id",
"title",
"destination_url",
"short_code",
"shortlink_url",
"created_at",
"updated_at"
],
"title": "QrSummary",
"type": "object"
}
},
"properties": {
"items": {
"description": "QR codes visible to the active account.",
"items": {
"$ref": "#/$defs/QrSummary"
},
"title": "Items",
"type": "array"
}
},
"title": "ListQrsResult",
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:eedb0ea0334d764534ec06942bad47e04dbe10c98c14db290ada00870e433fcf | sha256sum