Create and manage dynamic QR codes, export QR images, compare scan analytics and check QR links.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer YOUR_QRTRACER_API_KEY for eligible Programmable accounts. Account OAuth is in controlled pilot. Protected operations require authorization; see the connection guide.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Check a public QR destination's current HTTP reachability, redirect chain and known general provider policies. Cannot determine exact expiry, account state or destination safety.
Check a public QR destination's current HTTP reachability, redirect chain and known general provider policies. Cannot determine exact expiry, account state or destination safety.
| Argument | Type | Description |
|---|---|---|
| url* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"maxLength": 4096,
"minLength": 1
}
}
}Compare aggregate human scan counts for 2 to 10 owned QR codes over the same period. Do not infer conversion rates without separate conversion data.
| Argument | Type | Description |
|---|---|---|
| to | string | |
| ids* | array | |
| days | integer | |
| from | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ids"
],
"properties": {
"to": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"ids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"maxItems": 10,
"minItems": 2
},
"days": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"from": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}Create a dynamic QR code for a public HTTP(S) destination. Supply a UUID request_key to safely retry authenticated creation. Anonymous creation is limited; ALWAYS show its returned claim_url to the user. Account creation uses existing plan limits.
| Argument | Type | Description |
|---|---|---|
| label | string | |
| design | object | |
| destination* | string | |
| request_key | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"destination"
],
"properties": {
"label": {
"type": "string",
"maxLength": 200
},
"design": {
"type": "object",
"properties": {
"bg": {
"type": "string",
"pattern": "^#[a-f0-9]{6}$"
},
"fg": {
"type": "string",
"pattern": "^#[a-f0-9]{6}$"
}
}
},
"destination": {
"type": "string",
"maxLength": 4096,
"minLength": 1
},
"request_key": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
}Read the connected account's plan and available capabilities. Does not include email or billing details.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Read aggregate recorded human scans for one owned code. Default period is 28 days; history follows the current plan. Scans are not conversions or unique people.
| Argument | Type | Description |
|---|---|---|
| id* | string | |
| to | string | |
| days | integer | |
| from | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"to": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
"days": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1
},
"from": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
}
}
}Inspect an owned QR code, destination, design, latest stored link health and revision. Read before updating.
| Argument | Type | Description |
|---|---|---|
| id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
}Find only your owned QR codes, with label search and stable cursor pagination.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| cursor | string | |
| search | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"search": {
"type": "string",
"maxLength": 100
}
}
}Preview and download an owned QR as PNG, or eligible SVG. Returns a short-lived download URL; do not expose private connection tokens. Existing anonymous PNG URLs remain supported.
| Argument | Type | Description |
|---|---|---|
| id* | string | |
| format | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"format": {
"enum": [
"png",
"svg"
],
"type": "string"
}
}
}Legacy Programmable tool: compile a plain-language routing prompt or save a valid supplied routing program on an owned code. Version conflicts require reading again.
| Argument | Type | Description |
|---|---|---|
| id* | string | |
| prompt | string | |
| program | object | |
| expected_program_version | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"prompt": {
"type": "string",
"maxLength": 4000,
"minLength": 1
},
"program": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"expected_program_version": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
}
}Dry-run a routing program against a sample scan context. Does not create a scan or change a code.
| Argument | Type | Description |
|---|---|---|
| context | object | |
| program* | object |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"program"
],
"properties": {
"context": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"program": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
}Change an owned QR destination without changing its printed redirect URL. Confirm the intended destination with the user. Supply expected_revision from get_qr_code; conflict means read again before retrying.
| Argument | Type | Description |
|---|---|---|
| id* | string | |
| destination* | string | |
| expected_revision | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id",
"destination"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"destination": {
"type": "string",
"maxLength": 4096,
"minLength": 1
},
"expected_revision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
}
}