com.hovercode/mcp

Hovercode

Create and manage QR codes, short links, landing pages, and forms in your Hovercode workspace.

Endpointhttps://hovercode.com/mcp/ (streamable-http)
Registry version1.0.1
Now36 tools · grade D (59) · pin ts_eb363aa823556bb94c9b59f68ae45868 · protocol 2025-06-18
First / last listed2026-10-31 01:56 UTC / 2026-10-31 01:56 UTC
Grade over time2026-10-31: D (59), 36 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-10-31 01:56 UTC
36 tools, grade D (59)

Tools: list_workspaces create_qr_code build_page create_form get_analytics list_qr_codes create_short_link set_workspace create_qr_codes_bulk download_qr create_pdf_qr get_qr_code update_qr_code delete_qr_code get_qr_activity list_templates list_folders create_folder update_folder delete_folder list_tags update_form list_forms get_form get_form_responses create_page get_page update_page delete_page list_pages list_block_types get_short_link list_short_links update_short_link delete_short_link get_short_link_activity

Current tools (36)

list_workspacesList the workspaces this account can access, with their ids; the current (default) one is marked. Tools default to the current workspace, so you only need `workspace` to target a different one.
params: none
create_qr_codeCreate a Hovercode QR code and return its details plus a rendered PNG. `dynamic: true` makes the destination changeable later and tracks scans; `dynamic: false` (the default, 'static') encodes the destination directly into the code image — it can never be retargeted or tracked, and this choice can't be changed after creation. If the request doesn't make the choice clear, ask the user whether it sh
params: workspace, qr_data*, qr_type, vcard, dynamic, display_name, template, folder, gps_tracking, tags, primary_color, color_scope, background_color, eye_style, eye_color, pattern, frame, frame_color, text, text_secondary, has_border, logo_url, error_correction
build_pageBuild a rich, on-brand landing page from an ordered list of typed blocks, publish it, and return its live URL + its own QR code (`qr_id`; style it with the QR design args here, restyle later with update_qr_code — don't create another). This is the 'make me a page for X' tool — e.g. an event, product, restaurant, link-in-bio, or a scan-to-enter sweepstakes. Each block is {type, content}; call list_
params: workspace, primary_color, background_color, eye_style, eye_color, pattern, frame, frame_color, text, text_secondary, has_border, logo_url, error_correction, color_scope, title*, description, blocks*, publish, bg_color, text_color, domain, slug
create_formCreate a form, define its fields, brand it, publish it, and return a shareable short link + QR in one step. Use for 'make me a form to collect X, give me a link and QR to share it'. The result's `share_url` is the public link and `qr_id` is the form's own dynamic QR code (image included) — never call create_qr_code or create_short_link for a form's link; pass QR design args (primary_color, eye_sty
params: workspace, primary_color, background_color, eye_style, eye_color, pattern, frame, frame_color, text, text_secondary, has_border, logo_url, error_correction, color_scope, title*, description, fields*, outcomes, theme, bg_color, text_color, button_color, button_text_color, redirect_url, thank_you_message, domain, slug
get_analyticsScan analytics over a period: totals, unique scanners, scans-by-day, and top countries/cities/OS/browsers. Pass a QR code `id` for one code, or omit it for the whole workspace (which also returns the top codes). Use this to answer 'how did my codes do this month and where were people scanning?'.
params: workspace, id, days, start, end
list_qr_codesList QR codes in a workspace, newest first. Optional `query` searches destination, name, and tags. `folder` narrows to one folder, `include_tags` adds each code's tags (its folder is always shown), and `include_scans` adds scan counts — use it instead of calling get_analytics once per code.
params: workspace, query, folder, subfolders, include_scans, include_tags, page, page_size
create_short_linkCreate a tracked short link for a URL. It comes with its own QR code (same id; use download_qr). Supports a custom slug and a custom domain. The destination can be changed later with update_short_link, and clicks are tracked. Never shorten a link that is already a Hovercode short link, form link, or page link — those are already tracked and already have a QR code.
params: workspace, link*, display_name, slug, domain, gps, tags
set_workspaceSwitch the current (default) workspace by id or name. New codes, forms, and pages are created in the current workspace unless a tool is given an explicit `workspace`.
params: workspace*
create_qr_codes_bulkCreate many QR codes at once from a list — e.g. 'make codes for these 20 product URLs in our brand colors'. All codes share the design/options you pass (colors, pattern, frame, dynamic, template). Returns the created codes and any per-item errors. Max 100 per call.
params: workspace, items*, dynamic, template, idempotency_key, tags, primary_color, color_scope, background_color, eye_style, eye_color, pattern, frame, frame_color, text, text_secondary, has_border, logo_url, error_correction
download_qrGet downloadable, print-ready image links for a QR code — a high-resolution PNG and a vector SVG (best for print/large sizes). Returns URLs you can share or save.
params: id*
create_pdf_qrCreate a dynamic QR code and short link for a PDF (menus, flyers, tickets). Host the PDF by passing `pdf_url` (a link Hovercode fetches) or `pdf_base64` (the file's base64 bytes). Returns a shareable short link plus a rendered QR. Because it's dynamic you can later swap the PDF without reprinting the code — always dynamic, no static option here. Counts toward the same workspace dynamic-code limit
params: workspace, pdf_url, pdf_base64, filename, display_name, domain, tags
get_qr_codeGet one QR code's details and scan analytics (total and unique scans), plus a rendered PNG.
params: id*
update_qr_codeUpdate a QR code in place — the same code keeps working, so it's safe for already-printed codes. Changing `qr_data` retargets a DYNAMIC code's destination. Design fields (colors, pattern, eye style, frame, logo) restyle the code WITHOUT replacing it. Also supports renaming, toggling location tracking, moving it into a folder (`folder`, or 'none' to unfile), and adding/removing tags. Returns the re
params: id*, qr_data, display_name, gps_tracking, folder, add_tags, remove_tags, primary_color, color_scope, background_color, eye_style, eye_color, pattern, frame, frame_color, text, text_secondary, has_border, logo_url, error_correction, logo_base64, logo_round, remove_logo
delete_qr_codeDelete a QR code. Dynamic codes stop redirecting after deletion.
params: id*
get_qr_activityList recent scan events for a dynamic QR code (time, location, device). Use this to answer questions like where or when a code was scanned.
params: id*, page, page_size, start, end
list_templatesList the workspace's saved QR design templates. Pass a template id to create_qr_code to reuse its branding.
params: workspace
list_foldersList the workspace's folders with their full path, code count, id and slug. Use a folder's id or slug with create_qr_code / update_qr_code (`folder`) to file codes, or with list_qr_codes to filter.
params: workspace
create_folderCreate a folder to organise QR codes, optionally nested under a parent. Creating a folder that already exists (same name, same parent) returns the existing one, so it's safe to call repeatedly.
params: workspace, name*, parent
update_folderRename a folder and/or move it under another folder. `parent` 'none' moves it to the top level. Codes inside keep their filing.
params: id*, name, parent
delete_folderDelete a folder. The codes in it (and in its subfolders) are NOT deleted — they become unfiled — and its subfolders move up to its parent.
params: id*
list_tagsList the workspace's tags (title + id). Tags are attached with create_qr_code (`tags`) or update_qr_code (`add_tags` / `remove_tags`), and list_qr_codes searches by tag.
params: workspace
update_formChange an existing form without recreating it: edit its fields, settings (redirect, thank-you, title), or branding (theme/colors/logo), or close/reopen it. If you pass `fields`, provide the COMPLETE desired list — include each existing field's `id` (from get_form) to keep it; omit a field to remove it; leave `id` off a new field. If the form is already published, edits are re-published so they go
params: id*, status, title, description, fields, outcomes, theme, bg_color, text_color, button_color, button_text_color, logo_url, redirect_url, thank_you_message
list_formsList the forms in a workspace, newest first. Optional `query` searches by title.
params: workspace, query, page, page_size
get_formGet one form's details: status, response count, share link, and QR.
params: id*
get_form_responsesList a form's submissions (newest first) so you can read or summarize them — e.g. 'summarize this week's feedback' or 'any complaints in the responses?'.
params: id*, page, page_size
create_pageCreate a published micro landing page (link-in-bio style) with a title and a list of links, and return its live URL (`share_url`) + its own QR code (`qr_id`; style it with the QR design args here; don't create another). Use this for 'make me a page with these links and a QR to share it'. The page is a dynamic destination you can keep; it counts toward the workspace's page limit.
params: workspace, primary_color, background_color, eye_style, eye_color, pattern, frame, frame_color, text, text_secondary, has_border, logo_url, error_correction, color_scope, title*, description, links, bg_color, text_color, domain, slug
get_pageGet one landing page's details: status, live URL, QR, and its blocks (each block's id + type) so you can edit it with update_page.
params: id*
update_pageChange an existing landing page without recreating it: edit its blocks, title, description, or colors, and publish/unpublish it. Use for 'fix the typo on my page', 'add a section', or 'take the page down'. If you pass `blocks`, provide the COMPLETE desired list (same {type, content} shape as build_page; include each block's `id` from get_page to keep it, omit to remove) — leaving `blocks` off keep
params: id*, title, description, blocks, bg_color, text_color, publish
delete_pageDelete a landing page. Its live URL stops serving and it leaves the workspace's page list. Use for 'delete that page' / 'remove the landing page'.
params: id*
list_pagesList the landing pages in a workspace, newest first.
params: workspace
list_block_typesList the page BLOCK TYPES available to build_page, each with its content JSON Schema. Call this first when composing a rich page so you know the vocabulary (header, link, text, image, button, video, gallery, faq, countdown, socials, divider, form, …).
params: none
get_short_linkGet one short link's details, destination, click counts, and QR.
params: id*
list_short_linksList short links in a workspace, newest first. Optional `query` searches URL, name, and slug.
params: workspace, query, page, page_size
update_short_linkUpdate a short link. Changing `link` retargets it — the short URL keeps working, it just points somewhere new. Also supports renaming and toggling location tracking.
params: id*, link, display_name, gps
delete_short_linkDelete a short link. It stops redirecting after deletion.
params: id*
get_short_link_activityList recent click events for a short link (time, location, device).
params: id*, page, page_size, start, end

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.