本项目是一个使用FastMCP实现的二维码生成MCP服务器,支持将文本转换为二维码,并以Base64编码形式输出。
本二维码生成MCP服务器支持将任意文本转换为二维码,操作简单且功能丰富。你可以根据自己的需求选择不同的安装和使用方式。
uv sync
# 或者
pip install qrcode Pillow mcp
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
version: '3.8'
services:
qrcode-mcp:
build: .
ports:
- "8008:8008"
environment:
- TRANSPORT_MODE=sse
- HOST=0.0.0.0
- PORT=8008
# 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
添加到 ~/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"
}
}
}
from qrcode_utils import text_to_qr_base64
# 基本用法
base64_result = text_to_qr_base64("Hello, World!")
# 自定义样式
base64_result = text_to_qr_base64(
"Custom QR Code",
box_size=15,
fill_color="darkblue",
back_color="lightgray"
)
本项目提供了丰富的自定义选项,你可以根据需要调整二维码的各种参数,如颜色、大小等。例如,在使用 text_to_qr_base64
函数时,可以传入不同的参数来实现自定义样式的二维码生成。
generate_qr_code
生成二维码并返回Base64编码。
参数:
text
(必填):要转换的文本内容。box_size
(可选):每个方块的像素大小,默认值为10。border
(可选):边框方块的数量,默认值为4。fill_color
(可选):前景色,默认值为 "black"。back_color
(可选):背景色,默认值为 "white"。return_data_url
(可选):是否返回Data URL格式,默认值为false。本项目使用FastMCP框架实现二维码生成MCP服务器。通过将文本转换为二维码,并以Base64编码形式输出,支持多种传输模式和自定义样式。在实现过程中,使用了qrcode
和Pillow
库来生成和处理二维码。
本项目采用MIT许可证。