# How to create QR codes from Claude and ChatGPT with MCP

> Source: <https://dev.to/mongi_gazelle_2b3abd6fa2c/how-to-create-qr-codes-from-claude-and-chatgpt-with-mcp-a6h>
> Published: 2026-10-17 21:02:01+00:00

QR codes are a good fit for an AI assistant: the task is small, the

input is a URL, and the output is an image. This tutorial connects

Claude (or ChatGPT) to [qrlia](https://qrlia.com/mcp-gateway?utm_source=devto&utm_medium=community&utm_campaign=mcp-launch),

a QR code platform with a remote MCP server, and walks through creating,

updating and tracking a code.

Disclosure: I built qrlia.

No API key is needed. The server uses OAuth 2.1: you sign in in the

browser and approve access.

`https://mcp.qrlia.com/mcp`
`qrlia.read`, `qrlia.write`, and an opt-in
`qrlia.admin` for workspace admins)
qrlia is in the Claude connector directory:

[https://claude.ai/directory/connectors/qrlia](https://claude.ai/directory/connectors/qrlia)

In ChatGPT, open Settings → Apps, turn on developer mode under

Advanced, and create an app with the URL `https://mcp.qrlia.com/mcp`.

ChatGPT opens the qrlia sign-in; approve access. Your ChatGPT plan

needs to support custom apps.

```
claude mcp add --transport http qrlia https://mcp.qrlia.com/mcp
```

Then, inside Claude Code:

```
/mcp
```

Select `qrlia` and sign in in the browser window that opens. Add

`--scope user` to the `add` command if you want it in every project.

Add the server to your client's MCP config. For Cursor

(`~/.cursor/mcp.json`):

```
{
  "mcpServers": {
    "qrlia": {
      "url": "https://mcp.qrlia.com/mcp"
    }
  }
}
```

Cursor will prompt you to sign in. Configs for other clients are in

[https://github.com/mgazelle/qrlia-mcp](https://github.com/mgazelle/qrlia-mcp).

```
Create a QR code for https://example.com called Spring flyer and show
me the image.
```

Claude calls a create tool, then fetches the image (PNG or SVG) and

shows it. The code is dynamic: it encodes a short link, and the short

link redirects to your URL.

You printed 500 flyers and the page moved:

```
Change the Spring flyer code to point to https://example.com/summer.
```

The printed code stays the same. Only the redirect changes.

```
Show scan analytics for the last 30 days: which codes were scanned
most, and from which countries?
```

On the free plan you get scan totals. Pro adds breakdowns by day,

country, city, device, OS and referrer.

On a paid plan you can describe your brand and let the assistant save

it as a design:

```
Save a design called Brand: dark red #7C220D modules, blue #00AEEF
corner markers, rounded dots, our logo from
https://example.com/logo.png in the centre, and a banner frame that
says "Scan to save my contact". Then apply it to the Spring flyer code.
```

Every code that uses the design follows it, and editing the design

updates them all. Without your own logo, codes show the qrlia mark; you

can also ask for no logo at all.

The same operations are in a REST API with OpenAPI docs at

[https://docs.qrlia.com](https://docs.qrlia.com) (Pro plan). MCP and REST share one service

layer, so they behave the same.

That's the whole setup: one URL, one sign-in. If you try it, tell me

which prompts work badly; that's what I'm tuning next.
