QRCodeKIT
Server Details
Branded short links, instant page & file hosting, and dynamic QR codes with unified analytics.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Score is being calculated.
Available Tools
14 toolscreate_file_upload_sessionCreate File Upload SessionAInspect
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'.
| Name | Required | Description | Default |
|---|---|---|---|
| filename | Yes | Original filename of the selected file. | |
| typology | Yes | Use 'file' for an arbitrary file or 'pdf' for a PDF. | |
| mime_type | No | MIME type reported by the browser for the selected file. | |
| size_bytes | Yes | Size of the selected file in bytes. Must be at most 50 MB. |
Output Schema
| Name | Required | Description |
|---|---|---|
| method | No | HTTP method the widget must use for the upload. |
| max_bytes | Yes | Maximum accepted upload size in bytes. |
| expires_at | Yes | ISO-8601 timestamp when the session expires. |
| field_name | No | Multipart field name for the uploaded file. |
| session_id | Yes | Opaque backend upload-session identifier. |
| upload_url | Yes | Single-use URL the widget posts the file to (multipart form data). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover mutation (readOnlyHint=false) and non-idempotency, and the description adds valuable context about the session being one-time and avoiding credential exposure. It goes beyond the structured annotations without contradicting them, though it doesn't detail session lifecycle or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no filler: the first identifies the tool's purpose and constraint, the second gives routing guidance. Information is front-loaded and every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With fully documented parameters and an output schema present, the description covers the remaining essential context: what the session is for, that it is one-time, that it hides credentials, and that it is not meant for direct user invocation. Nothing critical is missing for an agent to decide whether to call this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all parameters including filename, size_bytes, typology, and mime_type. The description adds no parameter-specific detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('mint a one-time upload session') and a clear resource/session type, while explaining its role in enabling the file upload form to send files without exposing credentials. It also distinguishes itself from user-facing tools by being labeled a 'Widget-only helper' and a non-direct-use utility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says this is 'not intended for direct use' and directs the agent to prefer 'Upload a File → Get a Link & QR' instead. This provides clear when-not-to-use guidance and names the preferred alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_linkDelete LinkADestructiveIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| qr_id | Yes | Stable QRCodeKIT identifier for the link. |
Output Schema
| Name | Required | Description |
|---|---|---|
| qr_id | Yes | Stable QRCodeKIT identifier for the QR moved to trash. |
| deleted | Yes | Whether the QR was moved to trash. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark destructiveHint and readOnlyHint, but the description adds valuable behavioral context: the deletion is a move to trash, scoped to the active account, and reversible from the web app. This goes beyond the annotations and clarifies the nature of the destructive action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence carries meaningful information: the operation, the usage condition, reversibility, and a caution about resolving the identifier. It is compact, direct, and well-structured with the main purpose front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter destructive tool with rich annotations and an output schema, the description provides complete guidance: what happens, when to use it, why it is safe, and how to handle ambiguity. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes qr_id as a stable identifier and has 100% coverage. The description reinforces the need to resolve ambiguity but does not add new parameter-level detail, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action — moving a QRCodeKIT link and its QR code to the active account's trash. It disambiguates deletion from other operations and is distinct from sibling tools, which are largely create/list/stat tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use: 'Use this only when the user asks to delete, remove, or discard a specific link.' It also advises resolving the exact qr_id first when the target is ambiguous, giving practical decision guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_link_statsLink & QR AnalyticsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| qr | No | 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. | |
| end_date | No | Last day of the stats window (YYYY-MM-DD). Defaults to today. | |
| interval | No | Time-series bucket size: 1h, 1d, 1w, or 1M. Use 'auto' (default) to pick a sensible bucket from the range length. | auto |
| start_date | No | First day of the stats window (YYYY-MM-DD). Defaults to 29 days before end_date. |
Output Schema
| Name | Required | Description |
|---|---|---|
| qr | No | The QR the stats belong to when scope is 'qr'. |
| scope | Yes | 'qr' for a single QR deep-dive, 'account' for all QRs in the account. |
| cities | No | |
| notice | No | Human-readable note about limits or missing data, if any. |
| devices | No | |
| summary | No | |
| top_qrs | No | Account scope only: QRs ranked by lifetime visit totals. |
| browsers | No | |
| end_date | Yes | Last day of the stats window (YYYY-MM-DD). |
| interval | Yes | Time-series bucket size: 1h, 1d, 1w, or 1M. |
| qr_count | No | Account scope only: number of QRs covered by the stats. |
| countries | No | |
| start_date | Yes | First day of the stats window (YYYY-MM-DD). |
| time_series | No | |
| operating_systems | No | |
| advanced_stats_available | No | False when the plan does not include advanced analytics breakdowns. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds substantial behavioral context beyond that: every short-URL visit is counted, QR scans and link clicks are combined into one metric, account-wide results include extra aggregates, the window defaults to the last 30 days, and the interval selection affects the time-series buckets. It also notes that advanced breakdowns depend on the account plan.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but earned: it front-loads the core purpose and metrics, then covers usage triggers, account-vs-link semantics, parameter behavior, defaults, and result shape. The 'structured result contains the full tables' sentence is somewhat vague and adds little, but overall the structure is logical and every major section serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity—4 optional params, one enum, account-vs-link variants, plan-dependent fields, and an existing output schema—the description is complete. It explains how to select a link, how to omit it for account-wide stats, how date defaults and interval work, and what the data semantics are. There is no obvious missing piece that would prevent an agent from invoking it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description mostly reinforces what the schema already says: qr can be an ID, slug, or title fragment, end_date defaults to today, start_date defaults to 29 days before, and interval supports auto/hourly/daily/weekly/monthly. It adds minor value by framing defaults as 'last 30 days,' but it does not need to compensate for any schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Retrieve analytics for the whole QRCodeKIT account or for one link.' It enumerates the exact metric families returned, which clearly distinguishes it from sibling tools like list_links or show_links that handle link listing rather than analytics. The usage phrase 'Use this when the user asks about QR scans, short-link clicks, campaign performance...' further locks in the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Use this when the user asks about QR scans, short-link clicks, campaign performance, audience location, devices, trends, comparisons, or top-performing links.' It does not explicitly name an alternative tool or state when not to use it, but the supported-use cases are concrete enough to guide selection. A brief exclusion or sibling comparison would have earned a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
host_fileShare a File or PDF by LinkAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| file | Yes | Attached file to host — PDF or any other type — stored as a QRCodeKIT asset before creating the link. | |
| qr_id | No | Optional QRCodeKIT identifier for updating an existing link instead of creating one. | |
| title | Yes | Display title for the link. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | No | QR codes visible to the active account. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description says 'When qr_id is provided, replace the hosted file while preserving the existing public URL and printed QR code.' Replacing an existing hosted file is an overwrite/destructive operation, yet annotations declare destructiveHint=false. This is a direct annotation contradiction, overriding any positive context about asset storage and PDF validation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core action and outcome, followed by usage scenario and behavioral details. The list of example document types is slightly verbose but each sentence adds relevant context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full input schema, annotations, and an output schema present, the description sufficiently covers file types, storage behavior, PDF validation, and update semantics. No critical invocation detail is missing, aside from the annotation conflict already noted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters. The description adds value for qr_id by explaining that it replaces the hosted file while preserving the URL and QR code, which goes beyond the schema's 'updating an existing link' phrasing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (upload/host a file, get a permanent link and QR code) and the target use case (sharing attached PDFs/files without an external hosting account). It clearly differentiates from siblings like save_file_url_qr by emphasizing attached-file hosting and physical document types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use the tool: 'when the user wants to publish or share an attached PDF or file without a separate file-hosting account.' It does not name alternatives or state when not to use it, but the intended context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_linksList Links & QR CodesARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of links to return from the active account. | |
| typology | No | Link typology internal name to filter by. Use 'all' or omit this field to return all typologies. | all |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | No | QR codes visible to the active account. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds a useful behavioral detail by clarifying that lifetime visits combine short-link clicks and QR scans, which is not inferable from the schema or annotations. It does not mention pagination or account-scoping nuances, but those are minor given the annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the core return promise and key fields appear first, followed by the lifetime-visits nuancehol and a clear sibling-tool routing sentence. Every sentence earns its place, and there is no filler or repetition of annotation properties.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (two optional parameters), full schema coverage, and a present output schema, the description is complete enough for an agent to invoke it correctly. It covers the purpose, the data shape, the when-to-use context, and the alternative tool. The output schema handles return-value documentation, so no further detail is required.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both `limit` and `typology` already documented, so the schema carries the parameter semantics. The description's phrase 'filter by link type' loosely aligns with the typology parameter but adds no concrete syntax or enumeration information beyond what the schema provides. Baseline 3 is appropriate because the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise verb-resource pair ('Return the account's QRCodeKIT links as structured data') and enumerates the exact fields in the result, such as title, short URL, slug, QR image URLs, and lifetime visits. It also names the sibling tool it is not ('Use show_links instead...'), which removes any ambiguity about which tool the agent should select.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool: when the assistant needs to 'search, filter by link type, compare, inspect, or process existing links programmatically.' It additionally gives a concrete exclusion by directing display/download requests to 'show_links instead,' making the routing decision fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
render_file_upload_qr_formUpload a File → Get a Link & QRBRead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| qr_id | No | Optional QRCodeKIT identifier when updating an existing QR instead of creating one. | |
| title | No | 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. | |
| typology | No | 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. | file |
Output Schema
| Name | Required | Description |
|---|---|---|
| qr_id | No | Stable QRCodeKIT identifier when the widget updates an existing QR. |
| title | No | QR title used when the upload is saved. Falls back to the uploaded filename. |
| typology | No | Initial file typology for the form. |
| max_bytes | No | Maximum accepted upload size in bytes, enforced client-side for UX. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description directly contradicts the annotations: it says 'The form uploads the file to QRCodeKIT and saves the link' and 'when qr_id is provided, it replaces the file of an existing link,' yet the annotations declare readOnlyHint=true. This is an explicit mutation claim against a read-only hint, making the behavioral signal unreliable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences and front-loads the primary action clearly. It contains useful context without excessive fluff. A slight redundancy exists between the title and the opening clause, but the structure is otherwise efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with full schema coverage and an output schema, most invocation details are covered. The description also names supported file types and the QR update behavior. However, the behavioral contradiction with readOnlyHint leaves a significant completeness gap for an agent trying to understand the tool's actual side effects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 all three parameters, their defaults, and meanings. The description adds some context for qr_id (replacing a file while preserving the short URL/QR) and for title (sensible title from conversation), but these largely overlap with what the schema already provides, so a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: '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.' It clearly identifies the tool's purpose and distinct niche: hosts like Claude that cannot pass an attached file directly, distinguishing it from siblings such as save_file_url_qr or host_file.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: '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.' This clearly tells when to use it, though it does not explicitly mention alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_app_store_linkApp Download Smart LinkAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| qr_id | No | Optional QRCodeKIT identifier for updating an existing QR instead of creating one. | |
| ios_url | No | Optional Apple App Store URL, such as https://apps.apple.com/app/example/id123. | |
| app_name | Yes | App name shown on the App Store QR landing page. | |
| image_url | No | Optional app icon image URL. | |
| android_url | No | Optional Google Play URL, such as https://play.google.com/store/apps/details?id=com.example. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | No | QR codes visible to the active account. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the key behavioral trait that providing qr_id updates the existing link while preserving the short link and QR code, and it states the input requirement of app_name plus at least one store URL. It does not cover failure modes, permissions, or side effects, but it adds meaningful behavior beyond the sparse annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: purpose, use cases, then requirements and update semantics. The device-routing concept is front-loaded in the first clause, and there is no filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists and annotations are minimal, the description provides all operational knowledge an agent needs: required app_name, the one-of-two URLs constraint, optional icon URL, and the qr_id update behavior. Nothing essential for calling the tool correctly is left to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds a critical business rule not visible in the schema: although ios_url and android_url are individually optional, at least one must be provided. It also clarifies that qr_id switches the tool into update mode, which is not inferable from the parameter description alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: create (or update) a device-routing smart link and dynamic QR code. It distinguishes itself from sibling short-link tools by explicitly mentioning iPhone-to-App-Store and Android-to-Google-Play routing, which makes the tool's purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear use cases ('download our app' campaigns in print, ads, websites, link-in-bio pages), which tells an agent when to select this tool. However, it does not explicitly contrast with siblings like save_short_link for generic links, nor does it state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_email_linkEmail Action LinkAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | Optional CC email addresses. | |
| body | No | Optional pre-filled email body. | |
| qr_id | No | Optional QRCodeKIT identifier for updating an existing QR instead of creating one. | |
| title | Yes | Display title for the link. | |
| subject | Yes | Pre-filled email subject. | |
| email_address | Yes | Recipient email address for the email QR. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | No | QR codes visible to the active account. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false, consistent with the description's create/update behavior. The description adds useful context beyond annotations: it explains that providing qr_id updates existing email details while preserving the short link and QR code, which is not obvious from the schema alone. It does not disclose potential side effects like generated QR image storage, but the addition of the update behavior is valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, efficient and free of fluff. It front-loads the core purpose, then gives usage cases, then the update note. No redundant or vague filler; every sentence contributes actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, return values need not be explained. The description covers the tool's functionality, use cases, and the update path via qr_id. It does not specify behavior when qr_id is invalid (e.g., error handling) or mention any authentication requirements, but these are likely handled elsewhere. The description is adequate for an agent to call the tool correctly for common scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds nuance beyond the schema: it clarifies that subject is required, body is optional, and CC is optional, and explains the qr_id update mechanism, which reinforces and extends the schema descriptions. This adds meaningful context, warranting a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it creates a short link and dynamic QR code for a pre-filled email, listing the key components (recipient, subject, body, CC). It also distinguishes itself by being email-specific and explicitly lists common use cases (contact us, support, RSVPs, etc.), which differentiates it from sibling tools like save_whatsapp_link or save_app_store_link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides use cases ('Use this for contact us flows, support or quote requests, RSVPs, feedback, reservations...') and explains the update behavior via qr_id. It does not name alternative tools, but the email-specific focus makes selection clear. It could have stated when NOT to use (e.g., for WhatsApp links), but the guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_file_url_qrLink a Hosted FileAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| qr_id | No | Optional QRCodeKIT identifier for updating an existing QR instead of creating one. | |
| title | Yes | Display title for the QR. | |
| file_url | Yes | Already-hosted public file URL, preferably a QRCodeKIT asset URL. | |
| typology | Yes | Use 'file' for an arbitrary file or 'pdf' for a PDF. | |
| asset_iri | No | Optional QRCodeKIT asset IRI returned by an earlier upload. | |
| original_filename | No | Original filename to show for the download. Defaults to 'file'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | No | QR codes visible to the active account. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false, so the description doesn't need to restate those. It adds valuable behavioral context: providing qr_id updates the file destination while preserving the existing short link and QR code, and the tool both creates and updates. This goes beyond what the annotations alone convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: the core action, the when-to-use and alternative, and the update behavior plus upload-form context. The most important scoping information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a tool with an output schema and 100% schema description coverage. It covers creation vs update, the fallback scenario, the alternative to prefer, and the upload-form integration. Nothing an agent needs to select and invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds meaning beyond the schema by mapping 'file or PDF' to typology and explaining that qr_id triggers an update that preserves the existing short link and QR code. This enriches the semantics of key parameters without needing to repeat all schema details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Create or update a permanent short link and dynamic QR code for a file or PDF that is already hosted at a public URL.' It clearly differentiates from siblings by naming host_file as the preferred alternative for local attachments and by describing the update path via qr_id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit usage guidance is provided: 'Use this as a fallback when the host cannot pass an attached file; prefer host_file for local or host-native attachments.' It also specifies when to update vs create, and notes its role as the finalizer step in the in-chat upload form.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_html_file_qrHost Static HTML PageAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| html | Yes | 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. | |
| qr_id | No | Optional QRCodeKIT identifier for updating an existing hosted HTML page in place while preserving the same public URL and QR code. | |
| title | Yes | Human-readable title for the hosted page. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | No | QR codes visible to the active account. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial behavioral context beyond the annotations: the 6 MB size cap, the single-file-not-multi-page constraint, the permanent URL and QR code outputs, and the in-place update semantics when qr_id is provided (preserving public URL and printed QR code). This complements the annotations (readOnlyHint=false, destructiveHint=false) rather than repeating them, giving the agent a clear model of side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well structured and front-loaded: primary action first, then triggering use cases, then friction-reducing facts, then constraints, then update behavior. Five sentences, each carrying distinct information with zero filler or repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a tool of this complexity. It covers the decision-relevant facts an agent needs: when to choose it, the 6 MB input limit, the single-page constraint, the update-vs-create distinction via qr_id, and that no external hosting account is needed. With output schema and annotations present, nothing essential is left unsaid.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description enriches the parameters with behavior: html is clarified as a complete document forming a single-page site (not multi-page), and qr_id gains meaning as an update trigger that preserves the public URL and QR code. Title and html purpose are reinforced with publisher context ('to publish at a public QRCodeKIT-hosted URL').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Publish a single-page static HTML site live on the web' with concrete deliverables (permanent public URL, shareable link, downloadable QR code). The enumerated use cases (landing page, one-pager, digital menu, etc.) make it clearly distinguishable from sibling tools like save_short_link or save_email_link without needing to open schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit when-to-use guidance with a comprehensive trigger list ('create, publish, deploy, host, share, or put online a landing page...') and a targeting qualifier ('especially when they do not have a website or hosting provider'). It also implicitly differentiates via 'No separate hosting account, build step, or deployment token is required,' though it stops short of naming sibling alternatives or explicit when-not-to-use exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_short_linkSave Short LinkAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| qr_id | No | Optional QRCodeKIT identifier for updating an existing link instead of creating one. | |
| title | Yes | Display title for the link. | |
| short_code | No | 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. | |
| destination_url | Yes | Destination URL the short link and QR code redirect to. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | No | QR codes visible to the active account. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (which already signal mutation), the description adds meaningful behavior: every link includes a scannable QR code, clicks/scans are tracked together, and providing qr_id changes the destination while preserving the existing short URL and printed QR code. This clarifies side effects of the update path without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and most sentences earn their place: example slug, use case, tracking behavior, update mode, and alternative routing. It is slightly wordy in the middle with the analytics detail, but overall well structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the dual create/update behavior, the presence of an output schema, and related siblings, the description covers the essential decision points: when to use, when to use set_link_slug, the uniqueness constraint, and the preservation guarantee during updates. Nothing critical is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value beyond the schema by explaining short_code as the branded part of the URL with an example and by clarifying that qr_id means preserving the existing short URL/QR while changing the destination.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Create a branded short link and dynamic QR code for an existing website URL.' It also covers the update mode via qr_id and explicitly differentiates itself from set_link_slug, so an agent can tell it apart from the closest sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-to-use guidance: '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.' It also names the alternative set_link_slug and the exact condition for choosing it instead, leaving no ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
save_whatsapp_linkWhatsApp Chat LinkAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| qr_id | No | Optional QRCodeKIT identifier for updating an existing QR instead of creating one. | |
| title | Yes | Display title for the link. | |
| message | No | Optional pre-filled WhatsApp message. | |
| phone_number | Yes | WhatsApp phone number with international country code, such as +12025550123. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | No | QR codes visible to the active account. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, idempotentHint=false, and destructiveHint=false. The description adds useful behavioral context by explaining that providing qr_id updates the phone number or message while preserving the existing short link and QR code, which goes beyond the structured hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, front-loaded with the core function, followed by use cases and update behavior. Every sentence serves a selection or invocation purpose, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema, annotations, and 100% schema description coverage, the description provides enough practical context for an agent to create or update a WhatsApp link correctly. It covers creation, updating, use cases, and the key parameter constraint without needing additional explanation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all 4 parameters with descriptions covering international phone format and qr_id's update purpose. The description reinforces these semantics and adds the preservation-of-existing-link detail for qr_id, which provides extra meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 creates a short link and dynamic QR code that opens a WhatsApp conversation with a phone number and optional pre-filled message. It also clarifies the update behavior when qr_id is provided, which distinguishes it from generic tools like save_short_link or save_email_link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit real-world use cases such as 'chat with us' buttons, customer support, reservations, printed signage, and link-in-bio pages, and it explains when to update versus create. It does not explicitly name sibling tools or state exclusions, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_link_slugChange Link SlugADestructiveIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| qr_id | Yes | Stable QRCodeKIT identifier for the link. | |
| short_code | Yes | 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. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | No | QR codes visible to the active account. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark destructiveHint=true and idempotentHint=true, and the description reinforces the destructive action by warning that the previous short URL stops redirecting and the QR image is regenerated. It adds value by explaining the consequence of printed/shared copies needing replacement, which goes beyond the annotations. Since the destructive hint is present, a 4 is appropriate—it enriches the context without repeating the annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded: it states the core action with an example, then routes to alternatives, and ends with a warning. The warning is necessary for safe usage, and the sentences are efficient. Slightly verbose with the WARNING tag, but it earns its place given the destructive nature.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description need not explain return values. The tool is a mutation with clear side effects; the description covers the key consequence (old URL stops redirecting) and regeneration of QR, which is critical for an agent. It lacks details on error cases (e.g., slug not unique) but that is implied by the schema. Overall, it is sufficiently complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides 100% coverage with detailed descriptions for both parameters (qr_id as stable identifier, short_code with pattern and uniqueness requirement). The description adds the example 'summer-sale' and notes the slug must be unique within the domain, but this largely overlaps with the schema. Baseline 3 is correct because the schema already handles the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Change the custom slug of an existing QRCodeKIT short link') with a concrete example (qrkit.co/x7Ab9c to qrkit.co/summer-sale), and it distinguishes itself from sibling tools like save_short_link by specifying 'any link type' and preserving identity/analytics. It also explicitly notes it is not for changing the destination, which differentiates it from the various save_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit guidance on when to use: 'Use this only when the user explicitly wants to rename the short URL.' It also gives a clear alternative: 'to change a destination, use the corresponding save tool instead.' This directly addresses the when/which-tool question, leaving no ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
show_linksShow Links & QR CodesARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of links to render when qr_id is absent. | |
| qr_id | No | Optional QRCodeKIT identifier for showing a single link instead of the gallery list. |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | No | QR codes visible to the active account. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds useful behavioral context beyond that: the interactive gallery presentation, available export formats (SVG, PNG, PDF, EPS), and account-scoping behavior. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no fluff. The main purpose is front-loaded, the gallery contents are compactly enumerated, and the parameter-dependent behavior is placed last. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full input schema, output schema, and safety annotations, the description supplies the remaining selection and scoping context: when to use it, what the gallery contains, and how qr_id changes the behavior. A minor gap is not explicitly routing the user away from sibling tools like list_links for programmatic use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, and both parameters already have descriptions. The description does add the conditional behavior of qr_id ('show only that link; otherwise show links from the active account'), but it mostly restates what the schema conveys, so it earns the baseline rather than exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the resource ('QRCodeKIT links') and the action ('Display ... in an interactive gallery'), then lists the concrete contents: short URL, QR image, combined click-and-scan totals, and download actions. This distinguishes it from sibling link-management tools such as list_links or delete_link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit trigger language: 'Use this when the user asks to see, show, preview, display, or download their links or QR codes.' This is strong when-to-use guidance, though it does not explicitly name an alternative or state when not to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
14 tool updates
- First observed
create_file_upload_session - First observed
delete_link - First observed
get_link_stats - First observed
host_file - First observed
list_links - First observed
render_file_upload_qr_form - First observed
save_app_store_link - First observed
save_email_link - First observed
save_file_url_qr - First observed
save_html_file_qr - First observed
save_short_link - First observed
save_whatsapp_link - First observed
set_link_slug - First observed
show_links
Related MCP Connectors
Dynamic, editable QR codes + short links with scan analytics and branded QR rendering.
Create QR codes, re-point printed dynamic codes, name links on your domain, read scan analytics.
Make and manage short links on your own domain, with analytics and routing rules.
Dynamic QR codes and short links with real-time analytics and AI/MCP integration.
Related MCP Servers
- AlicenseAqualityDmaintenanceGenerate styled QR codes, manage dynamic short links with click analytics, and publish micro-landing pages via AI agents.1933 npm1MIT

Jmpy mcp serverofficial
FlicenseNot gradedqualityDmaintenanceUser can create short urls, edit short urls, get click analytics, generate qr codes and much more.-- AlicenseNot gradedqualityCmaintenanceEnables generating QR codes from URLs or text without an API key, and creating trackable short links whose printed QR codes can be re-pointed after printing.55 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables creation of short links, dynamic QR codes, UTM templates, and hosted vCards with click/scan analytics through natural language conversations.62 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.