Search / codes.qrx/mcp
QRX
R2· OAuth, onceTurn a prompt and a link into a branded, print-ready QR code that always scans.
v1.2.4 · active · repository · website · descriptor JSON · versions
Search / codes.qrx/mcp
R2· OAuth, onceTurn a prompt and a link into a branded, print-ready QR code that always scans.
v1.2.4 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"qrx": {
"type": "http",
"url": "https://qrx.codes/mcp",
"headers": {
"Authorization": "Bearer ${qrx_api_key}"
}
}
}
}claude mcp add --transport http qrx https://qrx.codes/mcp --header "Authorization: Bearer ${qrx_api_key}"[mcp_servers.qrx]
url = "https://qrx.codes/mcp"
bearer_token_env_var = "qrx_api_key"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"qrx": {
"type": "remote",
"url": "https://qrx.codes/mcp",
"enabled": true,
"headers": {
"Authorization": "Bearer {env:qrx_api_key}"
}
}
}
}{
"mcpServers": {
"qrx": {
"type": "http",
"url": "https://qrx.codes/mcp",
"headers": {
"Authorization": "Bearer ${qrx_api_key}"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=qrx&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vcXJ4LmNvZGVzL21jcCIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciAke3FyeF9hcGlfa2V5fSJ9fQ%3D%3D"
}{
"servers": {
"qrx": {
"type": "http",
"url": "https://qrx.codes/mcp",
"headers": {
"Authorization": "Bearer ${qrx_api_key}"
}
}
}
}{
"mcpServers": {
"qrx": {
"httpUrl": "https://qrx.codes/mcp",
"headers": {
"Authorization": "Bearer ${qrx_api_key}"
}
}
}
}extensions:
"qrx":
enabled: true
name: "qrx"
type: streamable_http
uri: "https://qrx.codes/mcp"
headers:
"Authorization": "Bearer ${qrx_api_key}"
timeout: 300
Placeholders to fill from your own secret store: ${qrx_api_key}. The registry never accepts secret values.
protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)auth.prmProtected Resource Metadata (RFC 9728) publishedauth.as_metadataauthorization server metadata reachableauth.cimdClient ID Metadata Documents supportedauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations7 of 7 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 1,193 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changesno tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvabledeps.dev does not know @qrxcodes/[email protected]No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +dns-namespace +website +reachable +uptime-100% +updated-10d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
@qrxcodes/[email protected] npmthis version is not known to the dependency resolver
Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://qrx.codes/mcp streamable-http | oauth2 AS: https://clerk.qrx.codes | yes | 100% | 880 ms | – | 2026-10-19 |
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
@qrxcodes/mcp | npm | 1.0.1 | npx | QRX_API_KEY |
change_qr_code_destinationdestructive | Use this when the user wants an existing link QR code to open a different web address. Printed copies follow at once. It only works for link codes, and only if the account’s plan allows changing destinations. Do not use it to make a new code. |
generate_qr_code | Use this when the user wants a new QR code that is also a picture: a scannable code painted into art from a description, that opens a link (or joins a Wi-Fi network, if the account’s plan includes Wi-Fi codes). It starts the code and answers at once with its id while the picture is painted, which usually takes under a minute; then call get_qr_code with the id to wait for the image. Do not use it to look at, list or change codes that already exist. Each code counts against the user’s QRX allowance. |
get_accountread-only | Use this when the user asks how many QR codes they can still make today, when the daily count resets, or what their QRX account can do. Do not use it to make or list codes. |
get_profileread-only | Use this when you need to know which QRX account is connected, for example to confirm it with the user. Do not use it for limits; use get_account. |
get_qr_coderead-only | Use this when you have a QR code’s id (from generate_qr_code or list_qr_codes) and need its status or finished image. While the code is still being painted it waits up to `wait` seconds (25 by default) for it to finish before answering, so call it again if it is still processing. Do not use it to make a new code. |
list_qr_codesread-only | Use this when the user asks about QR codes they already have, newest first, a page at a time (pass nextCursor as cursor for the next page). Do not use it to make a code. |
list_stylesread-only | Use this when the user wants to choose a look for a new QR code; pass a style id to generate_qr_code. Do not use it to make a code. |
Schemas: list_tools.
{
"name": "codes.qrx/mcp",
"_meta": {
"io.modelcontextprotocol.registry/publisher-provided": {
"codes.qrx": {
"auth": [
"oauth",
"api-key"
],
"docs": "https://qrx.codes/developers/mcp",
"tools": [
"generate_qr_code",
"get_qr_code",
"list_qr_codes",
"change_qr_code_destination",
"get_account",
"get_profile",
"list_styles"
],
"llmsTxt": "https://qrx.codes/llms.txt"
}
}
},
"icons": [
{
"src": "https://qrx.codes/images/brand/qrx-code-512.png",
"sizes": [
"512x512"
],
"mimeType": "image/png"
},
{
"src": "https://qrx.codes/images/brand/qrx-mark.svg",
"sizes": [
"any"
],
"mimeType": "image/svg+xml"
}
],
"title": "QRX",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://qrx.codes/mcp",
"type": "streamable-http",
"headers": [
{
"name": "Authorization",
"value": "Bearer {qrx_api_key}",
"isSecret": true,
"variables": {
"qrx_api_key": {
"isSecret": true,
"description": "QRX API key (starts with qrx_). Create one at https://qrx.codes/developers/keys.",
"placeholder": "qrx_..."
}
},
"description": "Optional. Connecting needs sign-in or an API key. Clients that support MCP sign-in (OAuth) need no header; otherwise send your QRX API key from https://qrx.codes/developers/keys as a bearer token."
}
]
}
],
"version": "1.2.4",
"packages": [
{
"version": "1.0.1",
"transport": {
"type": "stdio"
},
"identifier": "@qrxcodes/mcp",
"runtimeHint": "npx",
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"environmentVariables": [
{
"name": "QRX_API_KEY",
"format": "string",
"isSecret": true,
"description": "Your QRX API key (qrx_…) from https://qrx.codes/developers/keys. Needed to use the tools; without it the server starts and lists them.",
"placeholder": "qrx_..."
}
]
}
],
"repository": {
"id": "1410735001",
"url": "https://github.com/qrxcodes/qrx-mcp",
"source": "github"
},
"websiteUrl": "https://qrx.codes/developers",
"description": "Turn a prompt and a link into a branded, print-ready QR code that always scans."
}