✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

#+TITLE: MCP QR Code Server

  • Overview Generate QR codes seamlessly using the Model Context Protocol (MCP). This server connects large language models to QR code generation capabilities across multiple client interfaces.

  • Features

  • Generate QR codes for multiple content types:
    • URLs and website links
    • WiFi network credentials
    • Contact information (vCard)
    • Plain text
    • Calendar events (iCal)
  • Multiple output formats:
    • PNG images (base64-encoded)
    • ASCII/text representation
    • Data URL format
  • Customization options:
    • Size adjustment (100-1000px)
    • Error correction levels (L, M, Q, H)
    • Format selection (image, text)
  • Quick Examples

#+begin_example Please generate a QR code for https://example.com #+end_example

#+begin_example Generate a QR code for the Wi-Fi network “GuestWiFi” with password “Welcome123” #+end_example

#+begin_example Create a QR code for my contact information: Name: John Doe Email: john@example.com Phone: 555-123-4567 #+end_example

  • Installation

#+begin_src bash npm install -g @jwalsh/mcp-server-qrcode #+end_src

  • Usage

** Claude Desktop #+begin_src json { “mcpServers”: { “qrcode”: { “command”: “npx”, “args”: [ “-y”, “@jwalsh/mcp-server-qrcode” ] } } } #+end_src

For detailed setup instructions, please refer to:

  • [[https://modelcontextprotocol.io/quickstart/user][MCP for Claude Desktop Users]]
  • [[https://modelcontextprotocol.io/quickstart/server][Building MCP Servers]]
  • [[https://docs.anthropic.com/en/docs/agents-and-tools/mcp][Anthropic MCP Documentation]]

** Claude Desktop

#+begin_src json { “mcpServers”: { “qrcode”: { “args”: [ “-y”, “@jwalsh/mcp-server-qrcode” ], “command”: “npx” } } } #+end_src

** Emacs with mcp.el #+begin_src elisp :results silent ;; Basic installation with straight.el (use-package mcp :straight (mcp :type git :host github :repo “lizqwerscott/mcp.el”)) #+end_src

#+begin_src elisp :results silent ;; Connect to the QR code server (mcp-connect-server “qrcode” “npx” '(“-y” “@jwalsh/mcp-server-qrcode”) :initial-callback (lambda (connection) (message “Connected to %s” (jsonrpc-name connection))) :tools-callback (lambda (connection tools) (message “Available tools: %s” tools))) #+end_src

#+begin_src elisp :results raw :wrap example ;; Generate a QR code (let ((connection (gethash “qrcode” mcp-server-connections))) (mcp-call-tool connection “generate-qrcode” '(:content “https://example.com” :format “text”))) #+end_src

#+RESULTS: #+begin_example (:content [(:type text :text QR Code for “https://example.com”:

█████████████████████████████████ █████████████████████████████████ ████ ▄▄▄▄▄ █▄▀ █ ▀ █▀█ ▄▄▄▄▄ ████ ████ █ █ █▄ ▄█▀ ▀█▄█ █ █ ████ ████ █▄▄▄█ █▀ █ ▀█ ███ █▄▄▄█ ████ ████▄▄▄▄▄▄▄█▄▀▄█ █ ▀ █▄▄▄▄▄▄▄████ ████ ▀▄▀▀▀▄▄▀▀ ▄▀▄▀▀ █▀▄▀ ████ ████▄▀█▄▀ ▄▄▀ ▀▀█▄▀▄█▀▄ ▄█▄████ █████▀▀▄ ▄▄▄ ▀ █ ▄█ █ ███▀ ████ ████▄▄▄█▄▄▄▀▄▀█▀ ▄ ▄ ▄▀▀ ▄█▄████ ████▄▄██▄█▄▄▀▄███ █ ▄▄▄ ██▄▀████ ████ ▄▄▄▄▄ █▄█▄▄█▀█▀ █▄█ ██▀ ████ ████ █ █ ██ █▄ ▄█▄▄ ▄▄ █▀ ▄████ ████ █▄▄▄█ █▄ █▀ ▄ ▀ ▄█▄▄████ ████▄▄▄▄▄▄▄█▄▄▄██▄▄█▄█▄██▄██▄████ █████████████████████████████████ █████████████████████████████████ )]) #+end_example

** MCP Inspector

#+begin_src bash npx -y @modelcontextprotocol/inspector npx -y @jwalsh/mcp-server-qrcode #+end_src

** NPM Package CLI

#+begin_src bash

Verify installation

echo ‘{“method”:“tools/list”,“params”:{},“id”:1,“jsonrpc”:“2.0”}’ | mcp-server-qrcode | jq -r ‘.result.tools[]|.name’ #+end_src

#+RESULTS: : generate-qrcode

#+begin_src bash :results raw :results raw

Generate QR code via JSON-RPC

echo ‘{“method”:“tools/call”,“params”:{“name”:“generate-qrcode”,“arguments”:{“content”:“https://example.com”,“format”:“text”}},“id”:1,“jsonrpc”:“2.0”}’ | mcp-server-qrcode | jq -r ‘.result.content[0].text’ #+end_src

#+RESULTS: QR Code for “https://example.com”:

█████████████████████████████████ █████████████████████████████████ ████ ▄▄▄▄▄ █▄▀ █ ▀ █▀█ ▄▄▄▄▄ ████ ████ █ █ █▄ ▄█▀ ▀█▄█ █ █ ████ ████ █▄▄▄█ █▀ █ ▀█ ███ █▄▄▄█ ████ ████▄▄▄▄▄▄▄█▄▀▄█ █ ▀ █▄▄▄▄▄▄▄████ ████ ▀▄▀▀▀▄▄▀▀ ▄▀▄▀▀ █▀▄▀ ████ ████▄▀█▄▀ ▄▄▀ ▀▀█▄▀▄█▀▄ ▄█▄████ █████▀▀▄ ▄▄▄ ▀ █ ▄█ █ ███▀ ████ ████▄▄▄█▄▄▄▀▄▀█▀ ▄ ▄ ▄▀▀ ▄█▄████ ████▄▄██▄█▄▄▀▄███ █ ▄▄▄ ██▄▀████ ████ ▄▄▄▄▄ █▄█▄▄█▀█▀ █▄█ ██▀ ████ ████ █ █ ██ █▄ ▄█▄▄ ▄▄ █▀ ▄████ ████ █▄▄▄█ █▄ █▀ ▄ ▀ ▄█▄▄████ ████▄▄▄▄▄▄▄█▄▄▄██▄▄█▄█▄██▄██▄████ █████████████████████████████████ █████████████████████████████████

  • Developer Documentation For detailed setup, installation, contribution guidelines, and additional integration methods, please refer to [[file:DEVELOPERS.org][DEVELOPERS.org]].

Featured Templates

View More

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.