Endpoint del server
Il server MCP parla JSON-RPC 2.0 su HTTP all'indirizzo:
https://cleverutils.com/mcp
Implementa il trasporto Streamable HTTP (POST per le richieste JSON-RPC). Nessuno stato di sessione, nessuna autenticazione, limite per IP di 1000 richieste al giorno.
Connettersi da Claude Desktop
Claude Desktop macOS · Windows
Claude Desktop attualmente avvia i server MCP come processi locali, quindi per server HTTP remoti come CleverUtils si fa il proxy tramite il ponte ufficiale mcp-remote (una riga di npx, senza installazione).
Modifica il tuo 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"]
}
}
}
Riavvia Claude Desktop. I 15 strumenti appariranno nel selettore degli strumenti (l'icona del martello). Node.js deve essere installato — mcp-remote è un piccolo pacchetto npm che inoltra stdio↔HTTP.
Cursor fork di VS Code
Cursor supporta nativamente i server MCP Streamable HTTP. Nelle impostazioni di Cursor → MCP Servers, aggiungi:
{
"mcpServers": {
"cleverutils": {
"url": "https://cleverutils.com/mcp"
}
}
}
Se la tua versione di Cursor non supporta ancora la forma nativa url, usa lo snippet del proxy mcp-remote dalla sezione Claude Desktop sopra.
Cline / Continue / Zed VS Code, JetBrains, Zed
Ogni editor ha la propria interfaccia di configurazione MCP. Dove è supportata una forma nativa di URL remoto, usa:
{
"mcpServers": {
"cleverutils": {
"url": "https://cleverutils.com/mcp"
}
}
}
Altrimenti ripiega sullo snippet npx mcp-remote sopra — funziona in qualsiasi client MCP in grado di avviare un processo locale.
Client personalizzato (qualsiasi linguaggio) SDK
Usa l'SDK MCP per Python o TypeScript. Punta il client a https://cleverutils.com/mcp con StreamableHTTPTransport.
Strumenti disponibili
Il server espone 15 strumenti. Tutti gli input accettano un URL HTTPS (il server lo recupera con protezione SSRF) o un file codificato in base64. Gli output sono restituiti come blocchi MCP resource_link che puntano a un URL di download valido per 2 ore.
| Nome dello strumento | Descrizione | Parametri principali |
|---|---|---|
convert_file | Convertitore file universale (200+ coppie di formati) | file, to_format, img_quality, img_resize_w/h |
upscale_image | Ingrandimento IA 2x/3x/4x (Real-ESRGAN) | file, scale, model |
remove_background | Rimuovi sfondo dell'immagine → PNG trasparente | file |
colorize_photo | Colorizza foto in bianco e nero | file |
restore_old_photo | Restauro multi-fase (colorizzazione + miglioramento) | file |
enhance_photo | Miglioramento automatico (nitidezza, bilanciamento colore) | file |
vocal_remover | Separa le voci dallo strumentale (Demucs) | file |
speech_to_text | Trascrivi audio in testo/SRT/VTT (Whisper) | file, format, language |
noise_reduction | Riduzione del rumore audio (DeepFilterNet3) | file |
resize_image | Ridimensiona immagine alle dimensioni | file, width, height |
compress_image | Comprimi JPG/PNG/WebP/GIF con controllo qualità | file, quality |
compress_pdf | Riduci la dimensione del file PDF (Ghostscript) | file, quality |
merge_pdfs | Unisci più PDF in uno solo | files[] (2–20) |
get_job_status | Controlla lo stato di un lavoro precedente tramite ID | job_id |
list_supported_formats | Elenca tutti i formati e gli strumenti supportati (senza quota) | — |
Esempi di prompt
Una volta connesso, puoi chiedere all'LLM cose come:
- «Converti
https://example.com/photo.heicin JPG.» - «Ingrandisci questa immagine di 4x:
https://example.com/icon.png» - «Rimuovi lo sfondo da
https://example.com/portrait.jpge dammi il PNG trasparente.» - «Trascrivi questo podcast come sottotitoli SRT in inglese:
https://example.com/episode.mp3» - «Comprimi questo PDF a circa il 50% della dimensione originale:
https://example.com/report.pdf» - «Unisci questi tre PDF in uno:
https://…/a.pdf,https://…/b.pdf,https://…/c.pdf»
Come funziona
- L'LLM sceglie uno strumento. In base alla tua richiesta, l'LLM esamina l'elenco degli strumenti e ne sceglie uno (es.
upscale_image) con gli argomenti corretti. - Il server recupera il file. Se hai passato un URL, il server lo scarica lato server — dietro una rigorosa lista di blocco SSRF (nessun IP privato, nessun
file://, nessun DNS rebinding). - La conversione viene eseguita. Lo stesso motore del nostro sito web e dell'API REST: ImageMagick, FFmpeg, Real-ESRGAN, Demucs, Whisper, Ghostscript, LibreOffice.
- Il risultato viene restituito come resource link. L'LLM riceve una risposta strutturata contenente sia testo leggibile («File convertito: photo.jpg, 180 KB») sia un
resource_linkleggibile dalla macchina con un URL di download valido per 2 ore.
Provalo dal tuo terminale
Se vuoi solo verificare che il server funzioni senza configurare un client MCP completo, prova questo 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"
}
}
}'
Limiti e quote
- 1000 chiamate agli strumenti al giorno per IP
- 150 chiamate all'ora per IP
- 1 secondo di cooldown tra chiamate consecutive
- Max 200 MB per file (meno per alcuni strumenti IA pesanti)
- Max 20 file in un batch (es.
merge_pdfs) - 2 ore di conservazione per gli URL di output convertiti
- Gli strumenti IA pesanti (upscale, vocal-remover, colorize, ecc.) hanno un limite più stretto di 50/giorno
Stesso modello dell'API REST. Vedi /api/rate-limits per tutti i dettagli.
Sicurezza
Il server è esposto pubblicamente senza autenticazione, quindi prendiamo sul serio la sicurezza:
- Protezione SSRF: gli URL dei file sono recuperati lato server con una rigorosa lista di blocco di intervalli IP privati (RFC1918, link-local, metadati AWS, IPv6 ULA). Il DNS rebinding è mitigato fissando l'IP risolto. Sono consentiti solo gli schemi
http(s)://. - Limiti di dimensione: tetto massimo di 200 MB per recupero, applicato durante il download in streaming (interrompiamo a metà trasferimento).
- Nessuna persistenza: tutti i file di input e gli output convertiti vengono eliminati dopo 2 ore.
- Logging anonimo: eseguiamo l'hash degli IP dei chiamanti (SHA-256 con sale) per la limitazione di velocità e il rilevamento degli abusi. Gli IP in chiaro non vengono mai memorizzati.
- Limitazione di velocità: limitatore identico a 5 livelli come la nostra API REST.
E se fossi io l'LLM, non l'umano?
Se tu (il modello) stai leggendo questa pagina perché l'utente ha incollato l'URL, puoi:
- Suggerire all'utente di aggiungere il server alla sua configurazione MCP (snippet sopra).
- Oppure, se hai già accesso HTTP, chiamare
POST https://cleverutils.com/mcpcon il corpo JSON-RPC mostrato negli esempi curl — funziona senza integrazione client MCP. - Inizia sempre con
tools/listper scoprire il catalogo attuale degli strumenti e gli schemi dei parametri.
Vedi anche
- Home dell'API CleverUtils — l'API REST sottostante
- Avvio rapido dell'API REST — per uso non-LLM
- Riferimento degli endpoint REST
- Limiti di velocità
- modelcontextprotocol.io — la specifica MCP