@qrlytics/mcp 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,338 @@
1
+ # @qrlytics/mcp
2
+
3
+ Model Context Protocol (MCP) server for [QRlytics](https://qrlytics.app) — create, manage, and analyse trackable QR codes directly from Claude Desktop, Cursor, VS Code Copilot, Windsurf, or any MCP-compatible AI assistant.
4
+
5
+ ---
6
+
7
+ ## What it does
8
+
9
+ Once installed, your AI assistant gains 13 tools that cover everything in the QRlytics dashboard:
10
+
11
+ | Tool | What you can say |
12
+ |---|---|
13
+ | `list_qr_codes` | "Show me all my QR codes and their scan counts" |
14
+ | `create_qr_code` | "Create a QR code for our new product page, call it Launch Campaign" |
15
+ | `get_qr_code` | "Get details for QR code abc123" |
16
+ | `update_qr_code` | "Update the Summer Menu QR to point to the new PDF" |
17
+ | `get_qr_analytics` | "How many times was the restaurant menu scanned last week?" |
18
+ | `get_analytics` | "Which of my QR codes performed best this month?" |
19
+ | `pause_all` | "Pause all my QR codes" or "Pause everything in my Events folder" |
20
+ | `resume_all` | "Resume all paused codes" |
21
+ | `compare_qr_codes` | "Compare my top 4 campaigns over the last 14 days" |
22
+ | `list_folders` | "What folders do I have?" |
23
+ | `create_folder` | "Create a folder called Q2 Campaigns" |
24
+ | `move_qr_to_folder` | "Move the trade show QR into my Events folder" |
25
+ | `check_destinations` | "Check that all my QR code destinations are still working" |
26
+
27
+ Every QR code created through the MCP is a full dynamic QR code with real-time scan tracking, device detection, city-level geolocation, UTM parameter capture, and referrer analytics — identical to codes created through the dashboard. QR images render inline in Claude Desktop.
28
+
29
+ ---
30
+
31
+ ## Requirements
32
+
33
+ - Node.js 18 or later
34
+ - A [QRlytics](https://qrlytics.app) account with a **Pro plan** ($39/year)
35
+ - An API key generated from **Settings → API Keys** in the QRlytics dashboard
36
+
37
+ API key generation is a Pro feature. The free plan gives you 3 QR codes and full dashboard access, but MCP/API access requires Pro.
38
+
39
+ ---
40
+
41
+ ## Installation
42
+
43
+ ```bash
44
+ npm install -g @qrlytics/mcp
45
+ ```
46
+
47
+ ---
48
+
49
+ ## Configuration
50
+
51
+ ### Claude Desktop
52
+
53
+ Add the following to your `claude_desktop_config.json`:
54
+
55
+ - **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
56
+ - **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
57
+
58
+ ```json
59
+ {
60
+ "mcpServers": {
61
+ "qrlytics": {
62
+ "command": "qrlytics-mcp",
63
+ "env": {
64
+ "QRLYTICS_API_KEY": "your_api_key_here",
65
+ "QRLYTICS_BASE_URL": "https://qrlytics.app"
66
+ }
67
+ }
68
+ }
69
+ }
70
+ ```
71
+
72
+ Restart Claude Desktop after saving. The QRlytics tools will appear in the tools panel.
73
+
74
+ ### Cursor
75
+
76
+ Add to your Cursor MCP configuration (`~/.cursor/mcp.json` or via **Settings → MCP**):
77
+
78
+ ```json
79
+ {
80
+ "mcpServers": {
81
+ "qrlytics": {
82
+ "command": "qrlytics-mcp",
83
+ "env": {
84
+ "QRLYTICS_API_KEY": "your_api_key_here",
85
+ "QRLYTICS_BASE_URL": "https://qrlytics.app"
86
+ }
87
+ }
88
+ }
89
+ }
90
+ ```
91
+
92
+ ### VS Code (GitHub Copilot)
93
+
94
+ Add to your VS Code `settings.json`:
95
+
96
+ ```json
97
+ {
98
+ "github.copilot.chat.mcp.servers": {
99
+ "qrlytics": {
100
+ "command": "qrlytics-mcp",
101
+ "env": {
102
+ "QRLYTICS_API_KEY": "your_api_key_here",
103
+ "QRLYTICS_BASE_URL": "https://qrlytics.app"
104
+ }
105
+ }
106
+ }
107
+ }
108
+ ```
109
+
110
+ ### Windsurf
111
+
112
+ Add to your Windsurf MCP configuration:
113
+
114
+ ```json
115
+ {
116
+ "mcpServers": {
117
+ "qrlytics": {
118
+ "command": "qrlytics-mcp",
119
+ "env": {
120
+ "QRLYTICS_API_KEY": "your_api_key_here",
121
+ "QRLYTICS_BASE_URL": "https://qrlytics.app"
122
+ }
123
+ }
124
+ }
125
+ }
126
+ ```
127
+
128
+ ---
129
+
130
+ ## Environment variables
131
+
132
+ | Variable | Required | Default | Description |
133
+ |---|---|---|---|
134
+ | `QRLYTICS_API_KEY` | Yes | — | Your QRlytics API key |
135
+ | `QRLYTICS_BASE_URL` | No | `https://qrlytics.app` | Override for self-hosted or staging environments |
136
+
137
+ ---
138
+
139
+ ## Example prompts
140
+
141
+ **Creating QR codes**
142
+ - "Create a QR code for https://example.com/menu called Summer Menu"
143
+ - "Make three QR codes for my product launch — one for Instagram, one for Twitter, one for email"
144
+
145
+ **Updating and managing**
146
+ - "Update the trade show QR code to point to our new landing page"
147
+ - "Rename the Christmas promo QR to 'Holiday 2025'"
148
+ - "Pause all my QR codes until the campaign relaunches next month"
149
+ - "Resume everything in my Events folder"
150
+
151
+ **Folders**
152
+ - "What folders do I have?"
153
+ - "Create a folder called Q2 Campaigns"
154
+ - "Move the Summer Menu QR into my Restaurants folder"
155
+
156
+ **Analytics and comparisons**
157
+ - "Show me all my QR codes ranked by scan count"
158
+ - "Which of my campaigns got the most scans this week?"
159
+ - "Compare my top 3 QR codes over the last 30 days"
160
+ - "How many times was the restaurant menu scanned in the last 7 days?"
161
+ - "Show me mobile vs desktop breakdown for all my codes"
162
+
163
+ **Health checks**
164
+ - "Check that all my QR code destinations are still working"
165
+ - "Are any of my QR codes pointing to broken links?"
166
+
167
+ ---
168
+
169
+ ## Tool reference
170
+
171
+ ### `list_qr_codes`
172
+
173
+ Returns all QR codes in your account with their name, destination URL, scan count, status, and folder.
174
+
175
+ **Parameters:** none
176
+
177
+ ---
178
+
179
+ ### `create_qr_code`
180
+
181
+ Creates a new dynamic trackable QR code. Returns a rendered QR image inline in Claude Desktop.
182
+
183
+ **Parameters:**
184
+
185
+ | Parameter | Type | Required | Description |
186
+ |---|---|---|---|
187
+ | `name` | string | Yes | Display name for the QR code |
188
+ | `destinationUrl` | string | Yes | The URL the QR code points to |
189
+
190
+ ---
191
+
192
+ ### `get_qr_code`
193
+
194
+ Fetches details for a specific QR code by ID, including a rendered QR image.
195
+
196
+ **Parameters:**
197
+
198
+ | Parameter | Type | Required | Description |
199
+ |---|---|---|---|
200
+ | `id` | string | Yes | QR code ID |
201
+
202
+ ---
203
+
204
+ ### `update_qr_code`
205
+
206
+ Updates a QR code's name, destination URL, or status. Dynamic QR codes can have their destination changed at any time without reprinting.
207
+
208
+ **Parameters:**
209
+
210
+ | Parameter | Type | Required | Description |
211
+ |---|---|---|---|
212
+ | `id` | string | Yes | QR code ID |
213
+ | `name` | string | No | New display name |
214
+ | `destinationUrl` | string | No | New destination URL |
215
+ | `status` | `"active"` \| `"paused"` | No | New status |
216
+
217
+ ---
218
+
219
+ ### `get_qr_analytics`
220
+
221
+ Returns scan analytics for a single QR code: daily scan counts, total scans, and device breakdown.
222
+
223
+ **Parameters:**
224
+
225
+ | Parameter | Type | Required | Description |
226
+ |---|---|---|---|
227
+ | `id` | string | Yes | QR code ID |
228
+ | `days` | number | No | Look-back window in days (default: 30) |
229
+
230
+ ---
231
+
232
+ ### `get_analytics`
233
+
234
+ Returns aggregate analytics across all your QR codes: top performers by scan count, and device type breakdown.
235
+
236
+ **Parameters:**
237
+
238
+ | Parameter | Type | Required | Description |
239
+ |---|---|---|---|
240
+ | `days` | number | No | Look-back window in days (default: 30) |
241
+
242
+ ---
243
+
244
+ ### `pause_all`
245
+
246
+ Pauses all QR codes at once, or all codes inside a specific folder. Paused codes redirect to a "code paused" page instead of their destination.
247
+
248
+ **Parameters:**
249
+
250
+ | Parameter | Type | Required | Description |
251
+ |---|---|---|---|
252
+ | `folderId` | string | No | Only pause codes in this folder. Omit to pause all codes. |
253
+
254
+ ---
255
+
256
+ ### `resume_all`
257
+
258
+ Resumes (unpauses) all QR codes at once, or all codes inside a specific folder.
259
+
260
+ **Parameters:**
261
+
262
+ | Parameter | Type | Required | Description |
263
+ |---|---|---|---|
264
+ | `folderId` | string | No | Only resume codes in this folder. Omit to resume all codes. |
265
+
266
+ ---
267
+
268
+ ### `compare_qr_codes`
269
+
270
+ Compares scan analytics for 2–10 QR codes side-by-side, ranked by total scans over the requested period.
271
+
272
+ **Parameters:**
273
+
274
+ | Parameter | Type | Required | Description |
275
+ |---|---|---|---|
276
+ | `ids` | string[] | Yes | Array of QR code IDs (2–10) |
277
+ | `days` | number | No | Look-back window in days (default: 30) |
278
+
279
+ ---
280
+
281
+ ### `list_folders`
282
+
283
+ Lists all your QR code folders with their IDs and parent relationships.
284
+
285
+ **Parameters:** none
286
+
287
+ ---
288
+
289
+ ### `create_folder`
290
+
291
+ Creates a new folder to organise your QR codes. Supports nested folders.
292
+
293
+ **Parameters:**
294
+
295
+ | Parameter | Type | Required | Description |
296
+ |---|---|---|---|
297
+ | `name` | string | Yes | Display name for the folder |
298
+ | `parentId` | string | No | Parent folder ID for nesting. Omit for a top-level folder. |
299
+
300
+ ---
301
+
302
+ ### `move_qr_to_folder`
303
+
304
+ Moves a QR code into a folder, or back to the root (no folder).
305
+
306
+ **Parameters:**
307
+
308
+ | Parameter | Type | Required | Description |
309
+ |---|---|---|---|
310
+ | `id` | string | Yes | QR code ID |
311
+ | `folderId` | string | No | Target folder ID. Omit to move to root. |
312
+
313
+ ---
314
+
315
+ ### `check_destinations`
316
+
317
+ Sends an HTTP HEAD request to each QR code's destination URL and reports whether it is reachable, redirecting, or returning an error. Useful for periodic link audits.
318
+
319
+ **Parameters:**
320
+
321
+ | Parameter | Type | Required | Description |
322
+ |---|---|---|---|
323
+ | `ids` | string[] | No | Specific QR code IDs to check. Omit to check all codes. |
324
+
325
+ ---
326
+
327
+ ## Links
328
+
329
+ - [QRlytics dashboard](https://qrlytics.app/dashboard)
330
+ - [Pricing and Pro plans](https://qrlytics.app/pricing)
331
+ - [MCP integration page](https://qrlytics.app/integrations/mcp)
332
+ - [REST API documentation](https://qrlytics.app/developers)
333
+
334
+ ---
335
+
336
+ ## License
337
+
338
+ MIT
package/dist/index.js CHANGED
@@ -230,6 +230,116 @@ server.tool("get_analytics", "Get aggregate analytics across all your QR codes:
230
230
  ],
231
231
  };
232
232
  });
233
+ server.tool("pause_all", "Pause all QR codes at once, or all codes in a specific folder. Paused codes redirect to a 'code paused' page instead of their destination.", {
234
+ folderId: z.string().optional().describe("Only pause codes in this folder ID. Omit to pause all codes."),
235
+ }, async ({ folderId }) => {
236
+ const data = (await apiFetch("/api/v1/qr-codes/bulk-status", {
237
+ method: "PATCH",
238
+ body: JSON.stringify({ status: "paused", folderId }),
239
+ }));
240
+ const scope = folderId ? `in folder ${folderId}` : "across your account";
241
+ return {
242
+ content: [{ type: "text", text: `Paused ${data.updated} QR code(s) ${scope}.` }],
243
+ };
244
+ });
245
+ server.tool("resume_all", "Resume (unpause) all QR codes at once, or all codes in a specific folder.", {
246
+ folderId: z.string().optional().describe("Only resume codes in this folder ID. Omit to resume all codes."),
247
+ }, async ({ folderId }) => {
248
+ const data = (await apiFetch("/api/v1/qr-codes/bulk-status", {
249
+ method: "PATCH",
250
+ body: JSON.stringify({ status: "active", folderId }),
251
+ }));
252
+ const scope = folderId ? `in folder ${folderId}` : "across your account";
253
+ return {
254
+ content: [{ type: "text", text: `Resumed ${data.updated} QR code(s) ${scope}.` }],
255
+ };
256
+ });
257
+ server.tool("compare_qr_codes", "Compare scan analytics for multiple QR codes side-by-side. Returns total scans and daily breakdown for each code.", {
258
+ ids: z.array(z.string()).min(2).max(10).describe("Array of QR code IDs to compare (2–10)"),
259
+ days: z.number().int().min(1).max(365).optional().default(30).describe("Number of days to look back (default: 30)"),
260
+ }, async ({ ids, days }) => {
261
+ const data = (await apiFetch("/api/v1/qr-codes/compare", {
262
+ method: "POST",
263
+ body: JSON.stringify({ ids, days }),
264
+ }));
265
+ const results = data.results ?? [];
266
+ if (results.length === 0) {
267
+ return { content: [{ type: "text", text: "No matching QR codes found." }] };
268
+ }
269
+ const sorted = [...results].sort((a, b) => b.totalScans - a.totalScans);
270
+ const lines = sorted.map((qr, i) => `${i + 1}. ${qr.name}\n Scans: ${qr.totalScans}\n Destination: ${qr.destinationUrl}\n Status: ${qr.status}`);
271
+ return {
272
+ content: [
273
+ {
274
+ type: "text",
275
+ text: [
276
+ `QR code comparison — last ${days} days`,
277
+ "",
278
+ ...lines,
279
+ ].join("\n"),
280
+ },
281
+ ],
282
+ };
283
+ });
284
+ server.tool("list_folders", "List all your QR code folders.", {}, async () => {
285
+ const data = (await apiFetch("/api/v1/folders"));
286
+ const folders = data.folders ?? [];
287
+ if (folders.length === 0) {
288
+ return { content: [{ type: "text", text: "You have no folders yet. Use create_folder to create one." }] };
289
+ }
290
+ const lines = folders.map((f) => `ID: ${f.id} Name: ${f.name}${f.parentId ? ` (inside folder ${f.parentId})` : ""}`);
291
+ return { content: [{ type: "text", text: lines.join("\n") }] };
292
+ });
293
+ server.tool("create_folder", "Create a new folder to organise your QR codes.", {
294
+ name: z.string().describe("Display name for the folder"),
295
+ parentId: z.string().optional().describe("Parent folder ID to nest this folder inside (omit for top-level)"),
296
+ }, async ({ name, parentId }) => {
297
+ const data = (await apiFetch("/api/v1/folders", {
298
+ method: "POST",
299
+ body: JSON.stringify({ name, parentId }),
300
+ }));
301
+ return {
302
+ content: [{ type: "text", text: `Folder created.\nID: ${data.id}\nName: ${data.name}` }],
303
+ };
304
+ });
305
+ server.tool("move_qr_to_folder", "Move a QR code into a folder, or back to the root (no folder).", {
306
+ id: z.string().describe("QR code ID to move"),
307
+ folderId: z.string().optional().describe("Target folder ID. Omit or pass null to move to root (no folder)."),
308
+ }, async ({ id, folderId }) => {
309
+ await apiFetch(`/api/v1/qr-codes/${id}/move`, {
310
+ method: "PATCH",
311
+ body: JSON.stringify({ folderId: folderId ?? null }),
312
+ });
313
+ const dest = folderId ? `folder ${folderId}` : "root (no folder)";
314
+ return { content: [{ type: "text", text: `QR code ${id} moved to ${dest}.` }] };
315
+ });
316
+ server.tool("check_destinations", "Check whether the destination URLs of your QR codes are reachable. Returns status (ok / error / redirect) for each code.", {
317
+ ids: z.array(z.string()).optional().describe("Specific QR code IDs to check. Omit to check all codes."),
318
+ }, async ({ ids }) => {
319
+ const allData = (await apiFetch("/api/v1/qr-codes"));
320
+ let codes = allData.qrCodes ?? [];
321
+ if (ids && ids.length > 0) {
322
+ codes = codes.filter((qr) => ids.includes(qr.id));
323
+ }
324
+ if (codes.length === 0) {
325
+ return { content: [{ type: "text", text: "No QR codes to check." }] };
326
+ }
327
+ const results = await Promise.all(codes.map(async (qr) => {
328
+ try {
329
+ const res = await fetch(qr.destinationUrl, { method: "HEAD", redirect: "manual", signal: AbortSignal.timeout(5000) });
330
+ const status = res.status;
331
+ if (status >= 200 && status < 300)
332
+ return `✓ ${qr.name} — OK (${status})`;
333
+ if (status >= 300 && status < 400)
334
+ return `→ ${qr.name} — Redirect (${status}) to ${res.headers.get("location") ?? "?"}`;
335
+ return `✗ ${qr.name} — Error (${status}) — ${qr.destinationUrl}`;
336
+ }
337
+ catch (e) {
338
+ return `✗ ${qr.name} — Unreachable — ${qr.destinationUrl}`;
339
+ }
340
+ }));
341
+ return { content: [{ type: "text", text: ["Destination health check:", "", ...results].join("\n") }] };
342
+ });
233
343
  const transport = new StdioServerTransport();
234
344
  await server.connect(transport);
235
345
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qrlytics/mcp",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "Model Context Protocol server for QRlytics — create and manage trackable QR codes from Claude, Cursor, and any MCP-compatible AI assistant",
5
5
  "type": "module",
6
6
  "bin": {