Scanova MCP Server for QR Code Management
Create and manage QR codes with the Scanova MCP server — generate, customize, and download codes using the Scanova API.
npx -y @trycon/scanova-mcpOverview
The Scanova MCP Server is a lightweight developer server that simplifies creating, customizing, and downloading QR codes using the Scanova API. It acts as a small API layer you can run alongside your application to centralize QR code generation logic, add app-specific defaults, and optionally persist metadata about created codes. By encapsulating interactions with the Scanova API, the server reduces repeated implementation effort across projects and makes it easier to swap or extend QR generation behavior.
This server is particularly useful for teams that need predictable programmatic access to QR code creation and management: web backends generating codes for campaigns, admin tools that issue event tickets or product labels, and integration scripts that produce code assets automatically. It exposes REST endpoints for common tasks (create, fetch, download, delete), supports format options (PNG, SVG, etc.), and can be customized by environment configuration or extended to use persistent storage.
Features
- Create QR codes through the Scanova API via a simple REST endpoint
- Customize payloads, templates, and output formats (PNG, SVG)
- Download generated QR images directly from the server
- Minimal setup: runs locally or in containers, configurable by environment variables
- Extensible: integrate persistent storage, add auth, or extend endpoints as needed
- Example client usage (curl / JS fetch) included for quick testing
Installation / Configuration
Prerequisites: Node.js (12+), npm or yarn, and a Scanova API key.
Clone and install:
Create and populate environment variables (copy the example .env file if provided):
# Edit .env to add your Scanova API key and optional settings
Typical .env variables:
PORT=3000
SCANOVA_API_KEY=your_scanova_api_key_here
DEFAULT_FORMAT=png
LOG_LEVEL=info
Start the server:
# or, for development:
The server will listen on the configured PORT (default 3000) and expose REST endpoints documented below.
Available Resources
API endpoints (example paths — adjust based on the actual server implementation):
| Method | Path | Description |
|---|---|---|
| POST | /api/qr | Create a new QR code (payload, template, format) |
| GET | /api/qr/:id | Retrieve metadata about a created QR code |
| GET | /api/qr/:id/download | Download the generated QR image (query: ?format=png |
| DELETE | /api/qr/:id | Delete a QR code (if persisted) |
Example: Create a QR code with curl
Example: Download a generated QR image
JavaScript fetch example:
;
;
json; // { id: '...', downloadUrl: '...' }
Available client helpers (if included in repo)
- Simple JS examples to call the endpoints
- Shell scripts for bulk generation
Use Cases
- Marketing campaigns: Automatically generate campaign-specific QR codes that embed tracking URLs or UTM parameters, then download PNGs for print and web assets.
- Event tickets & passes: Generate unique QR codes per attendee, store metadata (attendee id, event id), and serve downloadable assets for printing or mobile entry.
- Product labeling: Produce SVG or PNG QR codes in bulk for inventory tags or product packaging; integrate with label printing workflows.
- Digital business cards: Programmatically create personalized QR codes that link to vCards or personal landing pages and return optimized image formats for email signatures or web use.
Extensibility and Notes
- Storage: The server is typically shipped with an in-memory or file-based metadata option; you can plug in a database if you need durable records and auditing.
- Authentication: For production deployments add authentication or API keys to the server endpoints to prevent misuse.
- Error handling: The server proxies errors from the Scanova API; inspect logs or response body for details on failures (e.g., invalid API key, bad payload).
- Rate limits: Respect Scanova API rate limits; add retry/backoff logic if generating large batches.
Resources
- Source code and issues: https://github.com/trycon/scanova-mcp
- Scanova API documentation: https://scanova.io (refer to their API docs for exact payloads and capabilities)