二维码生成MCP服务器
使用FastMCP实现的QR码生成MCP服务器,支持文本到QR码的转换,输出base64编码。
特性
- 支持任何文本到二维码的转换(包括汉字)
- 可定制的颜色和样式
- Base64编码
- 支持STDIO、HTTP和SSE传输模式
安装
uv sync
# or
pip install qrcode Pillow mcp用法
0.Docker使用
构建图像
docker build -t qrcode-mcp .运行容器
# 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环境变量
TRANSPORT_MODE:运输方式(sse,http,stdio),默认值:sseHOST:要绑定的主机地址,默认值:0.0.0.0PORT:要绑定的端口,默认值:8008
Docker Compose
version: '3.8'
services:
qrcode-mcp:
build: .
ports:
- "8008:8008"
environment:
- TRANSPORT_MODE=sse
- HOST=0.0.0.0
- PORT=80081.MCP服务器模式
启动服务器
# 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配置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
# 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工具
generate_qr_code
生成二维码并返回base64编码。
参数:
text(必填):要转换的文本内容box_size(可选):每个框的像素大小,默认为10border(可选):边框数量,默认为4fill_color(可选):前景颜色,默认为“黑色”back_color(可选):背景颜色,默认为“白色”return_data_url(可选):是否返回数据URL格式,默认为false
测试
python test_mcp_client.py许可证
MIT许可证
