返回市场
二维码_mCP

二维码_mCP

作者:2niuhe11 星标更新:2025-07-06

项目介绍

QR码生成MCP服务器

使用FastMCP实现的QR码生成MCP服务器,支持文本到QR码的转换,并以Base64编码输出。

<a href="https://glama.ai/mcp/servers/@2niuhe/qrcode_mcp"> <img width="380" height="200" src="https://gips0.baidu.com/it/u=3652558691,545543219&fm=3081&app=3081&f=PNG?w=760&h=400" /> </a>

特性

  • 支持任意文本(包括中文字符)到QR码的转换
  • 可定制的颜色和样式
  • Base64编码
  • 支持STDIO、HTTP和SSE传输模式

安装

uv sync
# 或者
pip install qrcode Pillow mcp

使用方法

0. Docker使用

构建镜像

docker build -t qrcode-mcp .

运行容器

# 默认SSE模式
docker run -p 8008:8008 qrcode-mcp

# HTTP模式
docker run -p 8008:8008 -e TRANSPORT_MODE=http qrcode-mcp

# STDIO模式(用于测试)
docker run -e TRANSPORT_MODE=stdio qrcode-mcp

# 自定义主机和端口
docker run -p 9000:9000 -e TRANSPORT_MODE=http -e HOST=0.0.0.0 -e PORT=9000 qrcode-mcp

环境变量

  • TRANSPORT_MODE: 传输模式 (sse, http, stdio),默认值:sse
  • HOST: 绑定的主机地址,默认值:0.0.0.0
  • PORT: 绑定的端口,默认值: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服务器模式

启动服务器

# STDIO模式(用于Claude桌面)
python qrcode_mcp_server.py

# HTTP模式
python qrcode_mcp_server.py --http --host 127.0.0.1 --port 8008

# SSE模式(服务器发送事件)已弃用
python qrcode_mcp_server.py --sse --host 127.0.0.1 --port 8008

配置Claude桌面

添加到 ~/Library/Application Support/Claude/claude_desktop_config.json

STDIO模式(本地使用):

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

HTTP模式(网络部署):

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

SSE模式(服务器发送事件):

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

2. 直接Python API使用

from qrcode_utils import text_to_qr_base64

# 基本使用
base64_result = text_to_qr_base64("Hello, World!")

# 自定义样式
base64_result = text_to_qr_base64(
    "自定义二维码",
    box_size=15,
    fill_color="darkblue",
    back_color="lightgray"
)

MCP工具

generate_qr_code

生成QR码并返回Base64编码。

参数:

  • text(必需):要转换的文本内容
  • box_size(可选):每个方块的像素大小,默认值10
  • border(可选):边框方块的数量,默认值4
  • fill_color(可选):前景颜色,默认值"black"
  • back_color(可选):背景颜色,默认值"white"
  • return_data_url(可选):是否返回Data URL格式,默认值false

测试

python test_mcp_client.py

许可证

MIT许可证