Para agentes

QR codes, sem o navegador.

O FreeQrly fala HTTP e MCP. Gere QR codes estáticos de qualquer agente, script ou fluxo de trabalho — sem chave, sem cadastro, sem expiração. Se você consegue fazer uma requisição, consegue fazer um código.

Formas de conectar

🧰 Servidor MCP

Adicione https://freeqrly.com/mcp ao seu cliente MCP. Uma ferramenta — generate_qr — sem autenticação. Funciona com Claude Code, Cursor e qualquer coisa que fale HTTP Streamable.

🌐 API HTTP

Um endpoint GET simples que retorna SVG. O CORS é totalmente aberto, então navegadores, curl e funções serverless podem chamá-lo diretamente.

📜 Skill para agentes

Uma SKILL.md com receitas de payload vive no repositório em skills/qr-generator/. Aponte seu agente para ela e ele sabe o resto.

🤖 llms.txt

/llms.txt descreve o site inteiro para crawlers e assistentes — endpoints, formatos de payload e mapa de páginas em um único arquivo.

API HTTP

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

Retorna image/svg+xml. Somente data é obrigatório; todo o resto tem um padrão sensato. Erros voltam como JSON com um 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 para codificar (obrigatório, máx. 2000 caracteres). URLs, strings de WiFi, vCards, texto simples.
  • size — tamanho de saída em px, 128–2048 (padrão 1024).
  • margin — zona de silêncio em módulos, 0–10 (padrão 4).
  • color / bgcolor — hexadecimal de 6 dígitos, sem # (padrões 2F4A62 / ffffff).
  • ecc — correção de erros L, M, Q, H (padrão M). Use Q/H para impressão ou logos.

MCP

POST https://freeqrly.com/mcp

HTTP Streamable padrão: initialize, depois tools/list / tools/call. A ferramenta generate_qr recebe data, size, color, bgcolor, ecc e retorna uma URL de SVG pronta para baixar.

{
  "jsonrpc": "2.0", "id": 1, "method": "tools/call",
  "params": {
    "name": "generate_qr",
    "arguments": { "data": "https://example.com", "size": 1024 }
  }
}

Receitas 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

É grátis, mas seja gentil: guarde resultados em cache em vez de pedir o mesmo código de novo, e mantenha o tráfego automatizado razoável. Limites de taxa por IP se aplicam. Códigos estáticos são determinísticos — a mesma entrada sempre gera a mesma saída, então o cache é trivial.