Skip to main content
Glama

qrcode generator

by 2niuhe

QR Code Generation MCP Server

A QR code generation MCP server implemented using FastMCP, supporting text-to-QR code conversion with base64 encoding output.

Features

  • Support for any text to QR code conversion (including Chinese characters)
  • Customizable colors and styles
  • Base64 encoding
  • Support for STDIO, HTTP, and SSE transport modes

Installation

uv sync # or pip install qrcode Pillow mcp

Usage

0. Docker Usage

Build Image
docker build -t qrcode-mcp .
Run Container
# Default SSE mode docker run -p 8008:8008 qrcode-mcp # HTTP mode docker run -p 8008:8008 -e TRANSPORT_MODE=http qrcode-mcp # STDIO mode (for testing) docker run -e TRANSPORT_MODE=stdio qrcode-mcp # Custom host and port docker run -p 9000:9000 -e TRANSPORT_MODE=http -e HOST=0.0.0.0 -e PORT=9000 qrcode-mcp
Environment Variables
  • TRANSPORT_MODE: Transport mode (sse, http, stdio), default: sse
  • HOST: Host address to bind, default: 0.0.0.0
  • PORT: Port to bind, default: 8008
Docker Compose
version: '3.8' services: qrcode-mcp: build: . ports: - "8008:8008" environment: - TRANSPORT_MODE=sse - HOST=0.0.0.0 - PORT=8008

1. MCP Server Mode

Start Server
# STDIO mode (for Claude Desktop) python qrcode_mcp_server.py # HTTP mode python qrcode_mcp_server.py --http --host 127.0.0.1 --port 8008 # SSE mode (Server-Sent Events) Deprecated python qrcode_mcp_server.py --sse --host 127.0.0.1 --port 8008
Configure Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

STDIO Mode (Local Use):

{ "mcpServers": { "qrcode-mcp": { "command": "python", "args": ["/ABSOLUTE/PATH/TO/qrcode_mcp/qrcode_mcp_server.py"], "cwd": "/ABSOLUTE/PATH/TO/qrcode_mcp" } } }

HTTP Mode (Network Deployment):

{ "mcpServers": { "qrcode-mcp": { "transport": "http", "url": "http://127.0.0.1:8008/mcp/" } } }

SSE Mode (Server-Sent Events):

{ "mcpServers": { "qrcode-mcp": { "serverUrl": "http://127.0.0.1:8008/sse" } } }

2. Direct Python API Usage

from qrcode_utils import text_to_qr_base64 # Basic usage base64_result = text_to_qr_base64("Hello, World!") # Custom styling base64_result = text_to_qr_base64( "Custom QR Code", box_size=15, fill_color="darkblue", back_color="lightgray" )

MCP Tools

generate_qr_code

Generate QR code and return base64 encoding.

Parameters:

  • text (required): Text content to convert
  • box_size (optional): Pixel size of each box, default 10
  • border (optional): Number of border boxes, default 4
  • fill_color (optional): Foreground color, default "black"
  • back_color (optional): Background color, default "white"
  • return_data_url (optional): Whether to return Data URL format, default false

Testing

python test_mcp_client.py

License

MIT License

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

mcp tool to generate qrcode

  1. Features
    1. Installation
      1. Usage
        1. Docker Usage
        2. MCP Server Mode
        3. Direct Python API Usage
      2. MCP Tools
        1. generate_qr_code
      3. Testing
        1. License

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            An MCP server that generates customizable QR codes with options for size, colors, error correction, and margin settings.
            Last updated -
            4
            TypeScript
            MIT License

          View all related MCP servers

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/2niuhe/qrcode_mcp'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server