Generate QR codes; create, edit & track dynamic QR codes with scan analytics. Free, no watermark.
MCPpedia last refreshed this data
io.github.sam-moreton/openqr is an MCP server that generate QR codes; create, edit & track dynamic QR codes with scan analytics. Free, no watermark. Its tool list has not been published yet, requires no API key, and scores 88/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-sam-moreton-openqr": {
"args": [
"-y",
"pnpm"
],
"command": "npx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Free, open-source, watermark-free QR code generator. Runs entirely in your browser — no tracking, no sign-up, no limits.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'pnpm' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
pnpm: Path traversal in configDependencies env lockfile allows symlink creation outside node_modules/.pnpm-config
## Summary `pnpm` accepts package names from the env lockfile `configDependencies` section and uses those names directly when creating config dependency symlinks under `node_modules/.pnpm-config`. A malicious repository can commit a crafted `pnpm-lock.yaml` whose env-lockfile document contains a traversal-shaped config dependency name such as `../../PWNED_CFGDEP`. During `pnpm install`, pnpm installs the config dependency and creates a symlink at a path derived from that name. In local testin
pnpm: Path traversal in configDependencies env lockfile allows symlink creation outside node_modules/.pnpm-config
## Summary `pnpm` accepts package names from the env lockfile `configDependencies` section and uses those names directly when creating config dependency symlinks under `node_modules/.pnpm-config`. A malicious repository can commit a crafted `pnpm-lock.yaml` whose env-lockfile document contains a traversal-shaped config dependency name such as `../../PWNED_CFGDEP`. During `pnpm install`, pnpm installs the config dependency and creates a symlink at a path derived from that name. In local testin
pnpm: `patch-remove` could delete project-selected files outside the patches directory
## Summary The `patch-remove` deletion-scope issue tracked as GHSA-72r4-9c5j-mj57 / CAND-PNPM-030 has been addressed in pnpm. A crafted patch entry could resolve outside the configured patches directory and cause `pnpm patch-remove` to delete an arbitrary reachable file. This patch validates the configured directory and every resolved target before unlinking anything, then deletes the final directory entry without following it. ## Security boundary - Traversal and absolute paths that resolve
pnpm: `patch-remove` could delete project-selected files outside the patches directory
## Summary The `patch-remove` deletion-scope issue tracked as GHSA-72r4-9c5j-mj57 / CAND-PNPM-030 has been addressed in pnpm. A crafted patch entry could resolve outside the configured patches directory and cause `pnpm patch-remove` to delete an arbitrary reachable file. This patch validates the configured directory and every resolved target before unlinking anything, then deletes the final directory entry without following it. ## Security boundary - Traversal and absolute paths that resolve
pnpm: Hoisted install imports lockfile alias outside node_modules
## Summary The hoisted dependency alias issue tracked as GHSA-fr4h-3cph-29xv / CAND-PNPM-059 has been addressed in both pnpm and pacquet. A crafted lockfile alias could be joined directly under a hoisted `node_modules` directory. Traversal aliases could escape that directory, while reserved aliases such as `.bin` or `.pnpm` could overwrite pnpm-owned layout. This patch validates package-name semantics and path containment before graph insertion or filesystem work. ## Security boundary - The
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in other
Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 60-95% fewer tokens, same answers. Library, proxy, MCP server.
Transport for TMCP using STDIO
The graph based agentic IDE
Buddhist canon tools: search, passages, cross-canon parallels, dictionaries — all URN-cited.
MCP Security Weekly
Get CVE alerts and security updates for io.github.sam-moreton/openqr and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Free, open-source, watermark-free QR code generator. Runs entirely in your browser — no tracking, no sign-up, no limits.
Most online QR generators bait you with "free" and then add a watermark, cap your download size, hide vector export behind a paywall, or route your code through their servers so it dies when you stop paying. A QR code is just an open standard (ISO/IEC 18004) that costs nothing to generate. OpenQR keeps it that way.
This repository is the basic generator tool — the reference open-source implementation. It is deliberately small and easy to fork.
Everything in this repo is and stays free, with no watermark and no expiry. The hosted build at openqr.uk adds an optional account layer for people who want editable codes and automation:
/openapi.json; interactive docs
at openqr.uk/api.https://openqr.uk/mcp (Streamable HTTP, 17 tools).
Generate and manage QR codes directly from Claude, Cursor or any MCP client. Listed
in the official MCP Registry.The static generator in this repository never calls any of that. It stays 100% client-side (see Privacy), and none of it is required to use or self-host the generator.
The hosted MCP server at https://openqr.uk/mcp exposes these 17 tools. Every tool
requires a free API key — create one at openqr.uk/api and pass
it as Authorization: Bearer oqr_... on the MCP connection.
| Tool | What it does |
|---|---|
generate_qr | Generate a static QR code from any text or URL. Returns a PNG image or SVG markup. |
create_dynamic_qr | Create an editable QR code whose destination you can change later without reprinting. |
update_dynamic_qr | Change a dynamic code's destination, label, custom short link, tags or folder. |
get_dynamic_qr | Get one code's full details: destination, short link, label, type, tags, folder, status, created date. |
get_scans | Scan statistics for a dynamic code. |
list_dynamic_qr | List your dynamic codes with id, short URL, destination, label and status. |
delete_dynamic_qr | Permanently delete a dynamic code. Its short link stops working. |
bulk_create_dynamic_qr | Create up to 200 dynamic codes at once. |
list_folders | List your folders. |
create_folder | Create a folder to organise codes. |
delete_folder | Delete a folder. Its codes are un-filed, not deleted. |
list_themes | List saved style themes. Apply one by passing its id or name as theme. |
create_theme | Save a reusable style theme (colours, dot and corner styles). |
delete_theme | Delete a saved theme. Codes already styled with it keep their look. |
get_subdomain | Show the branded subdomain on the account, and whether it is suspended. |
set_subdomain | Claim or change the branded subdomain so codes also resolve at {name}.oqr.to. Pro only. |
clear_subdomain | Release the branded subdomain. Codes stay live on the plain short link. |
It also exposes 5 resources and 4 prompts: