Para agentes

Códigos QR, sin el navegador.

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.

Formas de conectar

🧰 Servidor MCP

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.

🌐 API HTTP

Un endpoint GET simple que devuelve SVG. CORS está totalmente abierto, así que navegadores, curl y funciones serverless pueden llamarlo directamente.

📜 Skill de agente

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

/llms.txt describe todo el sitio para rastreadores y asistentes: endpoints, formatos de payload y mapa de páginas en un solo archivo.

API HTTP

GET https://freeqrly.com/api/qr?data=TEXT&size=1024&margin=4&color=2F4A62&bgcolor=ffffff&ecc=M

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

Parámetros

  • data — texto a codificar (obligatorio, máx. 2000 caracteres). URLs, cadenas WiFi, vCards, texto plano.
  • size — tamaño de salida en px, 128–2048 (por defecto 1024).
  • margin — zona de silencio en módulos, 0–10 (por defecto 4).
  • color / bgcolor — hex de 6 dígitos, sin # (por defecto 2F4A62 / ffffff).
  • ecc — corrección de errores L, M, Q, H (por defecto M). Usa Q/H para impresión o logos.

MCP

POST https://freeqrly.com/mcp

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 }
  }
}

Recetas de payload

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

Uso justo

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.