# 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

``` example
Please generate a QR code for https://example.com
```

``` example
Generate a QR code for the Wi-Fi network "GuestWiFi" with password "Welcome123"
```

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

# Installation

``` bash
npm install -g @jwalsh/mcp-server-qrcode
```

# Usage

## Claude Desktop

``` json
{
  "mcpServers": {
    "qrcode": {
      "command": "npx",
      "args": [
        "-y",
        "@jwalsh/mcp-server-qrcode"
      ]
    }
  }
}
```

For detailed setup instructions, please refer to:

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

## Claude Desktop

``` json
{
  "mcpServers": {
    "qrcode": {
      "args": [
        "-y",
        "@jwalsh/mcp-server-qrcode"
      ],
      "command": "npx"
    }
  }
}
```

## Emacs with mcp.el

``` {.elisp results="silent"}
;; Basic installation with straight.el
(use-package mcp
  :straight (mcp :type git :host github :repo "lizqwerscott/mcp.el"))
```

``` {.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)))
```

``` {.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")))
```

## MCP Inspector

``` bash
npx -y @modelcontextprotocol/inspector npx -y @jwalsh/mcp-server-qrcode
```

## NPM Package CLI

``` bash
# Verify installation
echo '{"method":"tools/list","params":{},"id":1,"jsonrpc":"2.0"}' | mcp-server-qrcode | jq -r '.result.tools[]|.name'
```

``` {.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'
```

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

# Developer Documentation

For detailed setup, installation, contribution guidelines, and
additional integration methods, please refer to
[DEVELOPERS.org](DEVELOPERS.org).
