Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

QR for Agent

NPM · QR-FOR-AGENT · SCANNED SEP 21

Dynamic QR codes for AI agents — custom styling, scan tracking, webhooks

Available components

0 this week 82 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 31 of 96 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability73
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 5326 tokens (~143/item across 37 items; 37 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
  • Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 3 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "delete_qr_code" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 37 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the QR for Agent MCP server?

QR for Agent runs locally as an npm package, launched with npx -y qr-for-agent. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · qr-for-agent

# add to Claude Code
claude mcp add benswel-qr-for-agent -- npx -y qr-for-agent
// .cursor/mcp.json
{
  "mcpServers": {
    "benswel-qr-for-agent": {
      "command": "npx",
      "args": [
        "-y",
        "qr-for-agent"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "benswel-qr-for-agent": {
      "command": "npx",
      "args": [
        "-y",
        "qr-for-agent"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add benswel-qr-for-agent -- npx -y qr-for-agent
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "benswel-qr-for-agent": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "qr-for-agent"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add benswel-qr-for-agent --command npx --arg -y --arg qr-for-agent
# ~/.hermes/config.yaml
mcp_servers:
  benswel-qr-for-agent:
    command: "npx"
    args: ["-y", "qr-for-agent"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "benswel-qr-for-agent": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "qr-for-agent"
      ]
    }
  }
}
# add to Vellum
assistant mcp add benswel-qr-for-agent -t stdio -c npx -a -y qr-for-agent
// mcp.json
{
  "mcpServers": {
    "benswel-qr-for-agent": {
      "command": "npx",
      "args": [
        "-y",
        "qr-for-agent"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 21 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 19 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

  • 17 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

  • 16 Sept 26 −3
    • Stability: pass → 0.80 functional
  • 15 Sept 26 0
    • Stability: 0.97 → pass security
  • 14 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.

  • 13 Sept 26 0
    • Security disclosure: unverified → fail functional
  • 12 Sept 26 +1
    • Security disclosure: fail → unverified functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 21 Sept 2026 · Analysed npm/qr-for-agent@0.12.2

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 96 packages
Packages resolved 96
Stale 31
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 37 exposed · ~5,326 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
bulk_create_from_csv ~114

Create up to 500 QR codes from CSV data. Pro plan required. Send the CSV content as a string. Required column: target_url. Optional columns: label, format, type, foreground_color, background_color, dot_style, corner_style, frame_style, frame_text, expires_at. Returns all created QR codes.

NameTypeReqDescription
csv_contentstringyesCSV content as a string with header row. Example: "target_url,label\nhttps://example.com,My QR\nhttps://other.com,Other QR"

No output schema declared.

No examples provided.

bulk_create_qr_codes ~96

Create multiple QR codes in a single request (up to 50). Each item supports the same options as create_qr_code. The quota check is all-or-nothing: if the batch would exceed your plan limit, no QR codes are created. Ideal for generating QR codes for product catalogs, event lists, or batch operations.

NameTypeReqDescription
itemsarrayyesArray of QR codes to create. Max 50 per request.

No output schema declared.

No examples provided.

bulk_delete_qr_codes ~67

Delete multiple QR codes and their scan analytics in a single request (up to 50). Items with non-existent short_id are reported as not_found without failing the whole batch.

NameTypeReqDescription
short_idsarrayyesArray of short_id strings to delete. Max 50 per request.

No output schema declared.

No examples provided.

bulk_update_qr_codes ~67

Update multiple QR codes in a single request (up to 50). Change target URLs and/or labels. Items with non-existent short_id are reported as not_found without failing the whole batch.

NameTypeReqDescription
itemsarrayyesArray of QR code updates. Max 50 per request.

No output schema declared.

No examples provided.

create_app_store_qr ~227

Create a QR code that redirects to the correct app store based on the device. iPhones go to the App Store, Android devices go to Google Play, and other devices go to the fallback URL. Provide at least one store URL.

NameTypeReqDescription
android_urlstringGoogle Play Store URL.
background_colorstringHex color for background.
corner_stylestringCorner shape.
dot_stylestringDot shape.
fallback_urlstringFallback URL for non-mobile devices.
foreground_colorstringHex color for dots.
formatstringImage format.
frame_colorstringFrame background color.
frame_stylestringFrame style around QR.
frame_textstringCTA text on frame (max 30 chars).
frame_text_colorstringFrame text color.
ios_urlstringApple App Store URL.
labelstringLabel for this QR code.
logo_urlstringLogo URL or data URI.

No output schema declared.

No examples provided.

create_email_qr ~223

Create a QR code that opens a pre-filled email when scanned. The recipient, subject, body, CC, and BCC can all be pre-set.

NameTypeReqDescription
background_colorstringHex color for background.
bccstringBCC recipient(s).
bodystringEmail body text.
ccstringCC recipient(s).
corner_stylestringCorner shape.
dot_stylestringDot shape.
foreground_colorstringHex color for dots.
formatstringImage format.
frame_colorstringFrame background color.
frame_stylestringFrame style around QR.
frame_textstringCTA text on frame (max 30 chars).
frame_text_colorstringFrame text color.
labelstringLabel for this QR code.
logo_urlstringLogo URL or data URI.
subjectstringEmail subject line.
tostringyesRecipient email address.

No output schema declared.

No examples provided.

create_event_qr ~247

Create a QR code that adds a calendar event when scanned. Encodes a standard iCalendar VEVENT that calendar apps can import.

NameTypeReqDescription
background_colorstringHex color for background.
corner_stylestringCorner shape.
descriptionstringEvent description.
dot_stylestringDot shape.
endstringyesEvent end date-time in ISO 8601 format.
foreground_colorstringHex color for dots.
formatstringImage format.
frame_colorstringFrame background color.
frame_stylestringFrame style around QR.
frame_textstringCTA text on frame (max 30 chars).
frame_text_colorstringFrame text color.
labelstringLabel for this QR code.
locationstringEvent location.
logo_urlstringLogo URL or data URI.
startstringyesEvent start date-time in ISO 8601 format (e.g. 2026-03-15T09:00:00Z).
summarystringyesEvent title/summary.

No output schema declared.

No examples provided.

create_location_qr ~208

Create a QR code that opens a map location when scanned. Encodes geographic coordinates that map apps can parse.

NameTypeReqDescription
background_colorstringHex color for background.
corner_stylestringCorner shape.
dot_stylestringDot shape.
foreground_colorstringHex color for dots.
formatstringImage format.
frame_colorstringFrame background color.
frame_stylestringFrame style around QR.
frame_textstringCTA text on frame (max 30 chars).
frame_text_colorstringFrame text color.
labelstringHuman-readable place name (shown on map).
latitudenumberyesGeographic latitude (-90 to 90).
logo_urlstringLogo URL or data URI.
longitudenumberyesGeographic longitude (-180 to 180).
qr_labelstringLabel for this QR code (internal).

No output schema declared.

No examples provided.

create_phone_qr ~176

Create a QR code that initiates a phone call when scanned. The phone number is encoded directly in the QR code.

NameTypeReqDescription
background_colorstringHex color for background.
corner_stylestringCorner shape.
dot_stylestringDot shape.
foreground_colorstringHex color for dots.
formatstringImage format.
frame_colorstringFrame background color.
frame_stylestringFrame style around QR.
frame_textstringCTA text on frame (max 30 chars).
frame_text_colorstringFrame text color.
labelstringLabel for this QR code.
logo_urlstringLogo URL or data URI.
phone_numberstringyesPhone number to call.

No output schema declared.

No examples provided.

create_qr_code ~617

Create a new managed QR code with optional custom styling. The QR code points to a short URL that redirects to your target URL. You can change the target URL later without regenerating the QR image. Supports custom colors, dot shapes, corner shapes, and logo embedding.

NameTypeReqDescription
background_colorstringHex color for QR code background. Default: #ffffff (white).
corner_stylestringShape of finder patterns (corner squares). square=classic, extra-rounded=smooth, dot=circular.
dot_stylestringShape of data modules. square=classic, rounded=soft corners, dots=circles, classy-rounded=organic.
error_correctionstringError correction level. L=7%, M=15% (default), Q=25%, H=30%. Auto-set to H when logo is provided.
expires_atstringISO 8601 date-time. After this date, scanning returns 410 Gone instead of redirecting.
foreground_colorstringHex color for QR code dots. Default: #000000 (black).
formatstringImage format. "svg" is recommended (smaller, scalable, text-parseable). Use "png" only if a bitmap is required.
frame_border_radiusnumberFrame corner radius. Only for 'rounded' style.
frame_colorstringHex color for frame background. Default: #000000.
frame_stylestringDecorative frame around QR. 'banner_bottom': text below, 'banner_top': text above, 'rounded': rounded border with text.
frame_textstringCTA text on the frame (e.g. 'Scan Me!', 'View Menu'). Max 30 chars. Requires frame_style.
frame_text_colorstringHex color for frame text. Default: #ffffff.
gradientobjectApply a gradient to QR dots and corners instead of solid foreground_color.
gtm_container_idstringGoogle Tag Manager container ID (e.g. 'GTM-ABC123'). Enables GTM tracking on QR scans via an intermediate HTML page.
labelstringAn optional label to identify this QR code.
logo_sizenumberLogo size as ratio of QR width (0.15-0.3). Default: 0.2.
logo_urlstringURL to a logo image (PNG/JPG/SVG) or data:base64 URI. Centered on the QR code.
marginnumberQuiet zone margin in modules. Default: 2.
scheduled_atstringISO 8601 date-time when target automatically switches to scheduled_url.
scheduled_urlstringReplacement URL that activates at scheduled_at.
target_urlstringyesThe destination URL the QR code should redirect to.
widthnumberQR code width in pixels. Default: 400.

No output schema declared.

No examples provided.

create_sms_qr ~189

Create a QR code that opens a pre-filled SMS message when scanned. Set the phone number and optional message text.

NameTypeReqDescription
background_colorstringHex color for background.
corner_stylestringCorner shape.
dot_stylestringDot shape.
foreground_colorstringHex color for dots.
formatstringImage format.
frame_colorstringFrame background color.
frame_stylestringFrame style around QR.
frame_textstringCTA text on frame (max 30 chars).
frame_text_colorstringFrame text color.
labelstringLabel for this QR code.
logo_urlstringLogo URL or data URI.
messagestringPre-filled SMS message text.
phone_numberstringyesPhone number to send SMS to.

No output schema declared.

No examples provided.

create_social_qr ~262

Create a QR code that links to social media profiles. When scanned via the short URL, returns a JSON object with all platform links. Provide at least one platform link.

NameTypeReqDescription
background_colorstringHex color for background.
corner_stylestringCorner shape.
dot_stylestringDot shape.
facebookstringFacebook profile/page URL.
foreground_colorstringHex color for dots.
formatstringImage format.
frame_colorstringFrame background color.
frame_stylestringFrame style around QR.
frame_textstringCTA text on frame (max 30 chars).
frame_text_colorstringFrame text color.
githubstringGitHub profile URL.
instagramstringInstagram profile URL.
labelstringLabel for this QR code.
linkedinstringLinkedIn profile URL.
logo_urlstringLogo URL or data URI.
tiktokstringTikTok profile URL.
twitterstringTwitter/X profile URL.
websitestringPersonal/company website URL.
youtubestringYouTube channel URL.

No output schema declared.

No examples provided.

create_text_qr ~182

Create a QR code that contains plain text. When scanned, the text is displayed directly. Useful for messages, notes, or any freeform content.

NameTypeReqDescription
background_colorstringHex color for background.
contentstringyesPlain text content to encode.
corner_stylestringCorner shape.
dot_stylestringDot shape.
foreground_colorstringHex color for dots.
formatstringImage format.
frame_colorstringFrame background color.
frame_stylestringFrame style around QR.
frame_textstringCTA text on frame (max 30 chars).
frame_text_colorstringFrame text color.
labelstringLabel for this QR code.
logo_urlstringLogo URL or data URI.

No output schema declared.

No examples provided.

create_vcard_qr ~268

Create a QR code that encodes a contact card (vCard). When scanned by a phone camera, it prompts the user to save the contact. Supports all standard vCard fields and custom QR styling.

NameTypeReqDescription
addressstringStreet address.
background_colorstringHex color for background.
corner_stylestringCorner shape.
dot_stylestringDot shape.
emailstringEmail address.
first_namestringyesContact first name.
foreground_colorstringHex color for dots.
formatstringImage format.
frame_colorstringFrame background color.
frame_stylestringFrame style around QR.
frame_textstringCTA text on frame (max 30 chars).
frame_text_colorstringFrame text color.
labelstringLabel for this QR code.
last_namestringyesContact last name.
logo_urlstringLogo URL or data URI.
notestringAdditional notes.
organizationstringCompany or organization.
phonestringPhone number.
titlestringJob title.
urlstringWebsite URL.

No output schema declared.

No examples provided.

create_webhook ~85

Register a webhook endpoint to receive real-time notifications when QR codes are scanned. Returns an HMAC-SHA256 secret for verifying webhook signatures — store it securely, it is only shown once.

NameTypeReqDescription
eventsarrayEvents to subscribe to. Currently supported: "qr.scanned".
urlstringyesThe endpoint URL that will receive POST requests with scan event data.

No output schema declared.

No examples provided.

create_wifi_qr ~251

Create a QR code that encodes WiFi credentials. When scanned by a phone camera, it offers to auto-join the WiFi network. No internet connection needed to join — the credentials are encoded directly in the QR image.

NameTypeReqDescription
background_colorstringHex color for background.
corner_stylestringCorner shape.
dot_stylestringDot shape.
encryptionstringEncryption type. Default: WPA.
foreground_colorstringHex color for dots.
formatstringImage format.
frame_colorstringFrame background color.
frame_stylestringFrame style around QR.
frame_textstringCTA text on frame (max 30 chars).
frame_text_colorstringFrame text color.
hiddenbooleanWhether the network is hidden. Default: false.
labelstringLabel for this QR code.
logo_urlstringLogo URL or data URI.
passwordstringWiFi password. Omit for open networks (use encryption='nopass').
ssidstringyesWiFi network name (SSID).

No output schema declared.

No examples provided.

delete_qr_code ~52

Permanently delete a QR code and all its scan analytics. The short URL will stop working immediately. This cannot be undone.

NameTypeReqDescription
short_idstringyesThe short ID of the QR code to delete.

No output schema declared.

No examples provided.

delete_webhook ~50

Delete a webhook endpoint and all its delivery logs. The endpoint will stop receiving events immediately.

NameTypeReqDescription
webhook_idnumberyesThe ID of the webhook to delete. Use list_webhooks to find IDs.

No output schema declared.

No examples provided.

get_conversions ~108

Get conversion statistics for a QR code. Returns total conversions, total value, breakdowns by event name, daily trends, and recent events. Use this to measure QR code ROI and understand which codes drive the most value.

NameTypeReqDescription
eventstringFilter by event name (e.g., 'purchase').
periodstringTime period for aggregations. Default: 30d.
short_idstringyesThe short_id of the QR code to get conversion stats for.

No output schema declared.

No examples provided.

get_custom_domain ~35

Get your current custom domain configuration and DNS verification status. Returns the domain, whether DNS is active or pending, and setup instructions.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_qr_analytics ~88

Get enriched scan analytics for a QR code. Returns total scans, daily trends, device/browser/country/referer breakdowns with percentages, and recent scan events with parsed user-agent and geo data.

NameTypeReqDescription
periodstringTime period for aggregations. Default: 30d.
short_idstringyesThe short ID of the QR code to get analytics for.

No output schema declared.

No examples provided.

get_qr_code ~51

Retrieve details of an existing QR code by its short ID. Returns the current target URL, metadata, and timestamps.

NameTypeReqDescription
short_idstringyesThe short ID of the QR code to look up.

No output schema declared.

No examples provided.

get_usage ~18

Get current usage and quota for your API key.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

list_qr_codes ~64

List all managed QR codes with pagination. Returns short IDs, target URLs, labels, and timestamps. Use this to browse or search for existing QR codes.

NameTypeReqDescription
limitnumberMax results to return.
offsetnumberNumber of results to skip.

No output schema declared.

No examples provided.

list_webhooks ~29

List all registered webhook endpoints for your API key. The HMAC secret is not included for security.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

manage_billing ~51

Open the Stripe billing portal to manage your subscription, update payment method, or cancel. Returns a portal URL — tell the user to open it in their browser. Only works if you have an active Pro subscription.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

record_conversion ~189

Record a post-scan conversion event (purchase, signup, etc.) for a QR code you own. Use this to track ROI — e.g., when a user scans a QR code and then makes a purchase, record a 'purchase' conversion with the order value. For client-side tracking without code, use the tracking pixel: <img src="https://yourhost/t/{short_id}?event=purchase&value=49.99">.

NameTypeReqDescription
eventstringyesThe conversion event name (e.g., "purchase", "signup", "add_to_cart"). Use consistent names to aggregate stats.
metadataobjectOptional JSON metadata (e.g., product ID, order number).
short_idstringyesThe short_id of the QR code this conversion is for.
valuenumberOptional monetary value of the conversion (e.g., 49.99).

No output schema declared.

No examples provided.

register ~47

Register for an API key. Provide your email to get a key immediately.

NameTypeReqDescription
emailstringyesYour email address.
labelstringAn optional label to identify this API key.

No output schema declared.

No examples provided.

set_custom_domain ~98

Set a custom domain for your QR code short URLs (Pro plan required). When set, all new QR codes will use https://your-domain.com/r/... instead of the default URL. You must configure DNS (CNAME) to point to the QR Agent server. Pass domain=null to remove the custom domain.

NameTypeReqDescription
domainstring|nullyesYour custom domain without protocol (e.g. 'qr.mybrand.com'). Pass null to remove.

No output schema declared.

No examples provided.

set_redirect_rules ~210

Set conditional redirect rules on a URL QR code. Rules are evaluated top-to-bottom; each rule has an array of conditions (AND logic) — all must match. First matching rule's URL is used. If no rule matches, the default target_url applies. Conditions: 'device' (mobile/tablet/desktop), 'os' (iOS/Android/Windows/macOS/Linux), 'country' (ISO alpha-2 like 'FR'), 'language' (ISO 639-1 like 'fr'), 'time_range' ({start:'09:00',end:'17:00',timezone:'Europe/Paris'}), 'ab_split' ({percentage:50}). Combine conditions in a single rule for AND logic (e.g. mobile + FR). Pass an empty array to remove all rules.

NameTypeReqDescription
rulesarrayyesArray of redirect rules. Empty array to clear all rules.
short_idstringyesThe short ID of the QR code (must be type='url').

No output schema declared.

No examples provided.

set_utm_params ~202

Set UTM tracking parameters on a URL QR code. These parameters are automatically appended to the target URL on every scan redirect. Use this to track QR code scans in Google Analytics or other analytics tools. Set 'clear' to true to remove all UTM parameters.

NameTypeReqDescription
campaignstringutm_campaign value (e.g. 'summer_2026').
clearbooleanSet to true to remove all UTM parameters from this QR code.
contentstringutm_content value (A/B test variant).
mediumstringutm_medium value (e.g. 'print', 'qr', 'social').
short_idstringyesThe short ID of the QR code (must be type='url').
sourcestringutm_source value (e.g. 'flyer', 'email', 'poster').
termstringutm_term value (paid search keyword).

No output schema declared.

No examples provided.

update_app_store_qr ~94

Update the app store URLs of an App Store QR code. Partial updates merge with existing data.

NameTypeReqDescription
android_urlstringGoogle Play Store URL.
fallback_urlstringFallback URL.
ios_urlstringApple App Store URL.
labelstringUpdate the label.
short_idstringyesThe short ID of the App Store QR code to update.

No output schema declared.

No examples provided.

update_qr_destination ~186

Change where an existing QR code redirects to. This is the key 'dynamic link' feature: the QR image stays the same, but scanning it will now go to the new URL. Ideal for updating campaigns, fixing broken links, or A/B testing.

NameTypeReqDescription
expires_atstring|nullISO 8601 expiration date. Set to null to remove expiration.
gtm_container_idGoogle Tag Manager container ID. Set to null to remove GTM tracking.
labelstringOptionally update the label too.
scheduled_atstring|nullISO 8601 activation date for scheduled_url. Set to null to cancel.
scheduled_urlScheduled replacement URL. Set to null to cancel.
short_idstringyesThe short ID of the QR code to update.
target_urlstringyesThe new destination URL.

No output schema declared.

No examples provided.

update_social_qr ~134

Update the social media links of a Social QR code. Partial updates merge with existing data.

NameTypeReqDescription
facebookstringFacebook URL.
githubstringGitHub URL.
instagramstringInstagram URL.
labelstringUpdate the label.
linkedinstringLinkedIn URL.
short_idstringyesThe short ID of the Social QR code to update.
tiktokstringTikTok URL.
twitterstringTwitter/X URL.
websitestringWebsite URL.
youtubestringYouTube URL.

No output schema declared.

No examples provided.

update_vcard_qr ~168

Update the contact details of a vCard QR code. Only works on QR codes created with type='vcard'. Partial updates merge with existing data. Note: updating vCard data changes the QR image content.

NameTypeReqDescription
addressstringStreet address.
emailstringEmail address.
first_namestringContact first name.
labelstringUpdate the label.
last_namestringContact last name.
notestringAdditional notes.
organizationstringCompany or organization.
phonestringPhone number.
short_idstringyesThe short ID of the vCard QR code to update.
titlestringJob title.
urlstringWebsite URL.

No output schema declared.

No examples provided.

update_wifi_qr ~117

Update the WiFi credentials of a WiFi QR code. Only works on QR codes created with type='wifi'. Note: updating WiFi data changes the QR image content.

NameTypeReqDescription
encryptionstringEncryption type.
hiddenbooleanWhether the network is hidden.
labelstringUpdate the label.
passwordstringWiFi password.
short_idstringyesThe short ID of the WiFi QR code to update.
ssidstringWiFi network name.

No output schema declared.

No examples provided.

upgrade_to_pro ~56

Upgrade to the Pro plan ($19/month) for unlimited QR codes, scans, and webhooks. Returns a Stripe Checkout URL — tell the user to open it in their browser to complete payment. The upgrade takes effect automatically after payment.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

Common questions

What is the QR for Agent MCP server?

QR for Agent is an MCP server listed in the public MCP registry as io.github.benswel/qr-for-agent. Dynamic QR codes for AI agents, custom styling, scan tracking, webhooks. This page covers its npm package (qr-for-agent).

Is the QR for Agent MCP server safe to use?

QR for Agent scores 82 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the QR for Agent MCP server expose?

QR for Agent exposes 37 tools: create_qr_code, get_qr_code, update_qr_destination, list_qr_codes, delete_qr_code, and 32 more. Their descriptions and schemas cost roughly 5,326 tokens of context every time the server is loaded.

Is the QR for Agent MCP server still maintained?

QR for Agent is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the QR for Agent MCP server under?

QR for Agent declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.