FreeQrly habla HTTP y MCP. Genera códigos QR estáticos desde cualquier agente, script o flujo de trabajo: sin clave, sin registro, sin caducidad. Si puedes hacer una petición, puedes hacer un código.
Añade https://freeqrly.com/mcp a tu cliente MCP. Una herramienta — generate_qr — sin autenticación. Funciona con Claude Code, Cursor y cualquier cosa que hable HTTP Streamable.
Un endpoint GET simple que devuelve SVG. CORS está totalmente abierto, así que navegadores, curl y funciones serverless pueden llamarlo directamente.
Un SKILL.md con recetas de payload vive en el repo en skills/qr-generator/. Apunta a tu agente hacia él y sabe el resto.
/llms.txt describe todo el sitio para rastreadores y asistentes: endpoints, formatos de payload y mapa de páginas en un solo archivo.
Devuelve image/svg+xml. Solo data es obligatorio; todo lo demás tiene un valor por defecto sensato. Los errores vuelven como JSON con un campo error.
curl "https://freeqrly.com/api/qr?data=https://example.com&size=1024" \ -o qr.svg # WiFi QR code for guests curl "https://freeqrly.com/api/qr?data=WIFI:T:WPA;S:CafeNet;P:s3cret;;" \ -o wifi.svg
# (por defecto 2F4A62 / ffffff).L, M, Q, H (por defecto M). Usa Q/H para impresión o logos.HTTP Streamable estándar: initialize, luego tools/list / tools/call. La herramienta generate_qr toma data, size, color, bgcolor, ecc y devuelve una URL de SVG lista para descargar.
{
"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {
"name": "generate_qr",
"arguments": { "data": "https://example.com", "size": 1024 }
}
}
Website : https://example.com/menu WiFi : WIFI:T:WPA;S:CafeNet;P:s3cret;; Contact : BEGIN:VCARD\nVERSION:3.0\nN:Ada Lovelace\nTEL:+15550100\nEND:VCARD Place : geo:37.7749,-122.4194 SMS : sms:+15550100?body=Hello
Es gratis, pero sé amable: guarda resultados en caché en lugar de volver a pedir el mismo código, y mantén el tráfico automatizado en niveles razonables. Aplican límites por IP. Los códigos estáticos son deterministas: la misma entrada siempre produce la misma salida, así que el caché es trivial.