From b43b4695e66afe7dbbf74279fc715ecc79109b04 Mon Sep 17 00:00:00 2001 From: Rushabh Date: Fri, 5 Jun 2026 14:04:01 +0530 Subject: [PATCH 1/2] feat: add CLAUDE.md skills file and update plugin.json manifest for JIRA T26-841 --- README.md | 4 +- .../.claude-plugin/plugin.json | 1 + plugins/qrstuff-mcp-server/skills/CLAUDE.md | 57 +++++++++++++++++++ 3 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 plugins/qrstuff-mcp-server/skills/CLAUDE.md diff --git a/README.md b/README.md index 00ad6a2..5ccc401 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ A [Claude Code plugin marketplace](https://code.claude.com/docs/en/plugin-market This repository is a Claude Code marketplace (`qrstuff-cc-plugins`) that distributes a single plugin: -| Plugin | Description | -| :----- | :---------- | +| Plugin | Description | +| :------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `qrstuff-mcp-server` | Adds the QRStuff [MCP server](https://mcp.qrstuff.ai/mcp) to Claude Code, giving Claude access to the QRStuff platform for QR code generation and related tools. | When you install the plugin, Claude Code registers the remote MCP server at `https://mcp.qrstuff.ai/mcp` for you. diff --git a/plugins/qrstuff-mcp-server/.claude-plugin/plugin.json b/plugins/qrstuff-mcp-server/.claude-plugin/plugin.json index db01586..e074ea2 100644 --- a/plugins/qrstuff-mcp-server/.claude-plugin/plugin.json +++ b/plugins/qrstuff-mcp-server/.claude-plugin/plugin.json @@ -2,6 +2,7 @@ "name": "qrstuff-mcp-server", "version": "1.0.0", "description": "Adds a MCP server for the QRStuff platform", + "skills": "./skills/", "author": { "name": "QRStuff Team", "email": "engineering@qrstuff.com" diff --git a/plugins/qrstuff-mcp-server/skills/CLAUDE.md b/plugins/qrstuff-mcp-server/skills/CLAUDE.md new file mode 100644 index 0000000..af8804f --- /dev/null +++ b/plugins/qrstuff-mcp-server/skills/CLAUDE.md @@ -0,0 +1,57 @@ +# QRStuff AI Assistant Skills & Instructions + +This document teaches Claude how to use the QRStuff MCP server tools and render the responses to the user. + +--- + +## 1. What is QRStuff MCP Server? + +The QRStuff MCP server provides tools to interact with the QRStuff platform. You can generate QR codes, manage projects, retrieve scan analytics, restore deleted assets, and perform customer support tasks. + +--- + +## 2. Core Tool Groups + +### A. QR Code Management + +- `generate_qr_code`: Use this to create a new QR code (e.g. URL, TEXT, SMSTO, EMAIL). Always check if styled is required. For custom logos/backgrounds, use `upload_file` first to get a file ID, then pass it to this tool. +- `get_qr_code_by_id`: Retrieve detail fields for a specific QR code by ID. +- `update_qr_code`: Update content, format, styling, or shapes of an existing QR code. _Note: Retrieve it first using `get_qr_code_by_id`, merge edits, and pass the updated payload._ +- `list_qrcodes`: Retrieve a paginated list of QR codes. + +### B. Project Management + +- `list_projects`: Retrieve all active user projects. +- `list_deleted_projects`: Retrieve deleted projects that can be restored. +- `restore_deleted_project`: Restore a project to active state. + +### C. File Uploads + +- `upload_file`: Upload a base64 encoded image asset (logo, foreground, or background) for QR code customization. Returns a file ID. + +### D. Analytics + +- `get_total_scans` & `get_unique_users`: Get total scan events or unique scanning users over a date range. +- `get_top_performing_date` & `get_top_performing_location`: Find the date or country with the highest scan count. +- `get_project_scans` & `get_qrcode_scans`: Retrieve paginated event-level scan logs. + +--- + +## 3. Rendering Prefab UI Components + +The QRStuff MCP server returns responses structured using the **`prefab-ui`** layout schema (e.g. `Column`, `Row`, `DataTable`, `BarChart`, `Heading`, `Text`, `Image`, `Button`). + +When displaying these responses to the user, **do not print the raw JSON**. Format them into clean, human-friendly markdown interfaces: + +- **DataTable:** Render as a standard GitHub Markdown table with clear headers. +- **BarChart:** Represent scan statistics in a clean list or markdown visual structure. +- **Heading:** Use markdown headers (`###` or `####`). +- **Image:** Render inline using standard markdown syntax: `![alt](src)`. +- **Button:** Render as inline links or bullet points showing action options: `[label](url)`. +- **Column & Row:** Lay out the nested elements sequentially, grouping related row elements together. + +--- + +## 4. Troubleshooting & Authentication + +If a tool returns an authentication error (e.g., `Authentication required`), explain to the user that the server expects an active OAuth 2.1 authentication flow or a valid `QRSTUFF_ACCESS_TOKEN` set in the environment variables. From d8cf9a8972cba891cb609f77629f5c39cf179feb Mon Sep 17 00:00:00 2001 From: Rushabh Date: Fri, 5 Jun 2026 14:08:35 +0530 Subject: [PATCH 2/2] feat: add manifest.json for Claude Desktop Extension and update README.md --- README.md | 37 ++++++++++++++++++- .../qrstuff-mcp-server/desktop/manifest.json | 12 ++++++ 2 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 plugins/qrstuff-mcp-server/desktop/manifest.json diff --git a/README.md b/README.md index 5ccc401..4f66094 100644 --- a/README.md +++ b/README.md @@ -47,9 +47,44 @@ claude plugin install qrstuff-mcp-server@qrstuff-cc-plugins > claude plugin marketplace add https://github.com/qrstuff/claude-code-plugins.git > ``` +```` + +## Claude Desktop Installation + +For **Claude Desktop**, you can install the MCP server using either the new one-click Desktop Extension package or manually editing your configuration file. + +### Option A: Desktop Extension Bundle (`.mcpb` - Recommended) + +1. Package the extension manifest: + ```bash + cd plugins/qrstuff-mcp-server/desktop + zip -r qrstuff.mcpb manifest.json +```` + +2. Open **Claude Desktop**. +3. Go to **Settings > Extensions > Advanced settings > Install Extension...** and select the generated `qrstuff.mcpb` file. + +### Option B: Manual Configuration + +1. Open your Claude Desktop configuration file: + - **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json` + - **Windows:** `%APPDATA%\Claude\claude_desktop_config.json` + - **Linux:** `~/.config/Claude/claude_desktop_config.json` + +2. Add the `qrstuff` server definition to the `mcpServers` block: + ```json + { + "mcpServers": { + "qrstuff": { + "url": "https://mcp.qrstuff.ai/mcp" + } + } + } + ``` + ## Usage -Once the plugin is installed, the QRStuff MCP server is available to Claude automatically. Start (or restart) a Claude Code session and the `qrstuff` MCP server will be connected. +Once the plugin or extension is installed, the QRStuff MCP server is available to Claude automatically. Start (or restart) a Claude session and the `qrstuff` MCP server will be connected. You can then ask Claude to use QRStuff in natural language, for example: diff --git a/plugins/qrstuff-mcp-server/desktop/manifest.json b/plugins/qrstuff-mcp-server/desktop/manifest.json new file mode 100644 index 0000000..b24fe5f --- /dev/null +++ b/plugins/qrstuff-mcp-server/desktop/manifest.json @@ -0,0 +1,12 @@ +{ + "manifest_version": "0.4", + "name": "qrstuff-mcp-server", + "version": "1.0.0", + "display_name": "QRStuff MCP Server", + "description": "Adds a MCP server for the QRStuff platform to generate QR codes and view scan analytics", + "author": "QRStuff Team ", + "server": { + "type": "http", + "url": "https://mcp.qrstuff.ai/mcp" + } +}