Skip to main content
Glama

QRCodeKIT

Share a File or PDF by Link

host_file
Destructive

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fileYesAttached file to host — PDF or any other type — stored as a QRCodeKIT asset before creating the link.
qr_idNoOptional QRCodeKIT identifier for updating an existing link instead of creating one.
titleYesDisplay title for the link.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
itemsNoQR codes visible to the active account.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Adds real value beyond annotations: it discloses that the file is copied into QRCodeKIT asset storage, that PDFs are validated as real PDFs, and that supplying qr_id replaces the hosted file while preserving the existing public URL and printed QR. That replace-while-preserving behavior is meaningful given destructiveHint=true, though it does not spell out what happens to the prior asset on replacement.

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

Conciseness4/5

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

Front-loads the core action and outcome, then the usage trigger, then the update case. Slightly verbose with overlapping enumerations (PDF/image/document/spreadsheet/other file, then a second document list), but each sentence carries substantive information.

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

Completeness5/5

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

An output schema exists, so return values need not be described, and annotations already cover the safety profile. For a 3-parameter file-hosting tool, the description covers intake, storage, linking, QR output, and the update path completely.

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

Parameters4/5

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

Schema coverage is already 100%, so the baseline is 3. The description goes further by explaining the semantic distinction of qr_id (update an existing link vs create a new one) and that file is stored as a QRCodeKIT asset, adding meaning beyond the schema text.

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

Purpose5/5

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

States a specific verb+resource: upload/host a local file and produce a public short link plus a QR code. It clearly distinguishes itself from URL-based siblings like save_file_url_qr and save_html_file_qr by emphasizing the local attachment and its own asset storage.

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

Usage Guidelines4/5

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

Explicitly says when to use it: when the user wants to publish or share an attached PDF/file without a separate hosting account, and it names the update case via qr_id. It does not explicitly exclude or route away from the sibling save_* tools, so it falls just 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources