Just Scan It MCP Server: Let AI Manage Your QR Codes
Table of Contents
What is MCP?
The Model Context Protocol (MCP) is an open standard that lets AI assistants like Claude interact with external tools and services. Instead of copy-pasting data or switching between tabs, you can talk to your QR code dashboard in plain English.
Just Scan It ships with a built-in MCP server. Once enabled, your AI assistant can create QR codes, check scan analytics, manage landing pages, and more — all through natural conversation.
Getting Started
Step 1: Enable MCP on your account
- Log in to your Just Scan It dashboard
- Navigate to API Keys in the sidebar
- Toggle Enable MCP to on
- Select which tools the AI assistant is allowed to use
- Save your settings
Step 2: Connect your AI assistant
Add the Just Scan It MCP server to your AI assistant's configuration. The exact steps depend on which assistant you use.
For Claude Desktop / Claude Code:
Add this to your MCP configuration:
{
"mcpServers": {
"just-scan-it": {
"url": "https://justscanit.com/mcp/sse",
"headers": {
"Authorization": "Bearer YOUR_API_TOKEN"
}
}
}
}
Replace YOUR_API_TOKEN with a personal access token from the API Keys page. The token needs the scopes that match the tools you want to use (read, write, delete, scans:read).
Step 3: Start talking
Once connected, you can interact with Just Scan It through natural language:
- "Create a QR code for https://example.com called Spring Campaign"
- "How many scans did my QR codes get this month?"
- "Add a redirect rule that sends German users to my .de domain"
- "Show me all my landing pages"
Available Tools
The MCP server exposes the following tools. You control which ones your AI assistant can access from the API Keys settings page.
QR Code Management
CreateQrCodeTool
Creates a new QR code in your account.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | A descriptive name |
type |
string | Yes | static or dynamic |
target_url |
string | Conditional | Required when type is URL-based |
content_type |
string | No | url, file, landing_page |
fallback_url |
string | No | Fallback destination |
auto_renew |
boolean | No | Auto-renew with credits |
Example prompt: "Create a dynamic QR code called 'Menu' that points to https://restaurant.com/menu"
UpdateQrCodeTool
Updates an existing QR code's settings.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
integer | Yes | The QR code ID |
name |
string | No | Updated name |
target_url |
string | No | New destination URL |
is_active |
boolean | No | Enable or disable |
fallback_url |
string | No | New fallback URL |
Example prompt: "Change the target URL of QR code 'Menu' to https://restaurant.com/summer-menu"
ListQrCodesTool
Lists all QR codes in your account with optional filtering.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
type |
string | No | Filter by static or dynamic |
is_active |
boolean | No | Filter by active status |
search |
string | No | Search by name |
Example prompt: "Show me all my active dynamic QR codes"
GetQrStatsTool
Retrieves scan statistics for a specific QR code.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
integer | Yes | The QR code ID |
Example prompt: "How many scans did my Spring Campaign QR code get?"
Redirect Rules
CreateRedirectRuleTool
Adds a conditional redirect rule to a QR code.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
qr_code_id |
integer | Yes | The QR code to add the rule to |
url |
string | Yes | Destination URL |
device |
string | No | Target device (ios, android, etc.) |
country_code |
string | No | ISO country code (NL, US, DE) |
start_at |
datetime | No | When the rule activates |
end_at |
datetime | No | When the rule expires |
days_of_week |
array | No | Active days |
priority |
integer | No | Rule priority |
Example prompt: "Add a rule to QR code 5 that sends Android users to the Play Store link"
DeleteRedirectRuleTool
Removes a redirect rule.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
qr_code_id |
integer | Yes | The QR code ID |
rule_id |
integer | Yes | The rule to delete |
Example prompt: "Remove the iOS redirect rule from my Menu QR code"
Landing Pages
CreateLandingPageTool
Creates a new landing page.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
title |
string | Yes | Page title |
description |
string | No | Page description |
preset |
string | No | Theme: minimal, dark, colorful, corporate, nature, neon, pastel |
Example prompt: "Create a landing page called 'My Links' with the dark theme"
UpdateLandingPageTool
Updates an existing landing page.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
integer | Yes | Landing page ID |
title |
string | No | New title |
description |
string | No | New description |
preset |
string | No | New theme |
Example prompt: "Change my 'My Links' landing page to use the neon theme"
AddPageBlockTool
Adds a content block to a landing page.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
landing_page_id |
integer | Yes | The landing page ID |
type |
string | Yes | Block type (see list below) |
content |
object | No | Block content data |
settings |
object | No | Block display settings |
Available block types:
| Type | Description |
|---|---|
heading |
Title or section heading |
text |
Paragraph of text |
link_button |
Clickable button with URL |
image |
Image display |
social_icons |
Social media icon links |
divider |
Visual separator |
spacer |
Vertical spacing |
avatar_profile |
Profile picture with name and bio |
video_embed |
YouTube or Vimeo embed |
map |
Google Maps embed |
contact_form |
Email contact form |
html |
Raw HTML block |
file_download |
Downloadable file |
columns |
Multi-column layout |
Example prompt: "Add a link button to my landing page that says 'Visit our shop' and links to https://shop.example.com"
Search
SearchTool
A flexible search tool that can query across QR codes, scans, and landing pages.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
type |
string | Yes | What to search: qr_codes, scans, or landing_pages |
query |
string | No | Search query |
Example prompt: "Search my QR codes for anything related to 'restaurant'"
Available Resources
In addition to tools, the MCP server exposes resources — read-only data endpoints that your AI assistant can reference for context.
| Resource | Description |
|---|---|
| QR Code List | A summary of all your QR codes with names, types, and status |
| Scan Overview | Aggregated scan analytics across all your QR codes |
| Landing Page List | A summary of all your landing pages with titles and themes |
Your AI assistant may automatically read these resources to give you better, more contextual answers.
Access Control
You are in full control of what the AI can do:
- Per-tool permissions: Toggle individual tools on or off from the API Keys page.
- Scope-based: The API token's scopes limit what operations are possible, even if a tool is enabled.
- Team-aware: All operations happen within your current team context. The AI can only access resources belonging to your team.
- Audit trail: Team activities are logged, so you can see what actions were taken.
Recommended setup for read-only assistants
If you just want your AI to answer questions about your QR codes without making changes:
- Create a token with only
readandscans:readscopes - Enable only
ListQrCodesTool,GetQrStatsTool, andSearchTool - Leave all write/delete tools disabled
Full access setup
For power users who want the AI to manage everything:
- Create a token with all scopes (
read,write,delete,scans:read) - Enable all tools
- The AI can then create, update, and delete QR codes, rules, and landing pages on your behalf
Troubleshooting
"MCP is not enabled for this user"
Make sure you've toggled MCP on in the API Keys settings page.
"Insufficient scope"
Your API token doesn't have the required scope for the tool you're trying to use. Create a new token with the correct scopes.
"Tool not allowed"
The specific tool hasn't been enabled in your MCP settings. Go to API Keys and check the boxes for the tools you want the AI to use.
The AI can't find my QR codes
Make sure you're in the correct team context. The MCP server only shows resources belonging to your current team.
Use Cases
Here are some real-world scenarios where the MCP integration shines:
Marketing manager
"Create a QR code for each of our 5 store locations. Name them Store-Amsterdam, Store-Rotterdam, etc. Point them all to our location finder page but add country-based redirect rules for international visitors."
Restaurant owner
"Show me which QR codes got the most scans this week. Also, update the Menu QR code to point to our new spring menu."
Event organizer
"Create a landing page for our conference with a heading, our logo, link buttons to the schedule, speaker list, and venue map. Then create a QR code that points to it."
Developer
"List all QR codes that have auto_renew disabled and are expiring in the next 30 days."
Analytics review
"Give me a breakdown of scans by country for my top 5 QR codes this month. Which devices are most common?"