<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mongi Gazelle</title>
    <description>The latest articles on DEV Community by Mongi Gazelle (@mongi_gazelle_2b3abd6fa2c).</description>
    <link>https://dev.to/mongi_gazelle_2b3abd6fa2c</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3501884%2Fc8ad453c-9e23-4bef-a060-660a8056bdea.png</url>
      <title>DEV Community: Mongi Gazelle</title>
      <link>https://dev.to/mongi_gazelle_2b3abd6fa2c</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mongi_gazelle_2b3abd6fa2c"/>
    <language>en</language>
    <item>
      <title>How to create QR codes from Claude and ChatGPT with MCP</title>
      <dc:creator>Mongi Gazelle</dc:creator>
      <pubDate>Sat, 17 Oct 2026 21:02:01 +0000</pubDate>
      <link>https://dev.to/mongi_gazelle_2b3abd6fa2c/how-to-create-qr-codes-from-claude-and-chatgpt-with-mcp-a6h</link>
      <guid>https://dev.to/mongi_gazelle_2b3abd6fa2c/how-to-create-qr-codes-from-claude-and-chatgpt-with-mcp-a6h</guid>
      <description>&lt;p&gt;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 &lt;a href="https://qrlia.com/mcp-gateway?utm_source=devto&amp;amp;utm_medium=community&amp;amp;utm_campaign=mcp-launch" rel="noopener noreferrer"&gt;qrlia&lt;/a&gt;, a QR code platform with a remote MCP server, and walks through creating, updating and tracking a code.&lt;/p&gt;

&lt;p&gt;Disclosure: I built qrlia.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Claude account (web, desktop or mobile), Claude Code, ChatGPT on a plan with custom apps, or Cursor.&lt;/li&gt;
&lt;li&gt;A qrlia workspace. The free plan is enough: 3 QR codes, scan totals, and the AI-assistant connector. Free codes carry a small qrlia logo in the centre. Sign up at &lt;a href="https://qrlia.com/apply?utm_source=devto&amp;amp;utm_medium=community&amp;amp;utm_campaign=mcp-launch" rel="noopener noreferrer"&gt;https://qrlia.com/apply?utm_source=devto&amp;amp;utm_medium=community&amp;amp;utm_campaign=mcp-launch&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No API key is needed. The server uses OAuth 2.1: you sign in in the browser and approve access.&lt;/p&gt;

&lt;h2&gt;
  
  
  The server
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;URL: &lt;code&gt;https://mcp.qrlia.com/mcp&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Transport: Streamable HTTP&lt;/li&gt;
&lt;li&gt;Auth: OAuth 2.1 (scopes &lt;code&gt;qrlia.read&lt;/code&gt;, &lt;code&gt;qrlia.write&lt;/code&gt;, and an opt-in &lt;code&gt;qrlia.admin&lt;/code&gt; for workspace admins)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Option 1: Claude (web, desktop, mobile)
&lt;/h2&gt;

&lt;p&gt;qrlia is in the Claude connector directory: &lt;a href="https://claude.ai/directory/connectors/qrlia" rel="noopener noreferrer"&gt;https://claude.ai/directory/connectors/qrlia&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open the link above, or Settings → Connectors and search "qrlia".&lt;/li&gt;
&lt;li&gt;Click Connect.&lt;/li&gt;
&lt;li&gt;Choose your workspace, sign in, approve the scopes.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Option 2: ChatGPT
&lt;/h2&gt;

&lt;p&gt;In ChatGPT, open Settings → Apps, turn on developer mode under Advanced, and create an app with the URL &lt;code&gt;https://mcp.qrlia.com/mcp&lt;/code&gt;. ChatGPT opens the qrlia sign-in; approve access. Your ChatGPT plan needs to support custom apps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option 3: Claude Code
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add &lt;span class="nt"&gt;--transport&lt;/span&gt; http qrlia https://mcp.qrlia.com/mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, inside Claude Code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Select &lt;code&gt;qrlia&lt;/code&gt; and sign in in the browser window that opens. Add &lt;code&gt;--scope user&lt;/code&gt; to the &lt;code&gt;add&lt;/code&gt; command if you want it in every project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Option 4: Cursor and other MCP clients
&lt;/h2&gt;

&lt;p&gt;Add the server to your client's MCP config. For Cursor (&lt;code&gt;~/.cursor/mcp.json&lt;/code&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"qrlia"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://mcp.qrlia.com/mcp"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cursor will prompt you to sign in. Configs for other clients are in &lt;a href="https://github.com/mgazelle/qrlia-mcp" rel="noopener noreferrer"&gt;https://github.com/mgazelle/qrlia-mcp&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1: Create a code
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Create a QR code for https://example.com called Spring flyer and show
me the image.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2: Change where it points
&lt;/h2&gt;

&lt;p&gt;You printed 500 flyers and the page moved:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Change the Spring flyer code to point to https://example.com/summer.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The printed code stays the same. Only the redirect changes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 3: Check scans
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Show scan analytics for the last 30 days: which codes were scanned
most, and from which countries?
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On the free plan you get scan totals. Pro adds breakdowns by day, country, city, device, OS and referrer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 4: Use your brand
&lt;/h2&gt;

&lt;p&gt;On a paid plan you can describe your brand and let the assistant save it as a design:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;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.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;
  
  
  Other things to try
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;"Create a Wi-Fi QR code for network CafeGuest." (static: no short link, no scan stats)&lt;/li&gt;
&lt;li&gt;"Make a vCard QR code for Jane Doe, sales, &lt;a href="mailto:jane@example.com"&gt;jane@example.com&lt;/a&gt;."&lt;/li&gt;
&lt;li&gt;"Create QR codes for these 20 URLs and put them in a folder called Spring." (bulk create handles up to 200 per call; folders are Pro)&lt;/li&gt;
&lt;li&gt;"Render the Spring flyer code as SVG using my saved design."&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Safety notes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Each tool is marked read-only or destructive. Claude asks before running a destructive one, like deleting a code.&lt;/li&gt;
&lt;li&gt;Admin tools (members, domains, webhooks, API key revoke) only appear if a workspace admin opts in to the admin scope.&lt;/li&gt;
&lt;li&gt;Revoke access any time under Settings → Connected apps in qrlia. A password change also revokes it.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Prefer HTTP?
&lt;/h2&gt;

&lt;p&gt;The same operations are in a REST API with OpenAPI docs at &lt;a href="https://docs.qrlia.com" rel="noopener noreferrer"&gt;https://docs.qrlia.com&lt;/a&gt; (Pro plan). MCP and REST share one service layer, so they behave the same.&lt;/p&gt;

&lt;h2&gt;
  
  
  Wrap-up
&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>claude</category>
      <category>ai</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
