QRtracer
Create and manage dynamic QR codes, export QR images, compare scan analytics and check QR links.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"qrtracer": {
"url": "https://qrtracer.io/mcp"
}
}
}원격 엔드포인트
https://qrtracer.io/mcpstreamable-http할 수 있는 일
도구 목록
도구 (11)
🔴create_qr(destination, label, design, request_key)
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.
입력 스키마
{
"type": "object",
"properties": {
"destination": {
"type": "string",
"minLength": 1,
"maxLength": 4096
},
"label": {
"type": "string",
"maxLength": 200
},
"design": {
"type": "object",
"properties": {
"fg": {
"type": "string",
"pattern": "^#[a-f0-9]{6}$"
},
"bg": {
"type": "string",
"pattern": "^#[a-f0-9]{6}$"
}
}
},
"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)$"
}
},
"required": [
"destination"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_account
Read the connected account's plan and available capabilities. Does not include email or billing details.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_qr_codes(limit, cursor, search)
Find only your owned QR codes, with label search and stable cursor pagination.
입력 스키마
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"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
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_qr_code(id)
Inspect an owned QR code, destination, design, latest stored link health and revision. Read before updating.
입력 스키마
{
"type": "object",
"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)$"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴update_destination(id, destination, expected_revision)
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.
입력 스키마
{
"type": "object",
"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",
"minLength": 1,
"maxLength": 4096
},
"expected_revision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id",
"destination"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_analytics(id, days, from, to)
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.
입력 스키마
{
"type": "object",
"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)$"
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"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))$"
},
"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))$"
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢compare_qr_codes(ids, days, from, to)
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.
입력 스키마
{
"type": "object",
"properties": {
"ids": {
"minItems": 2,
"maxItems": 10,
"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)$"
}
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"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))$"
},
"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))$"
}
},
"required": [
"ids"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢render_qr(id, format)
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.
입력 스키마
{
"type": "object",
"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": {
"type": "string",
"enum": [
"png",
"svg"
]
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_qr_link(url)
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.
입력 스키마
{
"type": "object",
"properties": {
"url": {
"type": "string",
"minLength": 1,
"maxLength": 4096
}
},
"required": [
"url"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴set_routing(id, prompt, program, expected_program_version)
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.
입력 스키마
{
"type": "object",
"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",
"minLength": 1,
"maxLength": 4000
},
"program": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"expected_program_version": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"id"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢simulate_scan(program, context)
Dry-run a routing program against a sample scan context. Does not create a scan or change a code.
입력 스키마
{
"type": "object",
"properties": {
"program": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"context": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"program"
],
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거