• Getting started
    • Create your first code
    • Static vs dynamic codes
    • Plans and limits
  • QR codes
    • Code types
    • Editing a destination
    • Design and export
    • Folders, tags and placement
    • Pausing, archiving, expiry and scan limits
    • Code links
    • Custom domains
    • Safety checks and disabled codes
    • Put your menu behind a QR code
  • Analytics
    • What's tracked
    • History and plans
    • Exporting scans
  • Redirect rules
    • Conditions
    • A/B tests
    • Examples
  • Bio pages and lead capture
    • Create a bio page
    • Lead forms
    • Managing leads
  • Integrations
    • UTM tags
    • Google Analytics 4
    • Webhooks
    • Zapier
    • Bulk CSV import
  • Workspaces and team
    • Roles
    • Inviting people
    • Transferring ownership
    • Audit log
  • Reports
    • Schedule a report
    • Delivery, PDFs and unsubscribing
  • Billing
    • Upgrading and downgrading
    • Managing your subscription
  • Account and security
    • Signing in
    • Two-step verification
    • Deleting a workspace or account
  • REST API
    • Authentication
    • Errors and rate limits
    • Pagination
    • GET /me
    • Codes
    • A single code
    • Scan stats
    • Redirect rules
    • Bio pages
    • Leads
    • Hooks
    • Webhooks
  • AI assistants (MCP)
    • Connect Claude
    • Connect ChatGPT
    • Sign-in and access
    • Tools reference
    • Example prompts
    • Troubleshooting
    • Free static QR codes (no sign-in)

Tools reference

Every tool the DynaQR MCP server offers, with inputs, plan and what it changes.

The assistant picks these tools itself, so you don't need to name them. This page lists what each one does and what it changes.

ToolWhat it doesPlanChanges data
generate_static_qrDraws a static QR code imageAllNo
get_workspacePlan and dynamic code usageAllNo
list_codesFinds codes and their idsStarter+No
get_codeOne code, its rules and QR imageStarter+No
create_dynamic_codeCreates a dynamic URL codeStarter+Yes
update_destinationChanges where a code pointsStarter+Yes, overwrites
pause_codePauses or resumes a codeStarter+Yes, overwrites
get_scan_statsScans and breakdowns for a codeStarter+No
set_redirect_rulesReplaces a code's redirect rulesPro+Yes, overwrites
list_leadsReads lead form submissionsPro+No
export_leadsLeads as CSVPro+No
list_bio_pagesFinds bio pages and their idsStarter+No
create_bio_pageCreates a bio pageStarter+Yes
update_bio_pageEdits a bio pageStarter+Yes, overwrites

Every tool that changes data is marked so that assistants ask you before running it. Assistants that support confirmation forms also show a DynaQR form listing the exact change, and nothing changes unless you accept it.

Results include a short text summary for the assistant and structured data (ids, short links, numbers) it can use in follow-up steps. Tools that show a code also return the QR image as SVG.

generate_static_qr

Draws a QR code that contains the text or URL itself. Nothing is saved, the code can't be edited and scans aren't counted. It doesn't use a dynamic code slot. It also checks the design and passes on warnings such as low contrast.

Your assistant makes dynamic codes unless you ask for a static one. If it can't tell which you want, it asks first. Every static result ends with a warning that the code can't be changed once printed, and on the Free plan it also suggests a dynamic code. The same tool is available with no account on the free endpoint.

