Endpoint do servidor
O servidor MCP fala JSON-RPC 2.0 sobre HTTP em:
https://cleverutils.com/mcp
Implementa o transporte Streamable HTTP (POST para requisições JSON-RPC). Sem estado de sessão, sem autenticação, limitado por IP a 1000 requisições por dia.
Conectar pelo Claude Desktop
Claude Desktop macOS · Windows
O Claude Desktop atualmente lança servidores MCP como processos locais, então para servidores HTTP remotos como o CleverUtils você usa a ponte oficial mcp-remote (uma linha de npx, sem instalação).
Edite seu claude_desktop_config.json:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"cleverutils": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://cleverutils.com/mcp"]
}
}
}
Reinicie o Claude Desktop. As 15 ferramentas aparecerão no seletor de ferramentas (ícone de martelo). Node.js deve estar instalado — mcp-remote é um pequeno pacote npm que encaminha stdio↔HTTP.
Cursor fork do VS Code
O Cursor oferece suporte nativo a servidores MCP Streamable HTTP. Nas configurações do Cursor → MCP Servers, adicione:
{
"mcpServers": {
"cleverutils": {
"url": "https://cleverutils.com/mcp"
}
}
}
Se sua versão do Cursor ainda não suporta o formato nativo url, use o snippet do proxy mcp-remote da seção do Claude Desktop acima.
Cline / Continue / Zed VS Code, JetBrains, Zed
Cada editor tem sua própria interface de configuração MCP. Onde houver suporte nativo a URL remota, use:
{
"mcpServers": {
"cleverutils": {
"url": "https://cleverutils.com/mcp"
}
}
}
Caso contrário, recorra ao snippet npx mcp-remote acima — ele funciona em qualquer cliente MCP que consiga iniciar um processo local.
Cliente personalizado (qualquer linguagem) SDK
Use o SDK MCP para Python ou TypeScript. Aponte o cliente para https://cleverutils.com/mcp com StreamableHTTPTransport.
Ferramentas disponíveis
O servidor expõe 15 ferramentas. Todas as entradas aceitam uma URL HTTPS (o servidor busca com proteção SSRF) ou um arquivo codificado em base64. As saídas são retornadas como blocos MCP resource_link apontando para uma URL de download válida por 2 horas.
| Nome da ferramenta | Descrição | Parâmetros principais |
|---|---|---|
convert_file | Conversor universal de arquivos (200+ pares de formatos) | file, to_format, img_quality, img_resize_w/h |
upscale_image | Ampliação IA 2x/3x/4x (Real-ESRGAN) | file, scale, model |
remove_background | Remover fundo da imagem → PNG transparente | file |
colorize_photo | Colorizar foto em preto e branco | file |
restore_old_photo | Restauração em múltiplas etapas (colorizar + melhorar) | file |
enhance_photo | Melhoria automática (nitidez, balanço de cor) | file |
vocal_remover | Separar vocais do instrumental (Demucs) | file |
speech_to_text | Transcrever áudio para texto/SRT/VTT (Whisper) | file, format, language |
noise_reduction | Redução de ruído de áudio (DeepFilterNet3) | file |
resize_image | Redimensionar imagem para dimensões | file, width, height |
compress_image | Comprimir JPG/PNG/WebP/GIF com controle de qualidade | file, quality |
compress_pdf | Reduzir o tamanho de um PDF (Ghostscript) | file, quality |
merge_pdfs | Mesclar vários PDFs em um | files[] (2–20) |
get_job_status | Verificar o status de um trabalho anterior pelo ID | job_id |
list_supported_formats | Listar todos os formatos e ferramentas suportados (sem cota) | — |
Exemplos de prompts
Uma vez conectado, você pode pedir ao LLM coisas como:
- "Converta
https://example.com/photo.heicpara JPG." - "Amplie esta imagem em 4x:
https://example.com/icon.png" - "Remova o fundo de
https://example.com/portrait.jpge me dê o PNG transparente." - "Transcreva este podcast como legendas SRT em inglês:
https://example.com/episode.mp3" - "Comprima este PDF para aproximadamente 50% do tamanho original:
https://example.com/report.pdf" - "Mescle estes três PDFs em um:
https://…/a.pdf,https://…/b.pdf,https://…/c.pdf"
Como funciona
- O LLM escolhe uma ferramenta. Com base na sua solicitação, o LLM consulta a lista de ferramentas e escolhe uma (por exemplo,
upscale_image) com os argumentos corretos. - O servidor busca o arquivo. Se você passou uma URL, o servidor a baixa do lado do servidor — atrás de uma lista de bloqueio SSRF rigorosa (sem IPs privados, sem
file://, sem DNS rebinding). - A conversão é executada. O mesmo motor do nosso site e API REST: ImageMagick, FFmpeg, Real-ESRGAN, Demucs, Whisper, Ghostscript, LibreOffice.
- O resultado é retornado como link de recurso. O LLM recebe uma resposta estruturada contendo texto legível ("Arquivo convertido: photo.jpg, 180 KB") e um
resource_linklegível por máquina com uma URL de download válida por 2 horas.
Teste a partir do seu terminal
Se você só quer verificar se o servidor funciona sem configurar um cliente MCP completo, tente este curl:
curl -X POST https://cleverutils.com/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2025-06-18",
"capabilities": {},
"clientInfo": {"name": "curl", "version": "1.0"}
}
}'
curl -X POST https://cleverutils.com/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
curl -X POST https://cleverutils.com/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "convert_file",
"arguments": {
"file": "https://example.com/photo.heic",
"to_format": "jpg"
}
}
}'
Limites e cotas
- 1000 chamadas de ferramenta por dia por IP
- 150 chamadas por hora por IP
- 1 segundo de cooldown entre chamadas consecutivas
- Máx. 200 MB por arquivo (menos para algumas ferramentas de IA pesadas)
- Máx. 20 arquivos em um lote (por exemplo,
merge_pdfs) - 2 horas de retenção para URLs de saída convertidas
- Ferramentas de IA pesadas (upscale, vocal-remover, colorize etc.) têm um limite mais restrito de 50/dia
Mesmo modelo da API REST. Consulte /api/rate-limits para detalhes completos.
Segurança
O servidor é exposto publicamente sem autenticação, então levamos a segurança a sério:
- Proteção SSRF: URLs de arquivos são buscadas do lado do servidor com uma lista de bloqueio rigorosa de faixas de IP privadas (RFC1918, link-local, metadados AWS, IPv6 ULA). DNS rebinding é mitigado fixando o IP resolvido. Apenas esquemas
http(s)://são permitidos. - Limites de tamanho: teto rígido de 200 MB por download, aplicado durante o download em streaming (abortamos no meio da transferência).
- Sem persistência: todos os arquivos de entrada e saídas convertidas são excluídos após 2 horas.
- Registro anônimo: aplicamos hash (SHA-256 com sal) aos IPs dos chamadores para limitação de taxa e detecção de abuso. IPs em texto claro nunca são armazenados.
- Limitação de taxa: limitador idêntico de 5 níveis da nossa API REST.
E se eu for o LLM, não o humano?
Se você (o modelo) está lendo esta página porque o usuário colou a URL, você pode:
- Sugerir que o usuário adicione o servidor à configuração MCP dele (snippets acima).
- Ou, se já tiver acesso HTTP, chamar
POST https://cleverutils.com/mcpcom o corpo JSON-RPC mostrado nos exemplos de curl — isso funciona sem integração de cliente MCP. - Sempre comece com
tools/listpara descobrir o catálogo atual de ferramentas e os esquemas de parâmetros.
Veja também
- Página inicial da API CleverUtils — a API REST subjacente
- Início rápido da API REST — para uso não-LLM
- Referência de endpoints REST
- Limites de taxa
- modelcontextprotocol.io — a especificação MCP