Free styled QR codes, no key: URL, WiFi, contact, text, email. API key adds saved codes + analytics.
io.theqrcode/qr-code-generator MCP Server
The io.theqrcode/qr-code-generator Model Context Protocol (MCP) server generates QR codes. It supports QR content for URLs, WiFi, contact cards, and text. The server also provides scan analytics, allowing tracking related to generated QR codes.
๐ ๏ธ Key Features
Generate QR codes
QR types: URLs, WiFi, contact cards, and text
Scan analytics for generated QR codes
๐ Use Cases
Create QR codes for sharing URLs
Encode WiFi connection details in QR form
Publish contact cards as QR codes
Convert plain text into scannable QR codes
Track QR scans via scan analytics
โก Developer Benefits
Consistent QR-code generation for multiple data formats
Generate a QR code image. Use this whenever a user asks to create, make, or generate a QR code for a URL, website, WiFi network, contact card, email, or text. Returns a hosted image URL and a base64 PNG data URL for inline display. When authenticated, the QR code is saved to the user's account.
Parameters6
type
string
required
QR code type. Use 'url' for web links, 'wifi' for network credentials (format: WIFI:T:WPA;S:<ssid>;P:<password>;;), 'contact' for vCard data, 'text' for arbitrary strings, 'email' for email addresses. Note: 'email' requires a Bearer token โ it cannot be used with the public (unauthenticated) MCP session.
name
string
optional
Display name when saving via the authenticated API. If omitted, a name is derived from type and content.
content
string
required
The data to encode. Examples: 'https://example.com' for url, 'WIFI:T:WPA;S:MyNetwork;P:secret;;' for wifi, plain text for text type.
size
integer
optional
Output image size in pixels (64โ1024). Defaults to 256.
darkColor
string
optional
Hex color for dark QR modules, e.g. '#1a1a1a'. Defaults to '#000000'.
lightColor
string
optional
Hex color for the background, e.g. '#ffffff'. Defaults to '#FFFFFF'.
Raw schema
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"url",
"wifi",
"contact",
"text",
"email"
],
"description": "QR code type. Use 'url' for web links, 'wifi' for network credentials (format: WIFI:T:WPA;S:<ssid>;P:<password>;;), 'contact' for vCard data, 'text' for arbitrary strings, 'email' for email addresses. Note: 'email' requires a Bearer token โ it cannot be used with the public (unauthenticated) MCP session."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Display name when saving via the authenticated API. If omitted, a name is derived from type and content."
},
"content": {
"type": "string",
"minLength": 1,
"description": "The data to encode. Examples: 'https://example.com' for url, 'WIFI:T:WPA;S:MyNetwork;P:secret;;' for wifi, plain text for text type."
},
"size": {
"type": "integer",
"minimum": 64,
"maximum": 1024,
"description": "Output image size in pixels (64โ1024). Defaults to 256."
},
"darkColor": {
"type": "string",
"pattern": "^#[0-9A-Fa-f]{6}$",
"description": "Hex color for dark QR modules, e.g. '#1a1a1a'. Defaults to '#000000'."
},
"lightColor": {
"type": "string",
"pattern": "^#[0-9A-Fa-f]{6}$",
"description": "Hex color for the background, e.g. '#ffffff'. Defaults to '#FFFFFF'."
}
},
"required": [
"type",
"content"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
Any client supporting the MCP spec over streamable HTTP works. Restart the client after editing
config, then just ask: "Generate a QR code for https://example.com".
Tools
Three tools. All three are advertised to every session โ including anonymous ones, so directory
crawlers see the real surface โ but the two account tools refuse at call time without a key.
generate_qr_code โ free, no key
Param
Type
Required
Notes
type
url | wifi | contact | text | email
yes
email requires a key
content
string
yes
the data to encode
name
string
no
display name when saving to an account
size
int 64โ1024
no
default 256
darkColor
#RRGGBB
no
default #000000
lightColor
#RRGGBB
no
default #FFFFFF
Returns a hosted PNG URL plus a base64 data URL for inline display.
Anonymous โ the public keyless API, 100 requests/hour per IP. The hosted link is a 24-hour
preview; download the image rather than bookmarking the URL. The QR code itself never expires โ
it is the preview hosting that is temporary.
Authenticated โ the v1 API. The code is saved to your account permanently, rate limited by
key rather than IP, and email becomes available.
list_qr_codes โ Developer plan
Lists codes saved to your account. page, limit (1โ100), type filter.
get_analytics โ Developer plan
Scan analytics, account-wide or for one qrCodeId. timeRange: 1h, 1d, 7d, 30d
(default), 90d, 1y.
Returns total and unique scans, time, approximate location (country/city derived from IP โ regional,
not GPS), device and OS, and campaign. Static QR codes cannot be tracked; analytics require a dynamic
code.
Plans
Anonymous
Developer ($19/mo)
Pro ($29/mo)
generate_qr_code
โ url, wifi, contact, text
โ + email
โ + email
Codes saved to account
โ 24h preview link
โ permanent
โ permanent
list_qr_codes
โ
โ
โ
get_analytics
โ
โ
โ
MCP rate limit
100/hr per IP
2,000/hr per key
500/hr per key
MCP calls also count toward the key's 5,000/hr REST API limit; the MCP limit is a cap within it.
TheQRCode.io is a QR code generation and analytics platform: static and dynamic QR codes for URLs,
WiFi, vCard contacts and text, with scan analytics by time, device and approximate location. Static
codes never expire, and printed codes are never switched off to force an upgrade.