QR for Agent
NPM · QR-FOR-AGENT · SCANNED SEP 21
Dynamic QR codes for AI agents — custom styling, scan tracking, webhooks
Available components
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
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 103 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
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
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
claude mcp add benswel-qr-for-agent -- npx -y qr-for-agent
{
"mcpServers": {
"benswel-qr-for-agent": {
"command": "npx",
"args": [
"-y",
"qr-for-agent"
]
}
}
} {
"servers": {
"benswel-qr-for-agent": {
"command": "npx",
"args": [
"-y",
"qr-for-agent"
]
}
}
} codex mcp add benswel-qr-for-agent -- npx -y qr-for-agent
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"benswel-qr-for-agent": {
"type": "local",
"command": [
"npx",
"-y",
"qr-for-agent"
],
"enabled": true
}
}
} openclaw mcp add benswel-qr-for-agent --command npx --arg -y --arg qr-for-agent
mcp_servers:
benswel-qr-for-agent:
command: "npx"
args: ["-y", "qr-for-agent"] {
"McpServers": {
"benswel-qr-for-agent": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"qr-for-agent"
]
}
}
} assistant mcp add benswel-qr-for-agent -t stdio -c npx -a -y qr-for-agent
{
"mcpServers": {
"benswel-qr-for-agent": {
"command": "npx",
"args": [
"-y",
"qr-for-agent"
]
}
}
} 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
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 →
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 →
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.
| Name | Type | Req | Description |
|---|---|---|---|
| csv_content | string | yes | CSV 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.
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | Array 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.
| Name | Type | Req | Description |
|---|---|---|---|
| short_ids | array | yes | Array 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.
| Name | Type | Req | Description |
|---|---|---|---|
| items | array | yes | Array 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.
| Name | Type | Req | Description |
|---|---|---|---|
| android_url | string | – | Google Play Store URL. |
| background_color | string | – | Hex color for background. |
| corner_style | string | – | Corner shape. |
| dot_style | string | – | Dot shape. |
| fallback_url | string | – | Fallback URL for non-mobile devices. |
| foreground_color | string | – | Hex color for dots. |
| format | string | – | Image format. |
| frame_color | string | – | Frame background color. |
| frame_style | string | – | Frame style around QR. |
| frame_text | string | – | CTA text on frame (max 30 chars). |
| frame_text_color | string | – | Frame text color. |
| ios_url | string | – | Apple App Store URL. |
| label | string | – | Label for this QR code. |
| logo_url | string | – | Logo 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.
| Name | Type | Req | Description |
|---|---|---|---|
| background_color | string | – | Hex color for background. |
| bcc | string | – | BCC recipient(s). |
| body | string | – | Email body text. |
| cc | string | – | CC recipient(s). |
| corner_style | string | – | Corner shape. |
| dot_style | string | – | Dot shape. |
| foreground_color | string | – | Hex color for dots. |
| format | string | – | Image format. |
| frame_color | string | – | Frame background color. |
| frame_style | string | – | Frame style around QR. |
| frame_text | string | – | CTA text on frame (max 30 chars). |
| frame_text_color | string | – | Frame text color. |
| label | string | – | Label for this QR code. |
| logo_url | string | – | Logo URL or data URI. |
| subject | string | – | Email subject line. |
| to | string | yes | Recipient 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.
| Name | Type | Req | Description |
|---|---|---|---|
| background_color | string | – | Hex color for background. |
| corner_style | string | – | Corner shape. |
| description | string | – | Event description. |
| dot_style | string | – | Dot shape. |
| end | string | yes | Event end date-time in ISO 8601 format. |
| foreground_color | string | – | Hex color for dots. |
| format | string | – | Image format. |
| frame_color | string | – | Frame background color. |
| frame_style | string | – | Frame style around QR. |
| frame_text | string | – | CTA text on frame (max 30 chars). |
| frame_text_color | string | – | Frame text color. |
| label | string | – | Label for this QR code. |
| location | string | – | Event location. |
| logo_url | string | – | Logo URL or data URI. |
| start | string | yes | Event start date-time in ISO 8601 format (e.g. 2026-03-15T09:00:00Z). |
| summary | string | yes | Event 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.
| Name | Type | Req | Description |
|---|---|---|---|
| background_color | string | – | Hex color for background. |
| corner_style | string | – | Corner shape. |
| dot_style | string | – | Dot shape. |
| foreground_color | string | – | Hex color for dots. |
| format | string | – | Image format. |
| frame_color | string | – | Frame background color. |
| frame_style | string | – | Frame style around QR. |
| frame_text | string | – | CTA text on frame (max 30 chars). |
| frame_text_color | string | – | Frame text color. |
| label | string | – | Human-readable place name (shown on map). |
| latitude | number | yes | Geographic latitude (-90 to 90). |
| logo_url | string | – | Logo URL or data URI. |
| longitude | number | yes | Geographic longitude (-180 to 180). |
| qr_label | string | – | Label 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.
| Name | Type | Req | Description |
|---|---|---|---|
| background_color | string | – | Hex color for background. |
| corner_style | string | – | Corner shape. |
| dot_style | string | – | Dot shape. |
| foreground_color | string | – | Hex color for dots. |
| format | string | – | Image format. |
| frame_color | string | – | Frame background color. |
| frame_style | string | – | Frame style around QR. |
| frame_text | string | – | CTA text on frame (max 30 chars). |
| frame_text_color | string | – | Frame text color. |
| label | string | – | Label for this QR code. |
| logo_url | string | – | Logo URL or data URI. |
| phone_number | string | yes | Phone 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.
| Name | Type | Req | Description |
|---|---|---|---|
| background_color | string | – | Hex color for QR code background. Default: #ffffff (white). |
| corner_style | string | – | Shape of finder patterns (corner squares). square=classic, extra-rounded=smooth, dot=circular. |
| dot_style | string | – | Shape of data modules. square=classic, rounded=soft corners, dots=circles, classy-rounded=organic. |
| error_correction | string | – | Error correction level. L=7%, M=15% (default), Q=25%, H=30%. Auto-set to H when logo is provided. |
| expires_at | string | – | ISO 8601 date-time. After this date, scanning returns 410 Gone instead of redirecting. |
| foreground_color | string | – | Hex color for QR code dots. Default: #000000 (black). |
| format | string | – | Image format. "svg" is recommended (smaller, scalable, text-parseable). Use "png" only if a bitmap is required. |
| frame_border_radius | number | – | Frame corner radius. Only for 'rounded' style. |
| frame_color | string | – | Hex color for frame background. Default: #000000. |
| frame_style | string | – | Decorative frame around QR. 'banner_bottom': text below, 'banner_top': text above, 'rounded': rounded border with text. |
| frame_text | string | – | CTA text on the frame (e.g. 'Scan Me!', 'View Menu'). Max 30 chars. Requires frame_style. |
| frame_text_color | string | – | Hex color for frame text. Default: #ffffff. |
| gradient | object | – | Apply a gradient to QR dots and corners instead of solid foreground_color. |
| gtm_container_id | string | – | Google Tag Manager container ID (e.g. 'GTM-ABC123'). Enables GTM tracking on QR scans via an intermediate HTML page. |
| label | string | – | An optional label to identify this QR code. |
| logo_size | number | – | Logo size as ratio of QR width (0.15-0.3). Default: 0.2. |
| logo_url | string | – | URL to a logo image (PNG/JPG/SVG) or data:base64 URI. Centered on the QR code. |
| margin | number | – | Quiet zone margin in modules. Default: 2. |
| scheduled_at | string | – | ISO 8601 date-time when target automatically switches to scheduled_url. |
| scheduled_url | string | – | Replacement URL that activates at scheduled_at. |
| target_url | string | yes | The destination URL the QR code should redirect to. |
| width | number | – | QR 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.
| Name | Type | Req | Description |
|---|---|---|---|
| background_color | string | – | Hex color for background. |
| corner_style | string | – | Corner shape. |
| dot_style | string | – | Dot shape. |
| foreground_color | string | – | Hex color for dots. |
| format | string | – | Image format. |
| frame_color | string | – | Frame background color. |
| frame_style | string | – | Frame style around QR. |
| frame_text | string | – | CTA text on frame (max 30 chars). |
| frame_text_color | string | – | Frame text color. |
| label | string | – | Label for this QR code. |
| logo_url | string | – | Logo URL or data URI. |
| message | string | – | Pre-filled SMS message text. |
| phone_number | string | yes | Phone 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.
| Name | Type | Req | Description |
|---|---|---|---|
| background_color | string | – | Hex color for background. |
| corner_style | string | – | Corner shape. |
| dot_style | string | – | Dot shape. |
| string | – | Facebook profile/page URL. | |
| foreground_color | string | – | Hex color for dots. |
| format | string | – | Image format. |
| frame_color | string | – | Frame background color. |
| frame_style | string | – | Frame style around QR. |
| frame_text | string | – | CTA text on frame (max 30 chars). |
| frame_text_color | string | – | Frame text color. |
| github | string | – | GitHub profile URL. |
| string | – | Instagram profile URL. | |
| label | string | – | Label for this QR code. |
| string | – | LinkedIn profile URL. | |
| logo_url | string | – | Logo URL or data URI. |
| tiktok | string | – | TikTok profile URL. |
| string | – | Twitter/X profile URL. | |
| website | string | – | Personal/company website URL. |
| youtube | string | – | YouTube 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.
| Name | Type | Req | Description |
|---|---|---|---|
| background_color | string | – | Hex color for background. |
| content | string | yes | Plain text content to encode. |
| corner_style | string | – | Corner shape. |
| dot_style | string | – | Dot shape. |
| foreground_color | string | – | Hex color for dots. |
| format | string | – | Image format. |
| frame_color | string | – | Frame background color. |
| frame_style | string | – | Frame style around QR. |
| frame_text | string | – | CTA text on frame (max 30 chars). |
| frame_text_color | string | – | Frame text color. |
| label | string | – | Label for this QR code. |
| logo_url | string | – | Logo 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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | – | Street address. |
| background_color | string | – | Hex color for background. |
| corner_style | string | – | Corner shape. |
| dot_style | string | – | Dot shape. |
| string | – | Email address. | |
| first_name | string | yes | Contact first name. |
| foreground_color | string | – | Hex color for dots. |
| format | string | – | Image format. |
| frame_color | string | – | Frame background color. |
| frame_style | string | – | Frame style around QR. |
| frame_text | string | – | CTA text on frame (max 30 chars). |
| frame_text_color | string | – | Frame text color. |
| label | string | – | Label for this QR code. |
| last_name | string | yes | Contact last name. |
| logo_url | string | – | Logo URL or data URI. |
| note | string | – | Additional notes. |
| organization | string | – | Company or organization. |
| phone | string | – | Phone number. |
| title | string | – | Job title. |
| url | string | – | Website 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.
| Name | Type | Req | Description |
|---|---|---|---|
| events | array | – | Events to subscribe to. Currently supported: "qr.scanned". |
| url | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| background_color | string | – | Hex color for background. |
| corner_style | string | – | Corner shape. |
| dot_style | string | – | Dot shape. |
| encryption | string | – | Encryption type. Default: WPA. |
| foreground_color | string | – | Hex color for dots. |
| format | string | – | Image format. |
| frame_color | string | – | Frame background color. |
| frame_style | string | – | Frame style around QR. |
| frame_text | string | – | CTA text on frame (max 30 chars). |
| frame_text_color | string | – | Frame text color. |
| hidden | boolean | – | Whether the network is hidden. Default: false. |
| label | string | – | Label for this QR code. |
| logo_url | string | – | Logo URL or data URI. |
| password | string | – | WiFi password. Omit for open networks (use encryption='nopass'). |
| ssid | string | yes | WiFi 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.
| Name | Type | Req | Description |
|---|---|---|---|
| short_id | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| webhook_id | number | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| event | string | – | Filter by event name (e.g., 'purchase'). |
| period | string | – | Time period for aggregations. Default: 30d. |
| short_id | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| period | string | – | Time period for aggregations. Default: 30d. |
| short_id | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| short_id | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max results to return. |
| offset | number | – | Number 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">.
| Name | Type | Req | Description |
|---|---|---|---|
| event | string | yes | The conversion event name (e.g., "purchase", "signup", "add_to_cart"). Use consistent names to aggregate stats. |
| metadata | object | – | Optional JSON metadata (e.g., product ID, order number). |
| short_id | string | yes | The short_id of the QR code this conversion is for. |
| value | number | – | Optional 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.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | Your email address. | |
| label | string | – | An 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.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string|null | yes | Your 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.
| Name | Type | Req | Description |
|---|---|---|---|
| rules | array | yes | Array of redirect rules. Empty array to clear all rules. |
| short_id | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| campaign | string | – | utm_campaign value (e.g. 'summer_2026'). |
| clear | boolean | – | Set to true to remove all UTM parameters from this QR code. |
| content | string | – | utm_content value (A/B test variant). |
| medium | string | – | utm_medium value (e.g. 'print', 'qr', 'social'). |
| short_id | string | yes | The short ID of the QR code (must be type='url'). |
| source | string | – | utm_source value (e.g. 'flyer', 'email', 'poster'). |
| term | string | – | utm_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.
| Name | Type | Req | Description |
|---|---|---|---|
| android_url | string | – | Google Play Store URL. |
| fallback_url | string | – | Fallback URL. |
| ios_url | string | – | Apple App Store URL. |
| label | string | – | Update the label. |
| short_id | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| expires_at | string|null | – | ISO 8601 expiration date. Set to null to remove expiration. |
| gtm_container_id | – | – | Google Tag Manager container ID. Set to null to remove GTM tracking. |
| label | string | – | Optionally update the label too. |
| scheduled_at | string|null | – | ISO 8601 activation date for scheduled_url. Set to null to cancel. |
| scheduled_url | – | – | Scheduled replacement URL. Set to null to cancel. |
| short_id | string | yes | The short ID of the QR code to update. |
| target_url | string | yes | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| string | – | Facebook URL. | |
| github | string | – | GitHub URL. |
| string | – | Instagram URL. | |
| label | string | – | Update the label. |
| string | – | LinkedIn URL. | |
| short_id | string | yes | The short ID of the Social QR code to update. |
| tiktok | string | – | TikTok URL. |
| string | – | Twitter/X URL. | |
| website | string | – | Website URL. |
| youtube | string | – | YouTube 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.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | – | Street address. |
| string | – | Email address. | |
| first_name | string | – | Contact first name. |
| label | string | – | Update the label. |
| last_name | string | – | Contact last name. |
| note | string | – | Additional notes. |
| organization | string | – | Company or organization. |
| phone | string | – | Phone number. |
| short_id | string | yes | The short ID of the vCard QR code to update. |
| title | string | – | Job title. |
| url | string | – | Website 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.
| Name | Type | Req | Description |
|---|---|---|---|
| encryption | string | – | Encryption type. |
| hidden | boolean | – | Whether the network is hidden. |
| label | string | – | Update the label. |
| password | string | – | WiFi password. |
| short_id | string | yes | The short ID of the WiFi QR code to update. |
| ssid | string | – | WiFi 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.
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.