mcp-server-qrcode

The MCP QR Code Server is a server designed to generate QR codes using the Model Context Protocol. It allows the generation of QR codes for various content types such as URLs, Wi-Fi credentials, and contact information across multiple client interfaces. It offers extensive customization options, including size adjustments and error correction levels.

GitHub Stars

4

User Rating

Not Rated

Favorites

0

Views

21

Forks

2

Issues

10

README

#+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:

** 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]].