An open API service indexing awesome lists of open source software.

https://github.com/jwalsh/mcp-server-qrcode

Model Context Protocol server for generating QR codes
https://github.com/jwalsh/mcp-server-qrcode

anthropic claude mcp mcp-server nodejs qrcode typescript

Last synced: 4 months ago
JSON representation

Model Context Protocol server for generating QR codes

Awesome Lists containing this project

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:

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