QR Forge MCP server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| QRFORGE_API_URL | No | API base URL | https://qrforge.work |
| QRFORGE_API_TOKEN | Yes | Your QR Forge API token (required for local/stdio usage) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| whoamiA | Return the authenticated account's identity and QR-code count (GET /me). |
| list_api_tokensA | List the account's API tokens (secrets are never returned). |
| create_api_tokenB | Create a new API token. The full secret is returned exactly once. |
| revoke_api_tokenC | Revoke (delete) an API token by id. |
| list_qr_typesA | List available QR code types and their required fields (GET /qr/types). |
| list_qr_stylesA | List QR style presets and defaults (GET /qr/styles). |
| render_qrA | Render a styled QR code for an arbitrary URL without saving it. Returns a PNG image (format='png') or the SVG markup as text (format='svg'). |
| create_url_qrcodeA | Create a Website-link QR code. static=True encodes the URL directly (no redirect, no scan tracking, not editable); default is a tracked, editable dynamic link. |
| create_whatsapp_qrcodeB | Create a WhatsApp QR code from a wa.me link (tracked dynamic link). |
| create_wifi_qrcodeB | Create a Wi-Fi QR code (static; encodes credentials directly). auth is one of WPA, WPA3, WEP, nopass. |
| create_phone_qrcodeC | Create a phone-number QR code (static; dials when scanned). |
| create_email_qrcodeB | Create an email QR code (static; opens a prefilled email when scanned). |
| create_file_qrcodeA | Create a file/document QR code. Provide the file via file_path (local), file_url (downloaded by the server), or file_base64. Accepts images, PDF, Office, OpenDocument and text files up to 50 MB. |
| list_qrcodesA | List the account's QR codes with optional search (q matches name/filename), active filter, and pagination (limit max 100). Returns data + pagination. |
| get_qrcodeA | Get a single QR code's details by id. Use get_qrcode_png to view the image. |
| update_qrcodeA | Update a QR code's mutable fields. Only fields valid for the QR's type apply (e.g. target_url for url; ssid/auth/password/hidden for wifi). Set expires_in_days to 0/null to clear expiry. |
| delete_qrcodeB | Delete a QR code (and its underlying file, if any). |
| get_qrcode_pngB | Render a saved QR code as a PNG image using its stored style/logo. |
| get_qrcode_svgB | Return a saved QR code as SVG markup (text). |
| download_qrcode_fileA | Download a file-backed QR code's current file. With save_path, writes it there and returns the path; otherwise returns base64 (small files only). |
| replace_qrcode_fileC | Replace a file-backed QR code's file while keeping its QR/link unchanged. |
| set_qrcode_logoC | Set/replace a QR code's center logo (PNG, JPG, or WebP). |
| remove_qrcode_logoC | Remove a QR code's center logo. |
| get_qrcode_historyC | File-replacement history for a file-backed QR code (newest first). |
| get_qrcode_scansC | Scan analytics for a dynamic QR code: daily series + totals (days 1-365). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jkolarov/qrforge-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server