9 tools registered. Strongest in usefulness, weakest in human experience.
No agent run recorded yet.
generate_verified_qr: readOnlyHint=true; generate_bulk_qr: readOnlyHint=true// Set destructiveHint/idempotentHint to match what this tool actually does.
{ name: "generate_verified_qr", annotations: { destructiveHint: true } }generate_verified_qr, generate_bulk_qr, create_dynamic_qr, manage_dynamic_qr, create_dynamic_qr_campaign<!-- Give the tool a visible counterpart: a declarative form is one the person can see and use too. -->
<form toolname="generate_verified_qr" tooldescription="...">
<!-- the same action, as UI -->
</form>{
"name": "generate_verified_qr",
"description": "Generate a static QR asset, structurally review its payload, assess quiet zone and contrast settings, decode the final SVG, PNG, JPG, or WebP file, compare payload hashes, and return an evidence-linked receipt. Asset bytes are returned only when final-file decoding matches the requested payload.",
"inputSchema": {
"type": "object",
"properties": {
"value": {
"type": "string",
"minLength": 1,
"maxLength": 2048,
"description": "Exact QR payload to encode, such as an HTTPS URL, WIFI payload, vCard, calendar event, payment URI, or text."
},
"format": {
"type": "string",
"enum": [
"svg",
"png",
"jpg",
"webp"
],
"default": "png",
"description": "Output format to generate and decode. Verification supports SVG, PNG, JPG, and WebP."
},
"contentType": {
"type": "string",
"enum": [
"url",
"appstore",
"social",
"text",
"wifi",
"email",
"sms",
"phone",
"whatsapp",
"vcard",
"event",
"location",
"crypto",
"pix",
"upi",
"phonepe",
"swish",
"sepa",
"ideal",
"mobilepayvipps",
"qris",
"paypal",
"venmo",
"cashapp",
"promptpay",
"vietqr",
"swissqr"
],
"description": "Optional hint describing the QR payload type. This does not change generation behavior but helps agents choose examples and validation."
},
"size": {
"type": "integer",
"minimum": 256,
"maximum": 4096,
"default": 1024,
"description": "Requested output size in pixels for raster/SVG output or points for PDF/EPS."
},
"margin": {
"type": "integer",
"minimum": 0,
"maximum": 16,
"default": 4,
"description": "Quiet-zone margin around the QR code."
},
"fgColor": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$",
"default": "#000000",
"description": "Foreground color as a six-digit hex value."
},
"bgColor": {
"type": "string",
"pattern": "^#[0-9a-fA-F]{6}$",
"default": "#ffffff",
"description": "Background color as a six-digit hex value."
},
"errorCorrectionLevel": {
"type": "string",
"enum": [
"L",
"M",
"Q",
"H"
],
"default": "H",
"description": "QR error correction level. Use H when embedding logos."
},
"logo": {
"type": "string",
"maxLength": 1398230,
"pattern": "^data:image\\/(png|jpe?g|webp);base64,[A-Za-z0-9+/]+={0,2}$",
"description": "Optional PNG, JPG, or WebP data URL for a centered logo. Keep source files under 1MB."
}
},
"required": [
"value"
],
"additionalProperties": false
},
"annotations": {
"readOnlyHint": true,
"destructiveHint": false,
"idempotentHint": true,
"untrustedContentHint": true
}
}manage_qr_vault: registered at 1786.6850001811981ms// Register tools as soon as they're ready, not behind a deferred/async chunk.
document.modelContext.provideContext({ tools: [/* ... */] });create_qr_vault: 1 parameter has no description (name); manage_qr_vault: 9 parameters have no description (action, vaultId, managementToken, name){
name: "create_qr_vault",
inputSchema: {
type: "object",
properties: {
query: { type: "string", description: "What to search for" }
},
required: ["query"]
}
}generate_verified_qr: readOnlyHint=true; generate_bulk_qr: readOnlyHint=true// Set destructiveHint/idempotentHint to match what this tool actually does.
{ name: "generate_verified_qr", annotations: { destructiveHint: true } }document.modelContext.dispatchEvent(new Event("toolchange"));{ name: "manage_dynamic_qr" /* short, unique, verb-based */ }generate_verified_qr, generate_bulk_qr, create_dynamic_qr, manage_dynamic_qr, create_dynamic_qr_campaign<!-- Give the tool a visible counterpart: a declarative form is one the person can see and use too. -->
<form toolname="generate_verified_qr" tooldescription="...">
<!-- the same action, as UI -->
</form>