accueil / serveurs / Fichiers & Documents / com.hovercode/mcp
com.hovercode/mcp
serveur MCP (Model Context Protocol) · hovercode 1.0.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que com.hovercode/mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « com.hovercode/mcp » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 36 outils
- build_page≈ 1158 tokens
Build 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_block_types first to see every type and its content shape. Blocks render in order in a centered column; a 'header' block (name/bio/photo) is the profile.
Paramètres, retour & exemple (22)
Paramètresslug· string · optionnel
Custom URL slug (else auto-generated).text· string · optionnel
For the QR code this mints: Caption text; a frame that can show it is chosen automatically.frame· string · optionnel
For the QR code this mints: Frame slug, as in create_qr_code. Set `text` without a `frame` and one that can show it is chosen automatically.title· string · requis
The page title (browser tab + SEO).blocks· array · requis
Ordered page blocks. Each is {type, content}. See list_block_types.domain· string · optionnel
Custom domain (else a default is used).pattern· string · optionnel · Original | Squares | Circles | Lines | Triangles | Diamonds
For the QR code this mints: Module pattern style.publish· boolean · optionnel
Publish immediately (default true). false leaves it a draft.bg_color· string · optionnel
Hex page background color.logo_url· string · optionnel
For the QR code this mints: URL of a logo image to place in the center.eye_color· string · optionnel
For the QR code this mints: Hex color for the corner eyes, only if different from `primary_color`.eye_style· string · optionnel · Square | Rounded | Drop | Leaf
For the QR code this mints: Corner eye shape.workspace· string · optionnel
Workspace id. Optional when the account has one workspace; use list_workspaces to resolve otherwise.has_border· boolean · optionnel
For the QR code this mints: Draw a border around the code.text_color· string · optionnel
Hex text color.color_scope· string · optionnel · whole | pattern_only
For the QR code this mints: 'whole' (default) or 'pattern_only', as in create_qr_code.description· string · optionnel
Optional SEO/description text.frame_color· string · optionnel
For the QR code this mints: Hex color for the frame, only if different from `primary_color`.primary_color· string · optionnel
For the QR code this mints: Hex color for the QR pattern, e.g. #111111. Eyes and frame follow it automatically (rules as in create_qr_code).text_secondary· string · optionnel
For the QR code this mints: Secondary caption line, where the frame supports it.background_color· string · optionnel
For the QR code this mints: Hex background color, or 'transparent'.error_correction· string · optionnel
For the QR code this mints: QR error correction level (L, M, Q, H). Leave unset: it is chosen automatically (H with a logo, Q otherwise).
Exemple d'appel{"name": "build_page", "arguments": {"title": "texte", "blocks": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "slug": "texte", "error": {}, "qr_id": "texte", "blocks": 1, "published": true, "share_url": "texte", "workspace": "texte"}} - create_folder≈ 324 tokens
Create 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.
Paramètres, retour & exemple (3)
Paramètresname· string · requis
Folder name.parent· string · optionnel
Parent folder id or slug to nest under (optional).workspace· string · optionnel
Workspace id. Optional when the account has one workspace; use list_workspaces to resolve otherwise.
Exemple d'appel{"name": "create_folder", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "name": "texte", "path": "texte", "slug": "texte", "error": {}, "parent": "texte", "created": "texte", "code_count": 1}} - create_form≈ 2546 tokens
Create 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_style, frame, logo_url, …) here to style that code in the same call. Supports on-brand styling (theme/colors/logo), a `redirect_url` after submit, conditional logic (`show_when` on a field) and branching endings (`outcomes`), and a custom domain/slug. Publishing mints a dynamic short link and QR — always dynamic, no static option, since a form has to resolve somewhere live. Notifications are a separate, paid, verified-member setting. To change a form later, use update_form.
Paramètres, retour & exemple (27)
Paramètresslug· string · optionnel
Custom short-link slug (else auto-generated).text· string · optionnel
For the QR code this mints: Caption text; a frame that can show it is chosen automatically.frame· string · optionnel
For the QR code this mints: Frame slug, as in create_qr_code. Set `text` without a `frame` and one that can show it is chosen automatically.theme· string · optionnel · light | dark | minimal | bold
Named color preset. Explicit colors below override it.title· string · requis
The form's title.domain· string · optionnel
Custom domain to publish on (else a default is used).fields· array · requis
The fields to collect, in order.pattern· string · optionnel · Original | Squares | Circles | Lines | Triangles | Diamonds
For the QR code this mints: Module pattern style.bg_color· string · optionnel
Hex background color.logo_url· string · optionnel
URL of a logo image (JPEG/PNG/GIF/WebP) to show on the form.outcomes· array · optionnel
Pathways / branching endings. After submit the first outcome whose rules match decides the ending: its own thank-you title/message and/or a redirect_url (e.g. send people to a different product page per answer). If none match, the default thank-you page is shown.eye_color· string · optionnel
For the QR code this mints: Hex color for the corner eyes, only if different from `primary_color`.eye_style· string · optionnel · Square | Rounded | Drop | Leaf
For the QR code this mints: Corner eye shape.workspace· string · optionnel
Workspace id. Optional when the account has one workspace; use list_workspaces to resolve otherwise.has_border· boolean · optionnel
For the QR code this mints: Draw a border around the code.text_color· string · optionnel
Hex text color.color_scope· string · optionnel · whole | pattern_only
For the QR code this mints: 'whole' (default) or 'pattern_only', as in create_qr_code.description· string · optionnel
Optional description shown above the fields.frame_color· string · optionnel
For the QR code this mints: Hex color for the frame, only if different from `primary_color`.button_color· string · optionnel
Hex submit-button color.redirect_url· string · optionnel
URL to send respondents to after they submit.primary_color· string · optionnel
For the QR code this mints: Hex color for the QR pattern, e.g. #111111. Eyes and frame follow it automatically (rules as in create_qr_code).text_secondary· string · optionnel
For the QR code this mints: Secondary caption line, where the frame supports it.background_color· string · optionnel
For the QR code this mints: Hex background color, or 'transparent'.error_correction· string · optionnel
For the QR code this mints: QR error correction level (L, M, Q, H). Leave unset: it is chosen automatically (H with a logo, Q otherwise).button_text_color· string · optionnel
Hex button-text color.thank_you_message· string · optionnel
Shown after submitting (if no redirect).
Exemple d'appel{"name": "create_form", "arguments": {"title": "texte", "fields": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "logo": "texte", "error": {}, "qr_id": "texte", "title": "texte", "fields": [], "status": "texte", "created": "texte", "bg_color": "texte", "modified": "texte", "outcomes": [], "share_url": "texte"}} - create_page≈ 1135 tokens
Create 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.
Paramètres, retour & exemple (21)
Paramètresslug· string · optionnel
Custom URL slug (else auto-generated).text· string · optionnel
For the QR code this mints: Caption text; a frame that can show it is chosen automatically.frame· string · optionnel
For the QR code this mints: Frame slug, as in create_qr_code. Set `text` without a `frame` and one that can show it is chosen automatically.links· array · optionnel
The link buttons on the page, in order.title· string · requis
The page's heading.domain· string · optionnel
Custom page domain (else a default is used).pattern· string · optionnel · Original | Squares | Circles | Lines | Triangles | Diamonds
For the QR code this mints: Module pattern style.bg_color· string · optionnel
Hex background color.logo_url· string · optionnel
For the QR code this mints: URL of a logo image to place in the center.eye_color· string · optionnel
For the QR code this mints: Hex color for the corner eyes, only if different from `primary_color`.eye_style· string · optionnel · Square | Rounded | Drop | Leaf
For the QR code this mints: Corner eye shape.workspace· string · optionnel
Workspace id. Optional when the account has one workspace; use list_workspaces to resolve otherwise.has_border· boolean · optionnel
For the QR code this mints: Draw a border around the code.text_color· string · optionnel
Hex text color.color_scope· string · optionnel · whole | pattern_only
For the QR code this mints: 'whole' (default) or 'pattern_only', as in create_qr_code.description· string · optionnel
Optional text shown under the title.frame_color· string · optionnel
For the QR code this mints: Hex color for the frame, only if different from `primary_color`.primary_color· string · optionnel
For the QR code this mints: Hex color for the QR pattern, e.g. #111111. Eyes and frame follow it automatically (rules as in create_qr_code).text_secondary· string · optionnel
For the QR code this mints: Secondary caption line, where the frame supports it.background_color· string · optionnel
For the QR code this mints: Hex background color, or 'transparent'.error_correction· string · optionnel
For the QR code this mints: QR error correction level (L, M, Q, H). Leave unset: it is chosen automatically (H with a logo, Q otherwise).
Exemple d'appel{"name": "create_page", "arguments": {"title": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "svg": "texte", "slug": "texte", "error": {}, "links": [], "qr_id": "texte", "title": "texte", "blocks": [], "status": "texte", "created": "texte", "share_url": "texte", "description": "texte"}} - create_pdf_qr≈ 836 tokens
Create 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. Draws on the same free, per-workspace dynamic-code allowance as create_qr_code (list_workspaces' `dynamic_qr_limit`); past that limit this call fails asking for an upgrade, it isn't paid-only from the start.
Paramètres, retour & exemple (7)
Paramètrestags· array · optionnel
Labels to attach (created if new) so you can find these later — list_qr_codes and list_short_links search by tag.domain· string · optionnel
Custom short-link domain (list_workspaces shows the plan).pdf_url· string · optionnel
URL of a PDF to fetch and host. Use this or pdf_base64.filename· string · optionnel
Name for the stored file, e.g. 'menu.pdf'.workspace· string · optionnel
Workspace id. Optional when the account has one workspace; use list_workspaces to resolve otherwise.pdf_base64· string · optionnel
Base64-encoded PDF bytes (data-URI prefix allowed), max 20 MB. Or use pdf_url.display_name· string · optionnel
Internal name to find this code later.
Exemple d'appel{"name": "create_pdf_qr", "arguments": {"tags": [], "domain": "texte", "pdf_url": "texte", "filename": "texte", "workspace": "texte", "pdf_base64": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "png": "texte", "svg": "texte", "logo": "texte", "tags": [], "text": "texte", "error": {}, "frame": "texte", "vcard": {}, "folder": {}, "created": "texte", "dynamic": true}} - create_qr_code≈ 1938 tokens
Create 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. When the request doesn't make clear which one someone wants, don't guess: stop and ask this exact question, verbatim, before calling this tool — 'Should this be trackable and editable later, or fixed permanently once printed?' — then wait for the answer. Dynamic codes are included free up to a per-workspace limit (list_workspaces' `dynamic_qr_used`/`dynamic_qr_limit`) — not a paid-only feature; past that limit this call fails asking for an upgrade. Supports full design control (colors, pattern, eye style, frames with captions, logo). Not for Hovercode forms, pages, or short links: those already have their own QR code (returned as `qr_id` / `id`) — use download_qr or update_qr_code with that id instead.
Paramètres, retour & exemple (23)
Paramètrestags· array · optionnel
Labels to attach (created if new) so you can find these later — list_qr_codes and list_short_links search by tag.text· string · optionnel
Caption text. Renders on any frame that supports one; if `frame` isn't also given (or the one given can't show text), a frame that can is chosen automatically.frame· string · optionnel
Frame slug. A caption (`text`) works on any frame — set `text` without a `frame` and one that can show it is chosen automatically. Frames that show a caption: card, card-above, speech-bubble, speech-bubble-above.vcard· object · optionnel
Contact details for qr_type 'vCard' (use instead of qr_data). Scanning saves the contact to the phone. `dynamic: true` makes the card editable later.folder· string · optionnel
Folder id or slug to file the new code into (list_qr_codes shows each code's folder).dynamic· boolean · optionnel
Editable destination + scan tracking; can't be switched after creation. Free up to a per-plan limit, not paid-only. Default false (static: fixed forever, no tracking). Ask the user if their wording doesn't make the choice clear.pattern· string · optionnel · Original | Squares | Circles | Lines | Triangles | Diamonds
Module pattern style.qr_data· string · requis
What the code encodes: a URL for qr_type 'Link', or the text for qr_type 'Text'. For 'vCard' send `vcard` instead.qr_type· string · optionnel · Link | Text | vCard
QR content type. Default 'Link'. 'vCard' encodes a contact card from `vcard`.logo_url· string · optionnel
URL of a logo image to place in the center.template· string · optionnel
Workspace template id to apply as design defaults (list_templates).eye_color· string · optionnel
Hex color for the corner eyes, if different from `primary_color` (which they follow by default).eye_style· string · optionnel · Square | Rounded | Drop | Leaf
Corner eye shape.workspace· string · optionnel
Workspace id. Optional when the account has one workspace; use list_workspaces to resolve otherwise.has_border· boolean · optionnel
Draw a border around the code.color_scope· string · optionnel · whole | pattern_only
How far a `primary_color` change should reach; only relevant alongside `primary_color`. Default 'whole' matches whole-code language — 'make it red', 'make the QR code dark green' — so pattern, eyes, and frame all follow `primary_color` together. Set 'pattern_only' for language that names one part specifically — 'change the pattern color to red', 'just recolor the dots' — so eyes and frame are left exactly as they are.frame_color· string · optionnel
Hex color for the frame, if different from `primary_color` (which it follows by default).display_name· string · optionnel
Internal name to find this code later.gps_tracking· boolean · optionnel
Prompt scanners to share location (dynamic codes).primary_color· string · optionnel
Hex color for the QR pattern, e.g. #111111. Eyes and frame follow this automatically — one color request styles the whole code; only set `eye_color`/`frame_color` for a code that should use a *different* color for those, e.g. 'dark green with gold eyes'. See `color_scope` for language that names just the pattern.text_secondary· string · optionnel
Secondary caption line, where the frame supports it.background_color· string · optionnel
Hex background color, or 'transparent'.error_correction· string · optionnel
QR error correction level: L, M, Q, or H (higher tolerates more damage but is denser). Already handled automatically — the renderer uses H whenever the code has a logo, Q otherwise — so leave this unset by default, including when adding or changing a logo in this same call; only set it to deliberately override that automatic choice.
Exemple d'appel{"name": "create_qr_code", "arguments": {"qr_data": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "png": "texte", "svg": "texte", "logo": "texte", "tags": [], "text": "texte", "error": {}, "frame": "texte", "vcard": {}, "folder": {}, "created": "texte", "dynamic": true}} - create_qr_codes_bulk≈ 910 tokens
Create 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.
Paramètres, retour & exemple (19)
Paramètrestags· array · optionnel
Labels to attach (created if new) so you can find these later — list_qr_codes and list_short_links search by tag.text· string · optionnel
Caption text; a frame that can show it is chosen automatically.frame· string · optionnel
Frame slug, as in create_qr_code. Set `text` without a `frame` and one that can show it is chosen automatically.items· array · requis
URLs to encode. Each item is a URL string, or an object {url, display_name}.dynamic· boolean · optionnel
Make all of them editable + tracked; can't be switched after creation. Free up to a per-plan limit, not paid-only — a large batch can exceed it partway through, which shows up as per-item errors, not a whole-batch failure.pattern· string · optionnel · Original | Squares | Circles | Lines | Triangles | Diamonds
Module pattern style.logo_url· string · optionnel
URL of a logo image to place in the center.template· string · optionnel
Workspace template id to apply to all.eye_color· string · optionnel
Hex color for the corner eyes, only if different from `primary_color`.eye_style· string · optionnel · Square | Rounded | Drop | Leaf
Corner eye shape.workspace· string · optionnel
Workspace id. Optional when the account has one workspace; use list_workspaces to resolve otherwise.has_border· boolean · optionnel
Draw a border around the code.color_scope· string · optionnel · whole | pattern_only
'whole' (default) or 'pattern_only', as in create_qr_code.frame_color· string · optionnel
Hex color for the frame, only if different from `primary_color`.primary_color· string · optionnel
Hex color for the QR pattern, e.g. #111111. Eyes and frame follow it automatically (rules as in create_qr_code).text_secondary· string · optionnel
Secondary caption line, where the frame supports it.idempotency_key· string · optionnel
Optional client key to make retries safe: if a previous call used the same key (same workspace), the earlier result is replayed instead of creating duplicate codes. Use a fresh key per distinct batch.background_color· string · optionnel
Hex background color, or 'transparent'.error_correction· string · optionnel
QR error correction level (L, M, Q, H). Leave unset: it is chosen automatically (H with a logo, Q otherwise).
Exemple d'appel{"name": "create_qr_codes_bulk", "arguments": {"items": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"error": {}, "errors": [], "created": [], "failed_count": 1, "created_count": 1}} - create_short_link≈ 540 tokens
Create 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.
Paramètres, retour & exemple (7)
Paramètresgps· boolean · optionnel
Prompt visitors to share their location.link· string · requis
The destination URL to shorten.slug· string · optionnel
Custom slug (letters/numbers/hyphens) or auto-generated.tags· array · optionnel
Labels to attach (created if new) so you can find these later — list_qr_codes and list_short_links search by tag.domain· string · optionnel
Custom short-link domain; else a default is used.workspace· string · optionnel
Workspace id. Optional when the account has one workspace; use list_workspaces to resolve otherwise.display_name· string · optionnel
Internal name to find this link later.
Exemple d'appel{"name": "create_short_link", "arguments": {"link": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "gps": true, "png": "texte", "svg": "texte", "link": "texte", "slug": "texte", "error": {}, "domain": "texte", "created": "texte", "link_type": "texte", "short_url": "texte", "display_name": "texte"}} - delete_folder≈ 182 tokens
Delete a folder. The codes in it (and in its subfolders) are NOT deleted — they become unfiled — and its subfolders move up to its parent.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Folder id (from list_folders).
Exemple d'appel{"name": "delete_folder", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "error": {}, "deleted": true}} - delete_page≈ 179 tokens
Delete 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'.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Page id.
Exemple d'appel{"name": "delete_page", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "error": {}, "deleted": true}} - delete_qr_code≈ 159 tokens
Delete a QR code. Dynamic codes stop redirecting after deletion.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
QR code id.
Exemple d'appel{"name": "delete_qr_code", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "error": {}, "deleted": true}} - delete_short_link≈ 159 tokens
Delete a short link. It stops redirecting after deletion.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Short link id.
Exemple d'appel{"name": "delete_short_link", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "error": {}, "deleted": true}} - download_qr≈ 212 tokens
Get 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.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
QR code id.
Exemple d'appel{"name": "download_qr", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "error": {}, "png_url": "texte", "svg_url": "texte"}} - get_analytics≈ 490 tokens
Scan 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?'.
Paramètres, retour & exemple (5)
Paramètresid· string · optionnel
QR code id for per-code analytics; omit for workspace-wide.end· string · optionnel
Range end, ISO date/datetime. Defaults to now when only `start` is given.days· integer · optionnel
Look-back window in days (default 30, max 365).start· string · optionnel
Range start, ISO date or datetime (e.g. 2026-08-03 or 2026-08-03T14:00:00Z). Use start/end together for a fixed window instead of the rolling `days` look-back.workspace· string · optionnel
Workspace id. Optional when the account has one workspace; use list_workspaces to resolve otherwise.
Exemple d'appel{"name": "get_analytics", "arguments": {"id": "texte", "end": "texte", "days": 1, "start": "texte", "workspace": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"end": "texte", "error": {}, "start": "texte", "top_os": [], "top_codes": [], "workspace": "texte", "qr_code_id": "texte", "top_cities": [], "period_days": 1, "total_scans": 1, "scans_by_day": [], "top_browsers": []}} - get_form≈ 544 tokens
Get one form's details: status, response count, share link, and QR.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Form id.
Exemple d'appel{"name": "get_form", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "logo": "texte", "error": {}, "qr_id": "texte", "title": "texte", "fields": [], "status": "texte", "created": "texte", "bg_color": "texte", "modified": "texte", "outcomes": [], "share_url": "texte"}} - get_form_responses≈ 295 tokens
List 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?'.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
Form id.page· integer · optionnel
1-based page number.page_size· integer · optionnel
Responses per page (max 100, default 25).
Exemple d'appel{"name": "get_form_responses", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"next": "texte", "count": 1, "error": {}, "message": "texte", "results": [], "previous": "texte"}} - get_page≈ 324 tokens
Get 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.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Page id.
Exemple d'appel{"name": "get_page", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "svg": "texte", "slug": "texte", "error": {}, "links": [], "qr_id": "texte", "title": "texte", "blocks": [], "status": "texte", "created": "texte", "share_url": "texte", "description": "texte"}} - get_qr_activity≈ 353 tokens
List recent scan events for a dynamic QR code (time, location, device). Use this to answer questions like where or when a code was scanned.
Paramètres, retour & exemple (5)
Paramètresid· string · requis
QR code id.end· string · optionnel
Range end, ISO date/datetime. Defaults to now when only `start` is given.page· integer · optionnel
1-based page number.start· string · optionnel
Range start, ISO date or datetime (e.g. 2026-08-03 or 2026-08-03T14:00:00Z). Use start/end together for a fixed window instead of the rolling `days` look-back.page_size· integer · optionnel
Events per page (max 200, default 25).
Exemple d'appel{"name": "get_qr_activity", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"next": "texte", "count": 1, "error": {}, "results": [], "previous": "texte"}} - get_qr_code≈ 519 tokens
Get one QR code's details and scan analytics (total and unique scans), plus a rendered PNG.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
QR code id.
Exemple d'appel{"name": "get_qr_code", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "png": "texte", "svg": "texte", "logo": "texte", "tags": [], "text": "texte", "error": {}, "frame": "texte", "vcard": {}, "folder": {}, "created": "texte", "dynamic": true}} - get_short_link≈ 277 tokens
Get one short link's details, destination, click counts, and QR.
Paramètres, retour & exemple (1)
Paramètresid· string · requis
Short link id.
Exemple d'appel{"name": "get_short_link", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "gps": true, "png": "texte", "svg": "texte", "link": "texte", "slug": "texte", "error": {}, "domain": "texte", "created": "texte", "link_type": "texte", "short_url": "texte", "display_name": "texte"}} - get_short_link_activity≈ 338 tokens
List recent click events for a short link (time, location, device).
Paramètres, retour & exemple (5)
Paramètresid· string · requis
Short link id.end· string · optionnel
Range end, ISO date/datetime. Defaults to now when only `start` is given.page· integer · optionnel
1-based page number.start· string · optionnel
Range start, ISO date or datetime (e.g. 2026-08-03 or 2026-08-03T14:00:00Z). Use start/end together for a fixed window instead of the rolling `days` look-back.page_size· integer · optionnel
Events per page (max 200, default 25).
Exemple d'appel{"name": "get_short_link_activity", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"next": "texte", "count": 1, "error": {}, "results": [], "previous": "texte"}} - list_block_types≈ 183 tokens
List 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, …).
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_block_types", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"error": {}, "block_types": []}} - list_folders≈ 261 tokens
List 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.
Paramètres, retour & exemple (1)
Paramètresworkspace· string · optionnel
Workspace id. Optional when the account has one workspace; use list_workspaces to resolve otherwise.
Exemple d'appel{"name": "list_folders", "arguments": {"workspace": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"next": "texte", "count": 1, "error": {}, "results": [], "previous": "texte"}} - list_forms≈ 292 tokens
List the forms in a workspace, newest first. Optional `query` searches by title.
Paramètres, retour & exemple (4)
Paramètrespage· integer · optionnel
1-based page number.query· string · optionnel
Search term (matches the form title).page_size· integer · optionnel
Results per page (max 100, default 25).workspace· string · optionnel
Workspace id. Optional when the account has one workspace; use list_workspaces to resolve otherwise.
Exemple d'appel{"name": "list_forms", "arguments": {"page": 1, "query": "texte", "page_size": 1, "workspace": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"next": "texte", "count": 1, "error": {}, "results": [], "previous": "texte"}} - list_pages≈ 226 tokens
List the landing pages in a workspace, newest first.
Paramètres, retour & exemple (1)
Paramètresworkspace· string · optionnel
Workspace id. Optional when the account has one workspace; use list_workspaces to resolve otherwise.
Exemple d'appel{"name": "list_pages", "arguments": {"workspace": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"next": "texte", "count": 1, "error": {}, "results": [], "previous": "texte"}} - list_qr_codes≈ 462 tokens
List 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.
Paramètres, retour & exemple (8)
Paramètrespage· integer · optionnel
1-based page number.query· string · optionnel
Search term (destination, display name, or tag).folder· string · optionnel
Folder id or slug to filter by, or 'none' for codes in no folder.page_size· integer · optionnel
Results per page (max 200, default 25).workspace· string · optionnel
Workspace id. Optional when the account has one workspace; use list_workspaces to resolve otherwise.subfolders· boolean · optionnel
With `folder`, also include codes in its subfolders.include_tags· boolean · optionnel
Add each code's tags. (Each code's folder is always included.)include_scans· boolean · optionnel
Add total_scans and unique_scans (lifetime) to each code.
Exemple d'appel{"name": "list_qr_codes", "arguments": {"page": 1, "query": "texte", "folder": "texte", "page_size": 1, "workspace": "texte", "subfolders": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"next": "texte", "count": 1, "error": {}, "results": [], "previous": "texte"}} - list_short_links≈ 299 tokens
List short links in a workspace, newest first. Optional `query` searches URL, name, and slug.
Paramètres, retour & exemple (4)
Paramètrespage· integer · optionnel
1-based page number.query· string · optionnel
Search term (destination, name, or slug).page_size· integer · optionnel
Results per page (max 200, default 25).workspace· string · optionnel
Workspace id. Optional when the account has one workspace; use list_workspaces to resolve otherwise.
Exemple d'appel{"name": "list_short_links", "arguments": {"page": 1, "query": "texte", "page_size": 1, "workspace": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"next": "texte", "count": 1, "error": {}, "results": [], "previous": "texte"}} - list_tags≈ 252 tokens
List 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.
Paramètres, retour & exemple (1)
Paramètresworkspace· string · optionnel
Workspace id. Optional when the account has one workspace; use list_workspaces to resolve otherwise.
Exemple d'appel{"name": "list_tags", "arguments": {"workspace": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"next": "texte", "count": 1, "error": {}, "results": [], "previous": "texte"}} - list_templates≈ 241 tokens
List the workspace's saved QR design templates. Pass a template id to create_qr_code to reuse its branding.
Paramètres, retour & exemple (1)
Paramètresworkspace· string · optionnel
Workspace id. Optional when the account has one workspace; use list_workspaces to resolve otherwise.
Exemple d'appel{"name": "list_templates", "arguments": {"workspace": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"next": "texte", "count": 1, "error": {}, "results": [], "previous": "texte"}} - list_workspaces≈ 191 tokens
List 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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_workspaces", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"error": {}, "workspaces": [], "current_workspace": "texte"}} - set_workspace≈ 201 tokens
Switch 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`.
Paramètres, retour & exemple (1)
Paramètresworkspace· string · requis
Workspace id or name to switch to.
Exemple d'appel{"name": "set_workspace", "arguments": {"workspace": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "name": "texte", "error": {}, "current": true}} - update_folder≈ 291 tokens
Rename a folder and/or move it under another folder. `parent` 'none' moves it to the top level. Codes inside keep their filing.
Paramètres, retour & exemple (3)
Paramètresid· string · requis
Folder id (from list_folders).name· string · optionnel
New folder name.parent· string · optionnel
New parent folder id or slug, or 'none' for top level.
Exemple d'appel{"name": "update_folder", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "name": "texte", "path": "texte", "slug": "texte", "error": {}, "parent": "texte", "created": "texte", "code_count": 1}} - update_form≈ 1864 tokens
Change 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 live.
Paramètres, retour & exemple (14)
Paramètresid· string · requis
Form id.theme· string · optionnel · light | dark | minimal | bold
Named color preset. Explicit colors below override it.title· string · optionnel
New title.fields· array · optionnel
Complete desired field list (see note); create_form shape plus an optional `id`.status· string · optionnel · close | reopen
Close (stop responses) or reopen. When set, other edits are ignored.bg_color· string · optionnel
Hex background color.logo_url· string · optionnel
URL of a logo image (JPEG/PNG/GIF/WebP) to show on the form.outcomes· array · optionnel
Pathways / branching endings. After submit the first outcome whose rules match decides the ending: its own thank-you title/message and/or a redirect_url (e.g. send people to a different product page per answer). If none match, the default thank-you page is shown.text_color· string · optionnel
Hex text color.description· string · optionnel
New description.button_color· string · optionnel
Hex submit-button color.redirect_url· string · optionnel
URL to send respondents to after they submit.button_text_color· string · optionnel
Hex button-text color.thank_you_message· string · optionnel
Shown after submitting (if no redirect).
Exemple d'appel{"name": "update_form", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "logo": "texte", "error": {}, "qr_id": "texte", "title": "texte", "fields": [], "status": "texte", "created": "texte", "bg_color": "texte", "modified": "texte", "outcomes": [], "share_url": "texte"}} - update_page≈ 561 tokens
Change 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 keeps the existing blocks untouched. If the page is already published, edits are re-published so they go live; pass publish:false to take it offline.
Paramètres, retour & exemple (7)
Paramètresid· string · requis
Page id.title· string · optionnel
New page title.blocks· array · optionnel
Complete desired block list (see note); each is {type, content} + optional id.publish· boolean · optionnel
true = publish/re-publish so edits go live; false = take offline (draft).bg_color· string · optionnel
Hex page background color.text_color· string · optionnel
Hex text color.description· string · optionnel
New SEO/description text.
Exemple d'appel{"name": "update_page", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "error": {}, "blocks": [], "design": {}, "publish": {}, "layout_version": 1}} - update_qr_code≈ 1825 tokens
Update 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-rendered QR so you can preview the result. Any combination works in one call. Only include a design field when you actually intend to change it: every one you pass is applied exactly as given, even a color identical to what you set at creation — there's no way to tell 'leave this as-is' from 'set this back to what it already was'. In particular, someone may have since edited the design directly (a widget's own Edit panel can change eye/frame color, pattern, or frame without that edit ever appearing in this conversation) — resending a color or style you remember from an earlier turn will silently overwrite it. If you're not sure the design still matches what you last set, call get_qr_code first rather than restoring from memory.
Paramètres, retour & exemple (23)
Paramètresid· string · requis
QR code id.text· string · optionnel
Caption text. Renders on any frame that supports one; if `frame` isn't also given (or the one given can't show text), a frame that can is chosen automatically.frame· string · optionnel
Frame slug. A caption (`text`) works on any frame — set `text` without a `frame` and one that can show it is chosen automatically. Frames that show a caption: card, card-above, speech-bubble, speech-bubble-above.folder· string · optionnel
Move the code into this folder (id or slug from list_folders); 'none' unfiles it.pattern· string · optionnel · Original | Squares | Circles | Lines | Triangles | Diamonds
Module pattern style.qr_data· string · optionnel
New destination URL/text (dynamic codes only).add_tags· array · optionnel
Tag titles to add (created in the workspace if new).logo_url· string · optionnel
URL of a logo image to place in the center.eye_color· string · optionnel
Hex color for the corner eyes, if different from `primary_color` (which they follow by default).eye_style· string · optionnel · Square | Rounded | Drop | Leaf
Corner eye shape.has_border· boolean · optionnel
Draw a border around the code.logo_round· boolean · optionnel
Force the logo into a circle.color_scope· string · optionnel · whole | pattern_only
How far a `primary_color` change should reach; only relevant alongside `primary_color`. Default 'whole' matches whole-code language — 'make it red', 'make the QR code dark green' — so pattern, eyes, and frame all follow `primary_color` together. Set 'pattern_only' for language that names one part specifically — 'change the pattern color to red', 'just recolor the dots' — so eyes and frame are left exactly as they are.frame_color· string · optionnel
Hex color for the frame, if different from `primary_color` (which it follows by default).logo_base64· string · optionnel
A logo image as base64 (JPEG/PNG/GIF/WebP, under 2 MB; a data: URI prefix is fine) to place in the center — use `logo_url` instead whenever the image is reachable at a URL. Producing this string means generating it yourself as text, and a single dropped or altered character anywhere in a long base64 string corrupts everything after it — the code then renders with a blank space where the logo should be, discovered only after the fact. If a call with this fails validation (e.g. 'corrupted or incomplete'), that's very likely this happening — retry by generating the string again rather than assuming the source image is bad.remove_logo· boolean · optionnel
Remove the code's logo.remove_tags· array · optionnel
Tags to remove from this code, by title, slug, or id.display_name· string · optionnel
New internal name.gps_tracking· boolean · optionnel
Enable/disable location prompt.primary_color· string · optionnel
Hex color for the QR pattern, e.g. #111111. Eyes and frame follow this automatically — one color request styles the whole code; only set `eye_color`/`frame_color` for a code that should use a *different* color for those, e.g. 'dark green with gold eyes'. See `color_scope` for language that names just the pattern.text_secondary· string · optionnel
Secondary caption line, where the frame supports it.background_color· string · optionnel
Hex background color, or 'transparent'.error_correction· string · optionnel
QR error correction level: L, M, Q, or H (higher tolerates more damage but is denser). Already handled automatically — the renderer uses H whenever the code has a logo, Q otherwise — so leave this unset by default, including when adding or changing a logo in this same call; only set it to deliberately override that automatic choice.
Exemple d'appel{"name": "update_qr_code", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "png": "texte", "svg": "texte", "logo": "texte", "tags": [], "text": "texte", "error": {}, "frame": "texte", "vcard": {}, "folder": {}, "created": "texte", "dynamic": true}} - update_short_link≈ 359 tokens
Update a short link. Changing `link` retargets it — the short URL keeps working, it just points somewhere new. Also supports renaming and toggling location tracking.
Paramètres, retour & exemple (4)
Paramètresid· string · requis
Short link id.gps· boolean · optionnel
Enable/disable the location prompt.link· string · optionnel
New destination URL.display_name· string · optionnel
New internal name.
Exemple d'appel{"name": "update_short_link", "arguments": {"id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"id": "texte", "gps": true, "png": "texte", "svg": "texte", "link": "texte", "slug": "texte", "error": {}, "domain": "texte", "created": "texte", "link_type": "texte", "short_url": "texte", "display_name": "texte"}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».