{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_q2tjyjyzp8hf","handle":"com-hovercode-mcp","url":"https://wellknown.network/agents/com-hovercode-mcp","links":{"self":"https://wellknown.network/agents/com-hovercode-mcp/record.json","html":"https://wellknown.network/agents/com-hovercode-mcp","markdown":"https://wellknown.network/agents/com-hovercode-mcp/record.md","api":"https://wellknown.network/api/v1/agents/com-hovercode-mcp","status":"https://wellknown.network/api/v1/agents/com-hovercode-mcp/status","claim":"https://wellknown.network/agents/com-hovercode-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/com-hovercode-mcp/claim.json","badge":"https://wellknown.network/agents/com-hovercode-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/com-hovercode-mcp/history","tools":"https://wellknown.network/api/v1/agents/com-hovercode-mcp/tools"},"ard":{"identifier":"urn:air:hovercode.com:server:com-hovercode-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Hovercode","summary":"Create and manage QR codes, short links, landing pages, and forms in your Hovercode workspace.","description":"Create and manage QR codes, short links, landing pages, and forms in your Hovercode workspace.","publisher":{"name":"com.hovercode","url":null},"homepage":"https://hovercode.com/integrations/mcp/","repository":"https://github.com/Hovercode-Ltd/hovercode-mcp","version":"1.0.1","license":"MIT","protocols":["mcp"],"tags":["mcp","mcp-server","model-context-protocol","qr-code","qr-codes","dynamic-qr-code","qr-code-generator","short-links","url-shortener","landing-pages","forms","analytics","claude","cursor","hovercode"],"pricing":null,"endpoints":[{"url":"https://hovercode.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true},{"url":"npm:hovercode-mcp","type":"package_npm","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-14T18:52:19.658347Z","npmKeywords":["mcp","mcp-server","model-context-protocol","qr-code","qr-codes","dynamic-qr-code","qr-code-generator","short-links","url-shortener","landing-pages","forms","analytics","claude","cursor","hovercode"],"publishedAt":"2026-09-14T18:52:19.658347Z","registryName":"com.hovercode/mcp"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","license":"npm","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.writing","name":"Writing & Editing","confidence":0.54,"provenance":"derived"},{"slug":"ai.prompting","name":"Prompt Management","confidence":0.525,"provenance":"derived"},{"slug":"dev.project-management","name":"Project Management","confidence":0.51,"provenance":"derived"},{"slug":"infra.browser-automation","name":"Browser Automation","confidence":0.51,"provenance":"derived"},{"slug":"security.scanning","name":"Security Scanning","confidence":0.51,"provenance":"derived"}],"categories":["ai","content","dev","infra","security"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-10T00:29:06.122Z","lastProbedAt":"2026-10-10T00:29:06.122Z","statusComputedAt":"2026-10-10T00:30:06.429Z","reliability30d":{"probes":104,"successRate":1,"p50Ms":60,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":104,"ok":104,"authBoundaryOk":0,"serviceOk":104,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T00:29:06.122Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":52,"error":null,"detail":{"tools":[{"name":"list_workspaces","description":"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 `work"},{"name":"create_qr_code","description":"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`"},{"name":"build_page","description":"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 d"},{"name":"create_form","description":"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"},{"name":"get_analytics","description":"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 "},{"name":"list_qr_codes","description":"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"},{"name":"create_short_link","description":"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"},{"name":"set_workspace","description":"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 `works"},{"name":"create_qr_codes_bulk","description":"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,"},{"name":"download_qr","description":"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 sav"},{"name":"create_pdf_qr","description":"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 fi"},{"name":"get_qr_code","description":"Get one QR code's details and scan analytics (total and unique scans), plus a rendered PNG."},{"name":"update_qr_code","description":"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. Desi"},{"name":"delete_qr_code","description":"Delete a QR code. Dynamic codes stop redirecting after deletion."},{"name":"get_qr_activity","description":"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."},{"name":"list_templates","description":"List the workspace's saved QR design templates. Pass a template id to create_qr_code to reuse its branding."},{"name":"list_folders","description":"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 co"},{"name":"create_folder","description":"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,"},{"name":"update_folder","description":"Rename a folder and/or move it under another folder. `parent` 'none' moves it to the top level. Codes inside keep their filing."},{"name":"delete_folder","description":"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."},{"name":"list_tags","description":"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 searche"},{"name":"update_form","description":"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 y"},{"name":"list_forms","description":"List the forms in a workspace, newest first. Optional `query` searches by title."},{"name":"get_form","description":"Get one form's details: status, response count, share link, and QR."},{"name":"get_form_responses","description":"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?'."},{"name":"create_page","description":"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`; st"},{"name":"get_page","description":"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."},{"name":"update_page","description":"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 pag"},{"name":"delete_page","description":"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'."},{"name":"list_pages","description":"List the landing pages in a workspace, newest first."},{"name":"list_block_types","description":"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 (hea"},{"name":"get_short_link","description":"Get one short link's details, destination, click counts, and QR."},{"name":"list_short_links","description":"List short links in a workspace, newest first. Optional `query` searches URL, name, and slug."},{"name":"update_short_link","description":"Update a short link. Changing `link` retargets it — the short URL keeps working, it just points somewhere new. Also supports renaming and toggling location trac"},{"name":"delete_short_link","description":"Delete a short link. It stops redirecting after deletion."},{"name":"get_short_link_activity","description":"List recent click events for a short link (time, location, device)."}],"toolCount":36,"toolsHash":"787fc9b4f1057ddaf670422c4e5e5138769561ad3ddf72a40998cb41abfe2d0e","serverName":"hovercode","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T18:26:31.153Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":114,"error":null,"detail":{"tools":[{"name":"list_workspaces","description":"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 `work"},{"name":"create_qr_code","description":"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`"},{"name":"build_page","description":"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 d"},{"name":"create_form","description":"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"},{"name":"get_analytics","description":"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 "},{"name":"list_qr_codes","description":"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"},{"name":"create_short_link","description":"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"},{"name":"set_workspace","description":"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 `works"},{"name":"create_qr_codes_bulk","description":"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,"},{"name":"download_qr","description":"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 sav"},{"name":"create_pdf_qr","description":"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 fi"},{"name":"get_qr_code","description":"Get one QR code's details and scan analytics (total and unique scans), plus a rendered PNG."},{"name":"update_qr_code","description":"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. Desi"},{"name":"delete_qr_code","description":"Delete a QR code. Dynamic codes stop redirecting after deletion."},{"name":"get_qr_activity","description":"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."},{"name":"list_templates","description":"List the workspace's saved QR design templates. Pass a template id to create_qr_code to reuse its branding."},{"name":"list_folders","description":"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 co"},{"name":"create_folder","description":"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,"},{"name":"update_folder","description":"Rename a folder and/or move it under another folder. `parent` 'none' moves it to the top level. Codes inside keep their filing."},{"name":"delete_folder","description":"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."},{"name":"list_tags","description":"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 searche"},{"name":"update_form","description":"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 y"},{"name":"list_forms","description":"List the forms in a workspace, newest first. Optional `query` searches by title."},{"name":"get_form","description":"Get one form's details: status, response count, share link, and QR."},{"name":"get_form_responses","description":"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?'."},{"name":"create_page","description":"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`; st"},{"name":"get_page","description":"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."},{"name":"update_page","description":"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 pag"},{"name":"delete_page","description":"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'."},{"name":"list_pages","description":"List the landing pages in a workspace, newest first."},{"name":"list_block_types","description":"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 (hea"},{"name":"get_short_link","description":"Get one short link's details, destination, click counts, and QR."},{"name":"list_short_links","description":"List short links in a workspace, newest first. Optional `query` searches URL, name, and slug."},{"name":"update_short_link","description":"Update a short link. Changing `link` retargets it — the short URL keeps working, it just points somewhere new. Also supports renaming and toggling location trac"},{"name":"delete_short_link","description":"Delete a short link. It stops redirecting after deletion."},{"name":"get_short_link_activity","description":"List recent click events for a short link (time, location, device)."}],"toolCount":36,"toolsHash":"787fc9b4f1057ddaf670422c4e5e5138769561ad3ddf72a40998cb41abfe2d0e","serverName":"hovercode","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T11:26:02.743Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":83,"error":null,"detail":{"tools":[{"name":"list_workspaces","description":"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 `work"},{"name":"create_qr_code","description":"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`"},{"name":"build_page","description":"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 d"},{"name":"create_form","description":"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"},{"name":"get_analytics","description":"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 "},{"name":"list_qr_codes","description":"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"},{"name":"create_short_link","description":"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"},{"name":"set_workspace","description":"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 `works"},{"name":"create_qr_codes_bulk","description":"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,"},{"name":"download_qr","description":"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 sav"},{"name":"create_pdf_qr","description":"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 fi"},{"name":"get_qr_code","description":"Get one QR code's details and scan analytics (total and unique scans), plus a rendered PNG."},{"name":"update_qr_code","description":"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. Desi"},{"name":"delete_qr_code","description":"Delete a QR code. Dynamic codes stop redirecting after deletion."},{"name":"get_qr_activity","description":"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."},{"name":"list_templates","description":"List the workspace's saved QR design templates. Pass a template id to create_qr_code to reuse its branding."},{"name":"list_folders","description":"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 co"},{"name":"create_folder","description":"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,"},{"name":"update_folder","description":"Rename a folder and/or move it under another folder. `parent` 'none' moves it to the top level. Codes inside keep their filing."},{"name":"delete_folder","description":"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."},{"name":"list_tags","description":"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 searche"},{"name":"update_form","description":"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 y"},{"name":"list_forms","description":"List the forms in a workspace, newest first. Optional `query` searches by title."},{"name":"get_form","description":"Get one form's details: status, response count, share link, and QR."},{"name":"get_form_responses","description":"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?'."},{"name":"create_page","description":"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`; st"},{"name":"get_page","description":"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."},{"name":"update_page","description":"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 pag"},{"name":"delete_page","description":"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'."},{"name":"list_pages","description":"List the landing pages in a workspace, newest first."},{"name":"list_block_types","description":"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 (hea"},{"name":"get_short_link","description":"Get one short link's details, destination, click counts, and QR."},{"name":"list_short_links","description":"List short links in a workspace, newest first. Optional `query` searches URL, name, and slug."},{"name":"update_short_link","description":"Update a short link. Changing `link` retargets it — the short URL keeps working, it just points somewhere new. Also supports renaming and toggling location trac"},{"name":"delete_short_link","description":"Delete a short link. It stops redirecting after deletion."},{"name":"get_short_link_activity","description":"List recent click events for a short link (time, location, device)."}],"toolCount":36,"toolsHash":"a76bfc2859a441c91305ce07be42af95bfd6040c3490c926b3623bd662896344","serverName":"hovercode","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T04:28:42.999Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":66,"error":null,"detail":{"tools":[{"name":"list_workspaces","description":"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 `work"},{"name":"create_qr_code","description":"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`"},{"name":"build_page","description":"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 d"},{"name":"create_form","description":"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"},{"name":"get_analytics","description":"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 "},{"name":"list_qr_codes","description":"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"},{"name":"create_short_link","description":"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"},{"name":"set_workspace","description":"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 `works"},{"name":"create_qr_codes_bulk","description":"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,"},{"name":"download_qr","description":"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 sav"},{"name":"create_pdf_qr","description":"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 fi"},{"name":"get_qr_code","description":"Get one QR code's details and scan analytics (total and unique scans), plus a rendered PNG."},{"name":"update_qr_code","description":"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. Desi"},{"name":"delete_qr_code","description":"Delete a QR code. Dynamic codes stop redirecting after deletion."},{"name":"get_qr_activity","description":"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."},{"name":"list_templates","description":"List the workspace's saved QR design templates. Pass a template id to create_qr_code to reuse its branding."},{"name":"list_folders","description":"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 co"},{"name":"create_folder","description":"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,"},{"name":"update_folder","description":"Rename a folder and/or move it under another folder. `parent` 'none' moves it to the top level. Codes inside keep their filing."},{"name":"delete_folder","description":"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."},{"name":"list_tags","description":"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 searche"},{"name":"update_form","description":"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 y"},{"name":"list_forms","description":"List the forms in a workspace, newest first. Optional `query` searches by title."},{"name":"get_form","description":"Get one form's details: status, response count, share link, and QR."},{"name":"get_form_responses","description":"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?'."},{"name":"create_page","description":"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`; st"},{"name":"get_page","description":"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."},{"name":"update_page","description":"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 pag"},{"name":"delete_page","description":"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'."},{"name":"list_pages","description":"List the landing pages in a workspace, newest first."},{"name":"list_block_types","description":"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 (hea"},{"name":"get_short_link","description":"Get one short link's details, destination, click counts, and QR."},{"name":"list_short_links","description":"List short links in a workspace, newest first. Optional `query` searches URL, name, and slug."},{"name":"update_short_link","description":"Update a short link. Changing `link` retargets it — the short URL keeps working, it just points somewhere new. Also supports renaming and toggling location trac"},{"name":"delete_short_link","description":"Delete a short link. It stops redirecting after deletion."},{"name":"get_short_link_activity","description":"List recent click events for a short link (time, location, device)."}],"toolCount":36,"toolsHash":"a76bfc2859a441c91305ce07be42af95bfd6040c3490c926b3623bd662896344","serverName":"hovercode","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T21:24:04.384Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":63,"error":null,"detail":{"tools":[{"name":"list_workspaces","description":"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 `work"},{"name":"create_qr_code","description":"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`"},{"name":"build_page","description":"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 d"},{"name":"create_form","description":"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"},{"name":"get_analytics","description":"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 "},{"name":"list_qr_codes","description":"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"},{"name":"create_short_link","description":"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"},{"name":"set_workspace","description":"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 `works"},{"name":"create_qr_codes_bulk","description":"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,"},{"name":"download_qr","description":"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 sav"},{"name":"create_pdf_qr","description":"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 fi"},{"name":"get_qr_code","description":"Get one QR code's details and scan analytics (total and unique scans), plus a rendered PNG."},{"name":"update_qr_code","description":"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. Desi"},{"name":"delete_qr_code","description":"Delete a QR code. Dynamic codes stop redirecting after deletion."},{"name":"get_qr_activity","description":"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."},{"name":"list_templates","description":"List the workspace's saved QR design templates. Pass a template id to create_qr_code to reuse its branding."},{"name":"list_folders","description":"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 co"},{"name":"create_folder","description":"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,"},{"name":"update_folder","description":"Rename a folder and/or move it under another folder. `parent` 'none' moves it to the top level. Codes inside keep their filing."},{"name":"delete_folder","description":"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."},{"name":"list_tags","description":"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 searche"},{"name":"update_form","description":"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 y"},{"name":"list_forms","description":"List the forms in a workspace, newest first. Optional `query` searches by title."},{"name":"get_form","description":"Get one form's details: status, response count, share link, and QR."},{"name":"get_form_responses","description":"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?'."},{"name":"create_page","description":"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`; st"},{"name":"get_page","description":"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."},{"name":"update_page","description":"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 pag"},{"name":"delete_page","description":"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'."},{"name":"list_pages","description":"List the landing pages in a workspace, newest first."},{"name":"list_block_types","description":"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 (hea"},{"name":"get_short_link","description":"Get one short link's details, destination, click counts, and QR."},{"name":"list_short_links","description":"List short links in a workspace, newest first. Optional `query` searches URL, name, and slug."},{"name":"update_short_link","description":"Update a short link. Changing `link` retargets it — the short URL keeps working, it just points somewhere new. Also supports renaming and toggling location trac"},{"name":"delete_short_link","description":"Delete a short link. It stops redirecting after deletion."},{"name":"get_short_link_activity","description":"List recent click events for a short link (time, location, device)."}],"toolCount":36,"toolsHash":"a76bfc2859a441c91305ce07be42af95bfd6040c3490c926b3623bd662896344","serverName":"hovercode","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T15:23:22.549Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":108,"error":null,"detail":{"tools":[{"name":"list_workspaces","description":"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 `work"},{"name":"create_qr_code","description":"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`"},{"name":"build_page","description":"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 d"},{"name":"create_form","description":"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"},{"name":"get_analytics","description":"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 "},{"name":"list_qr_codes","description":"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"},{"name":"create_short_link","description":"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"},{"name":"set_workspace","description":"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 `works"},{"name":"create_qr_codes_bulk","description":"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,"},{"name":"download_qr","description":"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 sav"},{"name":"create_pdf_qr","description":"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 fi"},{"name":"get_qr_code","description":"Get one QR code's details and scan analytics (total and unique scans), plus a rendered PNG."},{"name":"update_qr_code","description":"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. Desi"},{"name":"delete_qr_code","description":"Delete a QR code. Dynamic codes stop redirecting after deletion."},{"name":"get_qr_activity","description":"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."},{"name":"list_templates","description":"List the workspace's saved QR design templates. Pass a template id to create_qr_code to reuse its branding."},{"name":"list_folders","description":"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 co"},{"name":"create_folder","description":"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,"},{"name":"update_folder","description":"Rename a folder and/or move it under another folder. `parent` 'none' moves it to the top level. Codes inside keep their filing."},{"name":"delete_folder","description":"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."},{"name":"list_tags","description":"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 searche"},{"name":"update_form","description":"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 y"},{"name":"list_forms","description":"List the forms in a workspace, newest first. Optional `query` searches by title."},{"name":"get_form","description":"Get one form's details: status, response count, share link, and QR."},{"name":"get_form_responses","description":"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?'."},{"name":"create_page","description":"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`; st"},{"name":"get_page","description":"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."},{"name":"update_page","description":"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 pag"},{"name":"delete_page","description":"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'."},{"name":"list_pages","description":"List the landing pages in a workspace, newest first."},{"name":"list_block_types","description":"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 (hea"},{"name":"get_short_link","description":"Get one short link's details, destination, click counts, and QR."},{"name":"list_short_links","description":"List short links in a workspace, newest first. Optional `query` searches URL, name, and slug."},{"name":"update_short_link","description":"Update a short link. Changing `link` retargets it — the short URL keeps working, it just points somewhere new. Also supports renaming and toggling location trac"},{"name":"delete_short_link","description":"Delete a short link. It stops redirecting after deletion."},{"name":"get_short_link_activity","description":"List recent click events for a short link (time, location, device)."}],"toolCount":36,"toolsHash":"a76bfc2859a441c91305ce07be42af95bfd6040c3490c926b3623bd662896344","serverName":"hovercode","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T08:28:45.743Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":83,"error":null,"detail":{"tools":[{"name":"list_workspaces","description":"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 `work"},{"name":"create_qr_code","description":"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`"},{"name":"build_page","description":"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 d"},{"name":"create_form","description":"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"},{"name":"get_analytics","description":"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 "},{"name":"list_qr_codes","description":"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"},{"name":"create_short_link","description":"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"},{"name":"set_workspace","description":"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 `works"},{"name":"create_qr_codes_bulk","description":"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,"},{"name":"download_qr","description":"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 sav"},{"name":"create_pdf_qr","description":"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 fi"},{"name":"get_qr_code","description":"Get one QR code's details and scan analytics (total and unique scans), plus a rendered PNG."},{"name":"update_qr_code","description":"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. Desi"},{"name":"delete_qr_code","description":"Delete a QR code. Dynamic codes stop redirecting after deletion."},{"name":"get_qr_activity","description":"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."},{"name":"list_templates","description":"List the workspace's saved QR design templates. Pass a template id to create_qr_code to reuse its branding."},{"name":"list_folders","description":"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 co"},{"name":"create_folder","description":"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,"},{"name":"update_folder","description":"Rename a folder and/or move it under another folder. `parent` 'none' moves it to the top level. Codes inside keep their filing."},{"name":"delete_folder","description":"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."},{"name":"list_tags","description":"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 searche"},{"name":"update_form","description":"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 y"},{"name":"list_forms","description":"List the forms in a workspace, newest first. Optional `query` searches by title."},{"name":"get_form","description":"Get one form's details: status, response count, share link, and QR."},{"name":"get_form_responses","description":"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?'."},{"name":"create_page","description":"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`; st"},{"name":"get_page","description":"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."},{"name":"update_page","description":"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 pag"},{"name":"delete_page","description":"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'."},{"name":"list_pages","description":"List the landing pages in a workspace, newest first."},{"name":"list_block_types","description":"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 (hea"},{"name":"get_short_link","description":"Get one short link's details, destination, click counts, and QR."},{"name":"list_short_links","description":"List short links in a workspace, newest first. Optional `query` searches URL, name, and slug."},{"name":"update_short_link","description":"Update a short link. Changing `link` retargets it — the short URL keeps working, it just points somewhere new. Also supports renaming and toggling location trac"},{"name":"delete_short_link","description":"Delete a short link. It stops redirecting after deletion."},{"name":"get_short_link_activity","description":"List recent click events for a short link (time, location, device)."}],"toolCount":36,"toolsHash":"a76bfc2859a441c91305ce07be42af95bfd6040c3490c926b3623bd662896344","serverName":"hovercode","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T01:22:32.199Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":58,"error":null,"detail":{"tools":[{"name":"list_workspaces","description":"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 `work"},{"name":"create_qr_code","description":"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`"},{"name":"build_page","description":"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 d"},{"name":"create_form","description":"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"},{"name":"get_analytics","description":"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 "},{"name":"list_qr_codes","description":"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"},{"name":"create_short_link","description":"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"},{"name":"set_workspace","description":"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 `works"},{"name":"create_qr_codes_bulk","description":"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,"},{"name":"download_qr","description":"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 sav"},{"name":"create_pdf_qr","description":"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 fi"},{"name":"get_qr_code","description":"Get one QR code's details and scan analytics (total and unique scans), plus a rendered PNG."},{"name":"update_qr_code","description":"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. Desi"},{"name":"delete_qr_code","description":"Delete a QR code. Dynamic codes stop redirecting after deletion."},{"name":"get_qr_activity","description":"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."},{"name":"list_templates","description":"List the workspace's saved QR design templates. Pass a template id to create_qr_code to reuse its branding."},{"name":"list_folders","description":"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 co"},{"name":"create_folder","description":"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,"},{"name":"update_folder","description":"Rename a folder and/or move it under another folder. `parent` 'none' moves it to the top level. Codes inside keep their filing."},{"name":"delete_folder","description":"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."},{"name":"list_tags","description":"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 searche"},{"name":"update_form","description":"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 y"},{"name":"list_forms","description":"List the forms in a workspace, newest first. Optional `query` searches by title."},{"name":"get_form","description":"Get one form's details: status, response count, share link, and QR."},{"name":"get_form_responses","description":"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?'."},{"name":"create_page","description":"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`; st"},{"name":"get_page","description":"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."},{"name":"update_page","description":"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 pag"},{"name":"delete_page","description":"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'."},{"name":"list_pages","description":"List the landing pages in a workspace, newest first."},{"name":"list_block_types","description":"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 (hea"},{"name":"get_short_link","description":"Get one short link's details, destination, click counts, and QR."},{"name":"list_short_links","description":"List short links in a workspace, newest first. Optional `query` searches URL, name, and slug."},{"name":"update_short_link","description":"Update a short link. Changing `link` retargets it — the short URL keeps working, it just points somewhere new. Also supports renaming and toggling location trac"},{"name":"delete_short_link","description":"Delete a short link. It stops redirecting after deletion."},{"name":"get_short_link_activity","description":"List recent click events for a short link (time, location, device)."}],"toolCount":36,"toolsHash":"a76bfc2859a441c91305ce07be42af95bfd6040c3490c926b3623bd662896344","serverName":"hovercode","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T19:24:41.802Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":82,"error":null,"detail":{"tools":[{"name":"list_workspaces","description":"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 `work"},{"name":"create_qr_code","description":"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`"},{"name":"build_page","description":"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 d"},{"name":"create_form","description":"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"},{"name":"get_analytics","description":"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 "},{"name":"list_qr_codes","description":"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"},{"name":"create_short_link","description":"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"},{"name":"set_workspace","description":"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 `works"},{"name":"create_qr_codes_bulk","description":"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,"},{"name":"download_qr","description":"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 sav"},{"name":"create_pdf_qr","description":"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 fi"},{"name":"get_qr_code","description":"Get one QR code's details and scan analytics (total and unique scans), plus a rendered PNG."},{"name":"update_qr_code","description":"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. Desi"},{"name":"delete_qr_code","description":"Delete a QR code. Dynamic codes stop redirecting after deletion."},{"name":"get_qr_activity","description":"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."},{"name":"list_templates","description":"List the workspace's saved QR design templates. Pass a template id to create_qr_code to reuse its branding."},{"name":"list_folders","description":"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 co"},{"name":"create_folder","description":"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,"},{"name":"update_folder","description":"Rename a folder and/or move it under another folder. `parent` 'none' moves it to the top level. Codes inside keep their filing."},{"name":"delete_folder","description":"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."},{"name":"list_tags","description":"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 searche"},{"name":"update_form","description":"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 y"},{"name":"list_forms","description":"List the forms in a workspace, newest first. Optional `query` searches by title."},{"name":"get_form","description":"Get one form's details: status, response count, share link, and QR."},{"name":"get_form_responses","description":"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?'."},{"name":"create_page","description":"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`; st"},{"name":"get_page","description":"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."},{"name":"update_page","description":"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 pag"},{"name":"delete_page","description":"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'."},{"name":"list_pages","description":"List the landing pages in a workspace, newest first."},{"name":"list_block_types","description":"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 (hea"},{"name":"get_short_link","description":"Get one short link's details, destination, click counts, and QR."},{"name":"list_short_links","description":"List short links in a workspace, newest first. Optional `query` searches URL, name, and slug."},{"name":"update_short_link","description":"Update a short link. Changing `link` retargets it — the short URL keeps working, it just points somewhere new. Also supports renaming and toggling location trac"},{"name":"delete_short_link","description":"Delete a short link. It stops redirecting after deletion."},{"name":"get_short_link_activity","description":"List recent click events for a short link (time, location, device)."}],"toolCount":36,"toolsHash":"a76bfc2859a441c91305ce07be42af95bfd6040c3490c926b3623bd662896344","serverName":"hovercode","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T12:31:51.333Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":62,"error":null,"detail":{"tools":[{"name":"list_workspaces","description":"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 `work"},{"name":"create_qr_code","description":"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`"},{"name":"build_page","description":"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 d"},{"name":"create_form","description":"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"},{"name":"get_analytics","description":"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 "},{"name":"list_qr_codes","description":"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"},{"name":"create_short_link","description":"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"},{"name":"set_workspace","description":"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 `works"},{"name":"create_qr_codes_bulk","description":"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,"},{"name":"download_qr","description":"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 sav"},{"name":"create_pdf_qr","description":"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 fi"},{"name":"get_qr_code","description":"Get one QR code's details and scan analytics (total and unique scans), plus a rendered PNG."},{"name":"update_qr_code","description":"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. Desi"},{"name":"delete_qr_code","description":"Delete a QR code. Dynamic codes stop redirecting after deletion."},{"name":"get_qr_activity","description":"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."},{"name":"list_templates","description":"List the workspace's saved QR design templates. Pass a template id to create_qr_code to reuse its branding."},{"name":"list_folders","description":"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 co"},{"name":"create_folder","description":"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,"},{"name":"update_folder","description":"Rename a folder and/or move it under another folder. `parent` 'none' moves it to the top level. Codes inside keep their filing."},{"name":"delete_folder","description":"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."},{"name":"list_tags","description":"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 searche"},{"name":"update_form","description":"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 y"},{"name":"list_forms","description":"List the forms in a workspace, newest first. Optional `query` searches by title."},{"name":"get_form","description":"Get one form's details: status, response count, share link, and QR."},{"name":"get_form_responses","description":"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?'."},{"name":"create_page","description":"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`; st"},{"name":"get_page","description":"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."},{"name":"update_page","description":"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 pag"},{"name":"delete_page","description":"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'."},{"name":"list_pages","description":"List the landing pages in a workspace, newest first."},{"name":"list_block_types","description":"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 (hea"},{"name":"get_short_link","description":"Get one short link's details, destination, click counts, and QR."},{"name":"list_short_links","description":"List short links in a workspace, newest first. Optional `query` searches URL, name, and slug."},{"name":"update_short_link","description":"Update a short link. Changing `link` retargets it — the short URL keeps working, it just points somewhere new. Also supports renaming and toggling location trac"},{"name":"delete_short_link","description":"Delete a short link. It stops redirecting after deletion."},{"name":"get_short_link_activity","description":"List recent click events for a short link (time, location, device)."}],"toolCount":36,"toolsHash":"a76bfc2859a441c91305ce07be42af95bfd6040c3490c926b3623bd662896344","serverName":"hovercode","capabilities":["tools","resources"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"list_workspaces","description":"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 `work"},{"name":"create_qr_code","description":"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`"},{"name":"build_page","description":"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 d"},{"name":"create_form","description":"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"},{"name":"get_analytics","description":"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 "},{"name":"list_qr_codes","description":"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"},{"name":"create_short_link","description":"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"},{"name":"set_workspace","description":"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 `works"},{"name":"create_qr_codes_bulk","description":"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,"},{"name":"download_qr","description":"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 sav"},{"name":"create_pdf_qr","description":"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 fi"},{"name":"get_qr_code","description":"Get one QR code's details and scan analytics (total and unique scans), plus a rendered PNG."},{"name":"update_qr_code","description":"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. Desi"},{"name":"delete_qr_code","description":"Delete a QR code. Dynamic codes stop redirecting after deletion."},{"name":"get_qr_activity","description":"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."},{"name":"list_templates","description":"List the workspace's saved QR design templates. Pass a template id to create_qr_code to reuse its branding."},{"name":"list_folders","description":"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 co"},{"name":"create_folder","description":"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,"},{"name":"update_folder","description":"Rename a folder and/or move it under another folder. `parent` 'none' moves it to the top level. Codes inside keep their filing."},{"name":"delete_folder","description":"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."},{"name":"list_tags","description":"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 searche"},{"name":"update_form","description":"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 y"},{"name":"list_forms","description":"List the forms in a workspace, newest first. Optional `query` searches by title."},{"name":"get_form","description":"Get one form's details: status, response count, share link, and QR."},{"name":"get_form_responses","description":"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?'."},{"name":"create_page","description":"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`; st"},{"name":"get_page","description":"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."},{"name":"update_page","description":"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 pag"},{"name":"delete_page","description":"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'."},{"name":"list_pages","description":"List the landing pages in a workspace, newest first."},{"name":"list_block_types","description":"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 (hea"},{"name":"get_short_link","description":"Get one short link's details, destination, click counts, and QR."},{"name":"list_short_links","description":"List short links in a workspace, newest first. Optional `query` searches URL, name, and slug."},{"name":"update_short_link","description":"Update a short link. Changing `link` retargets it — the short URL keeps working, it just points somewhere new. Also supports renaming and toggling location trac"},{"name":"delete_short_link","description":"Delete a short link. It stops redirecting after deletion."},{"name":"get_short_link_activity","description":"List recent click events for a short link (time, location, device)."}],"package":{"name":"hovercode-mcp","registry":"npm","observedAt":"2026-10-10T00:31:16.188Z","publishedAt":"2026-09-14T18:51:57.897Z","latestVersion":"1.0.1","weeklyDownloads":57},"toolSurface":{"id":"ts_bganvydeq8wu","endpointId":"ep_ux5r7af8pgmv","hash":"787fc9b4f1057ddaf670422c4e5e5138769561ad3ddf72a40998cb41abfe2d0e","toolCount":36,"serverName":"hovercode","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-09T18:26:31.170Z","lastSeenAt":"2026-10-10T00:29:06.129Z","observations":2,"toolNames":["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"],"distinctSurfaces":8},"endpointFacts":[{"id":"ep_ux5r7af8pgmv","url":"https://hovercode.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-06T12:27:42.735Z","auth":{"observedAt":"2026-10-06T12:27:42.814Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://hovercode.com/.well-known/oauth-protected-resource/mcp","resource":"https://hovercode.com/mcp/","authorizationServers":["https://hovercode.com"],"scopesSupported":["read","write"]},"authorizationServer":{"url":"https://hovercode.com/.well-known/oauth-authorization-server","issuer":"https://hovercode.com","grantTypesSupported":["authorization_code","refresh_token","client_credentials"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["client_secret_basic","client_secret_post","none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":null},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-06T12:27:42.856Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"hovercode.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-08-11T02:07:32.000Z","validTo":"2026-11-09T03:07:18.000Z","daysToExpiry":29,"sanCount":2,"fingerprint256":"16:80:35:0A:50:91:CE:24:40:A5:94:66:B7:FE:EC:9A:03:B9:1A:F2:A7:97:DB:3B:0E:48:7B:DB:45:3F:9B:ED"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"npm","key":"hovercode-mcp","url":"https://www.npmjs.com/package/hovercode-mcp","firstSeenAt":"2026-09-15T04:18:02.957Z","fetchedAt":"2026-10-09T23:21:57.882Z","normalizedAt":"2026-10-09T23:21:57.882Z"},{"source":"mcp_registry","key":"com.hovercode/mcp","url":"https://registry.modelcontextprotocol.io/v0/servers/com.hovercode%2Fmcp","firstSeenAt":"2026-09-11T17:21:33.463Z","fetchedAt":"2026-10-09T07:21:05.202Z","normalizedAt":"2026-10-09T07:21:05.202Z"}]},"firstSeenAt":"2026-09-11T17:21:33.463Z","updatedAt":"2026-10-10T00:31:16.188Z"}