Manage QR Codes via Scanova API
Scanova MCP Server lets AI IDEs create, design, and manage Scanova QR codes, folders, lead forms, and analytics via the Scanova API.
1.0.0Add to Favorites
Why it matters
Integrate with the Scanova API to programmatically create, manage, and download QR codes. This asset provides tools for developers to automate QR code generation and management within their IDEs.
Outcomes
What it gets done
Create new QR codes with custom URLs.
List, update, and retrieve existing QR codes.
Download QR code images in various formats.
Activate and deactivate QR codes.
Source
Get it from source
Spark does not host a copy of it.
Open sourceReports
Agent outcome reports
No reports yet
Capabilities
Tools your agent gets
Create a new QR code
Show existing QR codes
Update an existing QR code
Get QR code details
Download QR code image
Activate a QR code
Deactivate a QR code
Overview
Scanova MCP Server
Scanova MCP Server gives an AI IDE full control over a Scanova QR code account through the Scanova API: creating and designing QR codes, organizing them into folders, managing lead-capture forms, exporting analytics, and administering users. A documentation bridge also lets the agent query Scanova's own docs. Use it when an agent needs to manage an existing Scanova account's QR codes, leads, or analytics; it requires a Scanova API key and account, not a standalone QR generator.
What it does
Scanova MCP Server lets AI IDEs like Cursor, VS Code, and Claude Desktop manage a Scanova QR code account through the Scanova API: creating, designing, and running the full lifecycle of QR codes; organizing them into folders; managing lead-capture forms and lead lists; pulling analytics; and administering account users - plus a documentation bridge that lets the agent query Scanova's own docs via a second MCP server.
When to use - and when NOT to
Use it when an agent needs to create, customize, activate/deactivate, or delete QR codes on your behalf, organize them into folders, attach lead-capture forms or lead lists to them, pull scan analytics, or manage who has account access - all through your existing Scanova account rather than the Scanova web dashboard. It requires a Scanova API key from app.scanova.io and an MCP-compatible IDE.
Don't use it if you don't already have (or want) a Scanova account - it's a management layer over the Scanova platform specifically, not a general QR-code generator, and every tool call operates against your live Scanova data.
Capabilities
QR code management covers creating, listing, updating, retrieving, activating/deactivating, and permanently deleting QR codes, downloading them as PNG/JPG/PDF/SVG/EPS or a print-optimized PDF, browsing QR categories (URL, vCard, WiFi, etc.), and attaching or detaching lead-capture forms and lead lists. QR design tools list available visual options (patterns, eye shapes, frames, gradients, error correction) and apply a chosen design to an existing code. Folder management creates, lists, updates, and deletes folders, and moves or unassigns QR codes between them. Forms and lead lists can be listed, retrieved, updated, and deleted independently of any QR code. Analytics tools pull account-level usage stats and per-QR performance metrics by device, geography, and date, and export reports as XLSX/PDF or raw scan logs as CSV/XLSX. Account administration lists users and roles, invites or removes users, and updates role assignments. A documentation bridge (probe_docs_mcp, query_docs) checks connectivity to and queries Scanova's own docs MCP server.
How to install
Get an API key at https://app.scanova.io/settings/api, then add the server to your IDE's MCP config. For Cursor (~/.cursor/mcp.json), VS Code (~/.vscode/mcp.json), or Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json), the configuration is identical across all three:
{
"mcpServers": {
"scanova-mcp": {
"transport": "http",
"url": "https://mcp.scanova.io/mcp",
"headers": {
"Authorization": "YOUR_SCANOVA_API_KEY_HERE"
}
}
}
}
For local development, clone the repository, run uv sync, then start it with uv run cloud_server.py for HTTP mode or uv run main.py for stdio mode; a Docker image can also be built with docker build -t mcpserver:local . and run with docker run -d --name mcpserver -p 8000:8000 mcpserver:local or docker compose up -d, verified with curl http://localhost:8000/health. The deployed server exposes POST /mcp as the main JSON-RPC endpoint, GET /health for health checks, and GET / for service info. The project is MIT licensed.
Who it's for
Teams and marketers running Scanova QR code campaigns who want an AI agent to create and manage QR codes, lead-capture forms, folders, and analytics directly from their IDE instead of the Scanova web dashboard.
Source README
Scanova MCP Server
A Model Context Protocol (MCP) server for managing your Scanova QR code platform using the Scanova API. This server provides tools for QR code creation, design, and lifecycle management; folder organization; lead-capture forms and lead lists; analytics exports; and account user administration, through MCP-compatible IDEs like Cursor, VS Code, and Claude Desktop.
Features
- ✅ QR Codes: Create, list, retrieve, update, activate/deactivate, and delete QR codes; download them as PNG/JPG/PDF/SVG/EPS or as print-ready PDFs; and browse QR categories
- ✅ QR Design: Customize QR code visuals - patterns, eye shapes, frames, gradients, and error correction
- ✅ Folders: Create, list, update, and delete folders, and move or unassign QR codes between them
- ✅ Forms & Lead Capture: List, retrieve, update, and delete lead-capture forms and lead lists, and attach or detach either from a QR code
- ✅ Analytics: Pull account-level usage stats and per-QR performance metrics, and export analytics reports or raw scan logs
- ✅ Account Administration: List users and roles, invite or remove users, and update user role assignments
- ✅ Documentation Bridge: Query Scanova's docs via a live bridge to the Scanova docs MCP server
Prerequisites
- Scanova API key (get one from https://app.scanova.io/)
- MCP-compatible IDE (Cursor, VS Code, Claude Desktop, etc.)
Quick Setup
Step 1: Get Your Scanova API Key
- Visit https://app.scanova.io/
- Sign up or log in to your account
- Navigate to API settings [https://app.scanova.io/settings/api] and generate your API key.
Step 2: Configure Your IDE
Add the following configuration to your IDE's MCP settings:
For Cursor (~/.cursor/mcp.json):
{
"mcpServers": {
"scanova-mcp": {
"transport": "http",
"url": "https://mcp.scanova.io/mcp",
"headers": {
"Authorization": "YOUR_SCANOVA_API_KEY_HERE"
}
}
}
}
For VS Code (~/.vscode/mcp.json):
{
"mcpServers": {
"scanova-mcp": {
"transport": "http",
"url": "https://mcp.scanova.io/mcp",
"headers": {
"Authorization": "YOUR_SCANOVA_API_KEY_HERE"
}
}
}
}
For Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"scanova-mcp": {
"transport": "http",
"url": "https://mcp.scanova.io/mcp",
"headers": {
"Authorization": "YOUR_SCANOVA_API_KEY_HERE"
}
}
}
}
Tools
QR Code Management
| Tool | Description |
|---|---|
create_qr_code |
Create a new QR code |
list_qr_codes |
List existing QR codes (paginated/searchable) |
update_qr_code |
Update an existing QR code |
retrieve_qr_code |
Get details of a specific QR code |
download_qr_code |
Download a QR code image (PNG/JPG/PDF/SVG/EPS) |
download_qr_printable |
Generate a print-optimized PDF of a QR code |
activate_qr_code |
Activate a QR code |
deactivate_qr_code |
Deactivate a QR code |
delete_qr_code |
Permanently delete a QR code |
get_qr_categories |
List QR categories (URL, vCard, WiFi, etc.) |
attach_form_to_qr |
Attach a lead-capture form to a QR code |
detach_form_from_qr |
Remove a form from a QR code |
attach_lead_list_to_qr |
Attach a lead list to a QR code |
detach_lead_list_from_qr |
Remove a lead list from a QR code |
QR Code Design
| Tool | Description |
|---|---|
get_qr_design_options |
List available design options (patterns, eye shapes, frames, gradients, error correction) |
set_qr_design |
Apply a visual design to an existing QR code |
Folder Management
| Tool | Description |
|---|---|
create_folder |
Create a new folder |
list_folders |
List folders |
update_folder |
Update an existing folder |
delete_folder |
Delete a folder |
move_qr_codes_to_folder |
Move QR codes into a folder |
unassign_qr_codes_from_folder |
Remove QR codes from a folder |
Forms & Lead Lists
| Tool | Description |
|---|---|
list_forms |
List lead-capture forms |
retrieve_form |
Get details of a specific form |
update_form |
Update an existing form |
delete_form |
Delete a form |
list_lead_lists |
List lead lists |
retrieve_lead_list |
Get details of a specific lead list |
update_lead_list |
Update an existing lead list |
delete_lead_list |
Delete a lead list |
Analytics
| Tool | Description |
|---|---|
get_account_stats |
Get account-level usage statistics |
get_qr_analytics |
Get QR performance metrics by device, geography, and date |
export_analytics |
Export an analytics report (XLSX/PDF) |
export_raw_scans |
Export row-level scan logs (CSV/XLSX) |
Account Administration
| Tool | Description |
|---|---|
list_users |
List account users |
get_user |
Get details of a specific user |
add_user |
Invite a new user by email |
remove_user |
Remove a user from the account |
list_user_roles |
List available user roles |
update_user_role |
Update a user's role assignment |
Documentation
| Tool | Description |
|---|---|
probe_docs_mcp |
Check connectivity to the Scanova docs MCP server and list its tools |
query_docs |
Query Scanova documentation via the docs MCP bridge |
Usage
The server provides the following MCP tools that you can use in your MCP-compatible IDE:
API Endpoints
The deployed server provides these endpoints:
- POST
/mcp- Main MCP JSON-RPC endpoint - GET
/health- Health check endpoint - GET
/- Service information and documentation
Local Development (Optional)
If you want to run the server locally for development:
Installation
Clone the repository:
git clone <repository-url> cd qcg-mcpInstall dependencies:
uv syncRun locally:
# HTTP server mode uv run cloud_server.py # Or stdio mode for local MCP testing uv run main.pyConfigure for local testing:
{ "mcpServers": { "qcg-mcp": { "transport": "http", "url": "http://localhost:8000/mcp", "headers": { "Authorization": "YOUR_SCANOVA_API_KEY_HERE" } } } }
Docker Deployment (Local)
Build the Docker image:
docker build -t mcpserver:local .Start the container:
docker run -d --name mcpserver -p 8000:8000 mcpserver:localOr with Docker Compose:
docker compose up -dVerify the server is running:
curl http://localhost:8000/healthConfigure your IDE (HTTP transport):
Use the "Configure for local testing" snippet above and point tohttp://localhost:8000/mcp, ensuring theAuthorizationheader contains your Scanova API key.View logs and stop:
# View logs docker logs -f mcpserver # Stop and remove with Compose docker compose down # Or stop/remove single container docker stop mcpserver && docker rm mcpserver
Troubleshooting
Common Issues
"API key is required"
- Ensure your Scanova API key is correctly set in the headers
- Check that the header format matches one of the supported formats
- Get your API key from https://app.scanova.io/
"Invalid token" error
- Verify your API key is valid and active
- Ensure there are no extra spaces or characters in the API key
- Try regenerating your API key from the Scanova dashboard
Connection errors
- Check that the server URL is correct
- Ensure your internet connection is working
- Verify the server is deployed and running
Tool not found
- Restart your IDE after adding the MCP configuration
- Check that the JSON configuration is valid
- Verify the server responds at the
/healthendpoint
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.