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.
AI agents use create_qr_code to create or update resources in QR for Agent — usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your QR for Agent environment.
| Parameter | Type | Required | Description |
|---|---|---|---|
label | string | — | An optional label to identify this QR code. |
width | number | — | QR code width in pixels. Default: 400. |
format | string | — | Image format. "svg" is recommended (smaller, scalable, text-parseable). Use "png" only if a bitmap is required. |
margin | number | — | Quiet zone margin in modules. Default: 2. |
gradient | object | — | Apply a gradient to QR dots and corners instead of solid foreground_color. |
logo_url | string | — | URL to a logo image (PNG/JPG/SVG) or data:base64 URI. Centered on the QR code. |
dot_style | string | — | Shape of data modules. square=classic, rounded=soft corners, dots=circles, classy-rounded=organic. |
logo_size | number | — | Logo size as ratio of QR width (0.15-0.3). Default: 0.2. |
expires_at | string | — | ISO 8601 date-time. After this date, scanning returns 410 Gone instead of redirecting. |
frame_text | string | — | CTA text on the frame (e.g. 'Scan Me!', 'View Menu'). Max 30 chars. Requires frame_style. |
target_url | string | Yes | The destination URL the QR code should redirect to. |
frame_color | string | — | Hex color for frame background. Default: #000000. |
Parameters from the server's own tool schema.
This tool creates and stores QR code records reversibly. It does not execute code, delete data irreversibly, move funds, or trigger external operations—it simply generates a new resource with configurable properties. Write is the appropriate category as the primary action is data creation.
From the tool's definition Creates a new managed QR code with optional custom styling—this is a create operation that generates new data records. The description explicitly states 'Create a new managed QR code' and references persistent storage (you can change the target URL later).
Risk signalsHigh parameter count (25 properties)
Attacks that exploit this kind of access
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. It is categorised as a Write tool in the QR for Agent MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
create_qr_code accepts 12 parameters: label, width, format, margin, gradient, logo_url, dot_style, logo_size, expires_at, frame_text, target_url, frame_color. Required: target_url. The full parameter table on this page comes from the server's own tool schema.
Register the QR for Agent MCP server in PolicyLayer and add a rule for create_qr_code: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches QR for Agent. Nothing to install.
create_qr_code is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the create_qr_code rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for create_qr_code. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
create_qr_code is provided by the QR for Agent MCP server (qr-for-agent). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Every MCP server has a record like this.
Type a name, get the same breakdown: verified identity, auth posture, risk grade, capabilities, recommended policy.
Teams ship this data inside their own products. See what a licence covers →