InputRequiredNotes
contentYesURL or text to encode, 1 to 2,000 characters
foregroundNoDot colour, hex like #000000
backgroundNoBackground colour, hex (default #ffffff)
dotStyleNosquare, rounded or dots
cornerStyleNosquare, rounded or dot
logoUrlNohttps URL of a logo for the centre
frameTextNoCall to action under the code, up to 24 characters, e.g. SCAN ME

Returns the image, the QR version (size), and any scannability warnings.

get_workspace

Returns the connected workspace's plan and how many dynamic code slots are used and available. No inputs.

list_codes

Lists dynamic codes, newest first, 100 per page, with id, status, destination, short link and tags. Archived codes are hidden unless you ask for archived ones.

InputRequiredNotes
searchNoPart of the name or short-link slug
statusNoactive, paused, archived or disabled
tagNoOnly codes with this tag
pageNoPage number, default 1

get_code

Shows one code: destination, status, short link, tags, created and updated dates, its redirect rules, and the QR image.

InputRequiredNotes
codeIdYesCode id from list_codes

create_dynamic_code

Creates a dynamic code that redirects to a URL and counts scans. Uses one dynamic code slot (Starter 25, Pro 100, Business 500). Returns the QR image, short link and id.

InputRequiredNotes
nameYesInternal name, 1 to 120 characters
urlYesDestination, http or https
placementNoWhere it will be printed, shown in reports
tagsNoUp to 20 tags

update_destination

Changes the destination of a URL code. Printed codes open the new destination. The result includes the previous URL, so you can ask the assistant to undo it.

InputRequiredNotes
codeIdYesCode id
urlYesNew destination, http or https

pause_code

Pauses a code (scans see a "temporarily unavailable" page) or resumes it.

InputRequiredNotes
codeIdYesCode id
pausedYestrue to pause, false to resume

get_scan_stats

Scans, unique visitors and bot scans excluded, plus the top countries, cities, devices, operating systems, sources and matched rules for one code. Limited to the plan's history: one year on Starter, unlimited on Pro and Business.

InputRequiredNotes
codeIdYesCode id
fromNoStart date (YYYY-MM-DD) or timestamp. Default: 30 days before to
toNoEnd date or timestamp. Default: now
topNoRows per breakdown, 1 to 10, default 5
includeDailyNoAlso return scans per day

set_redirect_rules

Replaces all redirect rules on a code. The assistant reads the current rules with get_code first and sends the full edited list; an empty list removes every rule. Conditions: country, region, city, device, language, time of day, days of the week and date range. Actions: redirect to a URL, or split traffic between 2 and 10 URLs for an A/B test. See Redirect rules in the API for the exact format.

InputRequiredNotes
codeIdYesCode id
rulesYesOrdered list of up to 50 rules; the first match wins

list_leads

Lists lead form submissions, newest first, 100 per page, with name, email, phone, message, the code and form they came from, and the country. Leads are personal data, so the assistant is told to show them only to you.

InputRequiredNotes
codeIdNoOnly leads from this code
formIdNoOnly leads from this form
fromNoReceived on or after (date or timestamp)
toNoReceived on or before (date or timestamp)
pageNoPage number, default 1

export_leads

Same inputs as list_leads. Returns the page as CSV with the columns received, first_name, last_name, email, phone, message, code, form. Values that a spreadsheet would treat as formulas are made safe.

list_bio_pages

Lists bio pages with id, title, theme and number of links, and the plan's page limit. No inputs.

create_bio_page

Creates a mobile link page. Counts toward the plan's bio page limit (Starter 3, Pro 10, Business unlimited). The page goes live when a code points at it, which you set in the dashboard.

InputRequiredNotes
nameYesInternal name, up to 120 characters
content.titleYesHeading, up to 80 characters
content.descriptionNoText under the heading, up to 300 characters
content.themeNominimal (default), midnight, cobalt, dusk, editorial, playful, grove or blush
content.linksNoUp to 30 buttons { label, url }, top to bottom. Labels up to 80 characters

update_bio_page

Edits a bio page. Only the fields sent change. links replaces all link buttons; text, images, video, social links and lead forms added in the dashboard stay as they are. Changes go live on every code that shows the page.

InputRequiredNotes
bioPageIdYesBio page id from list_bio_pages
nameNoNew internal name
content.titleNoNew heading
content.descriptionNoNew text; empty text clears it
content.themeNoNew theme
content.linksNoComplete new list of buttons; an empty list removes them
DynaQR
Help