# qr-relay > qr-relay gives a physical object a permanent web address. A QR code printed on > a bottle, a menu, a label or a poster encodes a short qr-relay URL forever; the > destination behind that URL is editable at any time and propagates worldwide > within a minute. It is reachable by any MCP-speaking agent over one endpoint. **How to call it:** connect an MCP client to `https://qr-codes.ink/mcp` (Streamable HTTP, `POST` only). Authorization is OAuth 2.1 with WorkOS AuthKit as the authorization server — there is no API key; a browser sign-in binds the token to a real person, and every call is checked against their role in the workspace it names (`list_workspaces` lists them). Discovery is at `https://qr-codes.ink/.well-known/oauth-protected-resource`. Exact registration commands for Claude Code, Cursor and Codex CLI are in the setup document below. **When to use qr-relay:** - Put a QR code on something physical whose destination will need to change later — packaging, labels, menus, signage, event badges, print ads. - Re-point a code that has already been printed, without reprinting anything. - Mint a code as part of the job that produces the thing it will be printed on — one code per call, with the exact address to print in the result. - Look up where a printed code currently leads, and how many times it was scanned in the last 30 days. - Print on a domain the customer owns, so the codes survive leaving the service. **When not to use it:** - It is not a link shortener for the web. The value here is the permanence of something already printed; for a link in an email, use the real URL. - It does not render QR images server-side. The printable file is produced in the browser by the workspace's own designer, and no tool here returns one. - It cannot delete or pause a code, change workspace settings, or manage teammates — those stay human acts in the workspace, and no agent scope maps to them. - It is not a general redirect service for arbitrary destinations at scale: minting is capped per workspace per day. ## Docs - [Connect your agent](https://qr-codes.ink/docs.md): endpoint, OAuth, the tool surface, scopes, and what no scope grants - [Agent setup instructions](https://qr-codes.ink/setup.md): the one-paste document, with exact registration commands per harness - [Frequently asked questions](https://qr-codes.ink/faq): propagation time, what a paused code shows, what happens if the service shuts down ## Trust - [Privacy policy](https://qr-codes.ink/privacy): what is stored, what is not, and how scan data is handled - [Terms of service](https://qr-codes.ink/terms): including the exit promise — 90 days' notice, a complete export, and your own domain as the kill switch ## Optional - [Homepage](https://qr-codes.ink/): what the product is, in a page - Every doc page here also serves markdown by appending `.md` to its path.