Skip to main content
Glama

QRCodeKIT

Server Details

Branded short links, instant page & file hosting, and dynamic QR codes with unified analytics.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 24 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.9/5.0

Scored across 14 tools

Disambiguation4/5

Save tools target distinct link types (app store, email, WhatsApp, HTML, short link) and descriptions clarify overlap between host_file, render_file_upload_qr_form, and save_file_url_qr. The internal create_file_upload_session is explicitly marked as not for direct use, reducing misselection risk.

Naming Consistency4/5

All names use snake_case, with save_* for link creation and other verbs for distinct operations. Minor inconsistency: host_file and render_file_upload_qr_form deviate from the save_* pattern, but names remain readable and purposeful.

Tool Count4/5

14 tools cover a wide range of link types and management operations without redundancy. Each tool has a clear purpose for this multi-feature QR/link service, so the count is well-scoped.

Completeness4/5

Provides create and update (via qr_id), delete, list/show, analytics, slug change, and file hosting across link types. Minor gap: no explicit get single link by ID, but show_links and list_links cover retrieval adequately.

Available Tools

14 tools
create_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'.

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameYesOriginal filename of the selected file.
typologyYesUse 'file' for an arbitrary file or 'pdf' for a PDF.
mime_typeNoMIME type reported by the browser for the selected file.
size_bytesYesSize of the selected file in bytes. Must be at most 50 MB.

Output Schema

ParametersJSON Schema
NameRequiredDescription
methodNoHTTP method the widget must use for the upload.
max_bytesYesMaximum accepted upload size in bytes.
expires_atYesISO-8601 timestamp when the session expires.
field_nameNoMultipart field name for the uploaded file.
session_idYesOpaque backend upload-session identifier.
upload_urlYesSingle-use URL the widget posts the file to (multipart form data).

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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

Schema description coverage is 100%, so the schema 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.

Purpose5/5

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.

Usage Guidelines5/5

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.

host_fileShare a File or PDF by LinkA
Destructive
Inspect

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.

ParametersJSON 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

ParametersJSON Schema
NameRequiredDescription
itemsNoQR codes visible to the active account.

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.

render_file_upload_qr_formUpload a File → Get a Link & QRB
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
qr_idNoOptional QRCodeKIT identifier when updating an existing QR instead of creating one.
titleNoQR 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.
typologyNoInitial 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

ParametersJSON Schema
NameRequiredDescription
qr_idNoStable QRCodeKIT identifier when the widget updates an existing QR.
titleNoQR title used when the upload is saved. Falls back to the uploaded filename.
typologyNoInitial file typology for the form.
max_bytesNoMaximum accepted upload size in bytes, enforced client-side for UX.

TDQS

B3.4/5.0
Behavior1/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents 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.

Purpose5/5

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

The description states a specific verb and resource: '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.

Usage Guidelines4/5

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_file_url_qrLink a Hosted FileA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
qr_idNoOptional QRCodeKIT identifier for updating an existing QR instead of creating one.
titleYesDisplay title for the QR.
file_urlYesAlready-hosted public file URL, preferably a QRCodeKIT asset URL.
typologyYesUse 'file' for an arbitrary file or 'pdf' for a PDF.
asset_iriNoOptional QRCodeKIT asset IRI returned by an earlier upload.
original_filenameNoOriginal filename to show for the download. Defaults to 'file'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsNoQR codes visible to the active account.

TDQS

A4.7/5.0
Behavior4/5

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

Annotations already declare the write/destructive/non-idempotent/open-world profile, so the bar is lower. The description adds real value by stating the link and QR are permanent, that an update with qr_id preserves the existing short link and QR code while swapping the destination, and that it doubles as a form finalizer — though it never says what an update overwrites or whether operations are reversible.

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

Conciseness5/5

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

Three sentences, front-loaded with the primary action, then the fallback routing, then the update semantics. No filler or repeated schema content.

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?

For a 6-parameter mutation with full schema coverage, full annotations, and an output schema, the description covers selection, routing, and update semantics. Nothing an agent needs to pick and call this tool correctly is missing.

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 100% so the baseline is 3, but the description goes beyond the schema by explaining the qr_id branch (update existing QR, preserving link) and framing file_url as an already-hosted public URL. It does not clarify asset_iri or original_filename 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?

Specific verb (create or update) plus resource (permanent short link and dynamic QR code) plus input constraint (file already hosted at a public URL). It clearly separates itself from siblings like host_file and save_short_link by scoping to already-hosted files.

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

Usage Guidelines5/5

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

Explicitly states when to use it (fallback when the host cannot pass an attached file, finalizer for the in-chat upload form) and names the preferred alternative (host_file) with the condition that selects it. The qr_id branch defines update vs create behavior.

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 PageA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
htmlYesComplete 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_idNoOptional QRCodeKIT identifier for updating an existing hosted HTML page in place while preserving the same public URL and QR code.
titleYesHuman-readable title for the hosted page.

Output Schema

ParametersJSON Schema
NameRequiredDescription
itemsNoQR codes visible to the active account.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations flag destructiveHint=true and openWorldHint=true, and the description corroborates the public/irreversible nature by stating the page goes live with a permanent URL requiring no hosting account or deployment token. It adds the 6 MB cap and the single-file (not multi-site) constraint, but never explains what the destructive flag implies for the existing page content when qr_id is omitted.

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

Conciseness4/5

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

The core action and outputs are front-loaded, and constraints (size, single file, no token) follow in a logical order. The long mid-sentence catalog of page types ('digital menu, event page, portfolio, product page, campaign page, microsite') is keyword padding that slightly dilutes focus.

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

Completeness4/5

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

With an output schema present, return values need no explanation, and the description covers size limits, single-page scope, qr_id update behavior, and no-account prerequisites. The one gap is that the destructiveHint on overwrite is never reconciled with the 'preserving its public URL' framing.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents html's 6 MB UTF-8 limit and qr_id's update-in-place semantics, which the description largely repeats. No additional syntax or format guidance is provided beyond what structured fields carry, so the baseline 3 holds.

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 concrete verb+resource ('Publish a single-page static HTML site live on the web') and enumerates the concrete outputs (permanent public URL, shareable link, dynamic QR code). An agent can distinguish this from host_file or save_file_url_qr without opening the schema.

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

Usage Guidelines4/5

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

Gives rich when-to-use signals ('when the user asks to create, publish, deploy, host, share, or put online...') plus a qualifying condition ('especially when they do not have a website or hosting provider'). It never names a sibling alternative or a when-not-to-use case, so routing between this and host_file still requires inference.

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.

  1. 14 tool updates
    • First observedcreate_file_upload_session
    • First observeddelete_link
    • First observedget_link_stats
    • First observedhost_file
    • First observedlist_links
    • First observedrender_file_upload_qr_form
    • First observedsave_app_store_link
    • First observedsave_email_link
    • First observedsave_file_url_qr
    • First observedsave_html_file_qr
    • First observedsave_short_link
    • First observedsave_whatsapp_link
    • First observedset_link_slug
    • First observedshow_links

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Generate styled QR codes, manage dynamic short links with click analytics, and publish micro-landing pages via AI agents.
    19
    36 npm
    1
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    User can create short urls, edit short urls, get click analytics, generate qr codes and much more.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables 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.
    33 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to create, update, organize, and delete short links; render styled QR codes; route visitors by device or country; and read click and scan statistics. Agents can also manage groups and custom domains while changing destinations without breaking printed QR codes or shared short URLs.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources