QR-Code-MCP / app.py
Ifeanyi
Updated file name to app.py
bd28547
import gradio as gr
import numpy as np
import qrcode as qr
from PIL import Image
import cv2
# build qr code encoder function
def qr_code_encoder(url, box_size, border_width, fill_color, back_color):
"""
Generate a QR code from a given URL.
Args:
url: The URL to generate the QR code for.
fill_color: The color to fill the QR code with.
back_color: The background color of the QR code.
Returns:
The QR code as a numpy array.
"""
try:
qr_code = qr.QRCode(version=1, box_size=box_size, border=border_width)
qr_code.add_data(url)
qr_code.make(fit=True)
img = qr_code.make_image(fill_color=fill_color, back_color=back_color)
return np.array(img)
except Exception as e:
gr.Info("Failed to generate QR code!")
# build Gradio MCP frontend
qr_code_encoder = gr.Interface(fn=qr_code_encoder,
title="QR Code MCP Server",
inputs = [gr.Text(label = "URL"),
gr.Slider(label = "Select Box Size:",minimum=5,maximum = 20,value = 10,step=1),
gr.Slider(label="Select Border Width:",minimum=1,maximum=10,value=5,step=1),
gr.Radio(label = "Select Fill Color:",
choices = ["black","green","blue"],
value="black"),
gr.Text(label = "Enter Background Color")],
outputs = gr.Image(type="pil",label="QR Code"))
#
if __name__ == "__main__":
qr_code_encoder.launch(mcp_server = True)