Un LLM è brillante e cieco. E quella cecità è silenziosa.
Uno scraper normale consegna al tuo agente una pagina di verifica Cloudflare come se fosse l'articolo. L'agente ci crede, la riassume e agisce di conseguenza. Non genera alcun errore. Nessuno se ne accorge finché non lo fa un cliente.
Ogni lettura arriva con una ricevuta.
render_quality misura quanto fedelmente è stata renderizzata una pagina prima di leggerla. Le pagine di verifica, i gusci vuoti delle SPA, i caricamenti differiti parziali e gli interstitial lo fanno scendere. È la linea di confine tra "il mio agente potrebbe star agendo su spazzatura" e "il mio agente lo sa".
- Valutato a ogni letturaNon è un health check che devi configurare tu. Ogni risposta di perceive e convert porta un campo render_quality, da 0,0 a 1,0.
- Segnalato sotto 0,40Una pagina bloccata o protetta da login torna comunque per intero, ma con un punteggio basso e un array warnings che indica cosa abbiamo rilevato. Il tuo agente ottiene il contenuto e la verità su di esso, così una pagina di verifica non viene mai scambiata per quella reale.
- Nessun altro lo faNon le API di scraping, non le API di conversione, non i cinque fornitori che dovresti mettere insieme. Il punteggio è l'unica cosa che non puoi ottenere altrove.
{
"render_quality": 0.12,
"status": "blocked",
"warnings": ["challenge_page"],
"markdown": "…" // full output, flagged
}Abbiamo misurato il fallimento silenzioso.
Lo stesso insieme di pagine ostili, letto in due modi. Una fetch ingenua restituisce una pagina di blocco come se fosse contenuto, e non lo segnala mai. Enconvert renderizza la pagina reale dove la fetch ingenua ha fallito, e segnala le poche che non riesce a gestire. Il harness di test e l'elenco degli URL sono pubblici, quindi puoi eseguirlo tu stesso.
URL reali testati: bloccati da bot, con paywall, ricchi di JS
Una fetch ingenua ha restituito silenziosamente una pagina di blocco come "contenuto"
Di queste, Enconvert ha renderizzato invece la pagina reale (recuperate)
Per le pagine che ancora non riusciva a renderizzare, Enconvert le ha segnalate, senza farne passare nessuna in silenzio
Guardalo smascherare una pagina che mente.
Una registrazione dello schermo non montata: il fondatore esegue l'MCP dentro un agente reale, su una pagina pulita e su una che oppone resistenza. Circa 40 secondi.
- Lo scraper del tuo agente non sa dire quando viene bloccato. Guarda il mio, dal vivo.
- Un comando: claude mcp add enconvert, incolla una chiave. Fatto.
- Puntalo su una pagina pulita: render_quality 0,96, torna Markdown pulito.
- Ora una pagina protetta da Cloudflare: render_quality 0,12, il blocco viene segnalato direttamente nella risposta.
- Prodotto vero, una pagina vera che resiste, un punteggio vero e onesto. Niente di costruito ad arte.
Gli occhi sono già reali oggi.
Tutto ciò che permette al tuo agente di leggere il mondo esterno, file e web, è live. Sette strumenti, una chiave API, un punteggio onesto su ogni lettura.
7 strumenti · tutti live- convertApri 46 tipi di file in un'unica richiesta.PDF · DOCX · HEIC · CSV · URLLive
- perceiveQualsiasi URL trasformato in Markdown pulito, JSON o uno screenshot. Ogni lettura valutata.URL → MD · PNG · JSONLive
- discoverMappa ogni URL di un sito senza renderizzare una pagina.SITE → URL MAPLive
- lookupCerca nel web in tempo reale direttamente dalla conversazione.QUERY → RESULTSLive
- distillPassa uno schema e ricevi dati strutturati da qualsiasi pagina.SCHEMA → JSONLive
- ingestEsegui il crawling di un intero sito in chunk pronti per il RAG con una sola chiamata.SITE → CHUNKSLive
- watchRicevi un webhook nel momento in cui una pagina che monitori cambia.PAGE → DIFFLive
Le mani stanno arrivando. Non facciamo finta che siano già qui.
Il controllo reale del browser è in sviluppo attivo per il 2026, non ancora invocabile. Gli utenti fondatori ottengono le mani per primi. Ti diciamo esattamente cosa è stato rilasciato e cosa no, la stessa onestà che diamo a ogni lettura.
Stai per dipendere da noi. Ecco perché è sicuro.
Ancora nessun logo da mostrare. Al loro posto, ciò per cui i loghi sono un surrogato: un livello di integrazione verificabile e forkabile, una postura di sicurezza reale e un fondatore a cui puoi scrivere via email.
Le release recenti appariranno qui.
Il server MCP e l'SDK Node che avvolge sono con licenza MIT e pubblici. Leggili, forkali, ospitali tu stesso. Il motore di conversione dietro di essi è proprietario e resta nostro, ma il livello di I/O del tuo agente è verificabile e non ti potrà mai essere tolto.
Ogni URL viene controllato contro SSRF prima di recuperarlo: nessun IP privato o link-local, nessun endpoint di metadati, nessuna rete interna. I contesti del browser sono in sandbox con i permessi disabilitati, e ogni operazione ha un timeout.
L'installazione legge la tua chiave API (da ENCONVERT_API_KEY o ~/.enconvert/config.json, chmod 600) e modifica solo le configurazioni dei client AI che scegli. Ognuna viene prima salvata come backup, e la tua chiave non viene mai copiata al loro interno. In esecuzione chiama l'API Enconvert oltre a qualsiasi file o URL che le fornisci. Analisi d'uso oscurate (nome dello strumento, tempistiche, un id chiave con hash — mai la tua chiave grezza; URL, percorsi file ed email vengono ripuliti) vengono inviate a PostHog; imposta DO_NOT_TRACK=1 per disattivarle.
Una pagina di stato pubblica ti dice la verità sull'uptime, allo stesso modo in cui render_quality ti dice la verità su una lettura. Il changelog è in arrivo.
Mi sono stancato di incollare insieme cinque fornitori ogni volta che un agente doveva leggere un file o una pagina web, e poi di badare agli script che tenevano tutto in piedi. L'agente sapeva ragionare. Semplicemente non sapeva vedere. Peggio ancora, non riusciva a capire quando ciò che vedeva era una pagina Cloudflare invece di quella reale. Così ho costruito un unico server che gli dà occhi onesti: legge qualsiasi cosa e valuta ogni lettura. Rispondo alle email personalmente.
Sostituisce lo stack che stai tenendo insieme con lo scotch.
Dare occhi a un agente oggi significa cucire insieme quattro o cinque fornitori e sorvegliare le cuciture. Ora è un'unica dipendenza, con un punteggio che nessuno di loro ti dà.
- Firecrawlper estrarre le pagine in markdown
- CloudConvertper convertire i file
- Browserbaseper una flotta di browser headless
- an LLM-extract stepper estrarre dati strutturati
- cron + glue scriptsper tenere tutto in funzione
- Un server MCP
- Una chiave API
- Una fattura
Una fattura, nessun secondo abbonamento di estrazione AI, e un punteggio render_quality su ogni lettura.
Il controllo del browser (la parte di Browserbase) è nella roadmap 2026, non conteggiato in "oggi".
Salta il codice collante.
Lo stesso motore di conversione dell'API REST. Nessuno del lavoro di integrazione.
Avvolgere l'API REST da solo
Il tuo codice possiede tutto questo, per sempre:
- L'idraulica HTTP e gli upload multipart
- La validazione dello schema su ogni input
- Il polling dei job di lunga durata
- La logica di retry e backoff
- L'estrazione degli URL prefirmati dalle risposte
- Il tuo controllo personale "questa pagina si è davvero renderizzata?"
Registrare il server MCP
Una voce nella configurazione del tuo client:
npx @enconvert/mcp setupIl runtime dell'agente gestisce polling, retry, autenticazione e gestione dell'output. Cursor, Windsurf, Zed e JetBrains usano la stessa struttura JSON; il README le contiene tutte.
Una fetch grezza consegna al tuo agente byte e uno 200. Enconvert gli consegna Markdown pulito, JSON e un punteggio render_quality, così l'agente può ragionare se fidarsi di ciò che ha appena letto. Questo gate di onestà è esattamente ciò che dovresti altrimenti costruire e mantenere da solo.
Domande sul server MCP
Il tuo agente è a un'installazione di distanza dal vedere tutto.
Gratis per un periodo limitato. $29/mese quando scali. Una fattura, senza sorprese.