CrawlForge
Laman UtamaPlaygroundKes PenggunaanIntegrasiHargaDokumentasiBlog
CrawlForge v5.0.0: keselamatan, ketepatan, spesifikasi MCP
Product Updates
Kembali ke Blog
Kemas Kini Produk

CrawlForge v5.0.0: keselamatan, ketepatan, spesifikasi MCP

C
CrawlForge Team
Pasukan Kejuruteraan
13 Ogos 2026
12 min bacaan

Pada halaman ini

Jawapan Pantas

CrawlForge MCP Server v5.0.0 (diterbitkan ke npm pada 5 Ogos 2026) ialah keluaran utama yang menghimpunkan program pemulihan tujuh fasa: pembaikan SSRF, OAuth, kebocoran rahsia dan pengebilan; 52 pembaikan ketepatan alat termasuk penulisan semula crawl_deep; pengukuhan terhadap kebocoran sumber dan tamat masa; lapisan pengangkutan HTTP strim berbilang sesi yang dibina semula; pemodenan kebergantungan sehingga sifar kerentanan npm audit; serta penggunaan spesifikasi MCP merangkumi output berstruktur, tugasan tak segerak, senarai putih alat dan penerbitan pendaftaran. Suite ujian unit meningkat daripada 480 kepada 914 ujian. Terdapat tepat satu perubahan yang memecahkan keserasian: had minimum Node beralih daripada >=18.0.0 kepada >=20.16.0. Tiada skema alat, bentuk output mahupun kos credits yang berubah, dan jumlah alat kekal 27.

CrawlForge MCP Server v5.0.0 telah dikeluarkan. Ia merupakan keluaran terbesar yang pernah kami hantar, dan hampir kesemuanya bukan ciri baharu.

Sebaliknya, v5.0.0 menghimpunkan program pemulihan tujuh fasa yang didorong oleh audit kod dalaman yang menyeluruh: setiap lubang SSRF, setiap alat yang secara senyap memulangkan output yang salah, setiap pemasa dan konteks pelayar yang bocor, lapisan pengangkutan HTTP yang hanya pernah menyokong satu sesi, setiap kebergantungan yang telah ditinggalkan, serta ciri spesifikasi MCP yang belum kami guna pakai. Suite ujian unit meningkat daripada 480 ujian kepada 914. npm audit turun daripada 16 kerentanan kepada 0.

Terdapat tepat satu perubahan yang memecahkan keserasian: had minimum Node beralih daripada >=18.0.0 kepada >=20.16.0. Jika anda menggunakan Node 20 atau lebih baharu, menaik taraf hanyalah satu baris arahan.

Isi kandungan

  • Apa yang disertakan dalam v5.0.0
  • Satu-satunya perubahan yang memecahkan keserasian: Node 20
  • Fasa 1: lubang keselamatan yang kami tutup
  • Fasa 2: 52 cara alat memberikan hasil salah secara senyap
  • Fasa 3: selamat dijalankan berhari-hari
  • Fasa 4: penggunaan jauh dan HTTP kini benar-benar berfungsi
  • Fasa 5: sifar kerentanan npm audit
  • Fasa 6: penggunaan spesifikasi MCP
  • Baharu sejak v4.8.0: serp_rank dan panduan alat
  • Harga: 27 alat bermeter, tidak berubah
  • Cara menaik taraf
  • Apa yang seterusnya

Apa yang disertakan dalam v5.0.0

FasaTemaHasil utama
0Kemas kini kebergantungannpm audit 16 kerentanan → 4 sederhana, tanpa mengubah kod
1Keselamatan kritikalPintasan literal IP SSRF, penerbitan token OAuth, kebocoran rahsia, ketepatan pengebilan
2Ketepatan52 pembaikan — termasuk penulisan semula crawl_deep yang memulihkan perayapan sebenar
3Kebocoran dan tamat masa24 pembaikan — konteks pelayar, cache tanpa had, tarikh akhir pada setiap bacaan badan respons
4Pengangkutan HTTP19 pembaikan — HTTP strim berbilang sesi, prompt yang berfungsi, HMAC webhook
5Pemodenan kebergantunganHad minimum Node ≥ 20, 0 kerentanan npm audit
6Penggunaan spesifikasi MCPOutput berstruktur, tugasan tak segerak, senarai putih alat, server.json pendaftaran

Liputan ujian sepanjang program: 480 → 914 ujian unit, dengan pematuhan protokol MCP kekal pada 100.0% COMPLIANT, 0 ralat pada setiap pintu fasa.

Satu-satunya perubahan yang memecahkan keserasian: Node 20

engines.node beralih daripada >=18.0.0 kepada >=20.16.0.

Node 18 telah tamat hayat pada April 2025, dan 20.16 ialah had minimum yang dituntut oleh pdf-parse 2.4.5 — penulisan semula ESM yang masih diselenggara dan kami perlukan untuk menutup penemuan audit yang terakhir. Dockerfile kami (node:20-alpine) dan CI (Node 22) memang sudah memenuhinya, jadi tiada apa-apa berubah di situ. Jika anda masih menggunakan Node 18, anda kini akan melihat amaran engines semasa pemasangan.

Itu sahaja keseluruhan permukaan yang memecahkan keserasian. Tiada skema alat, bentuk output mahupun kos credits yang berubah bagi pemanggil sedia ada.

Fasa 1: lubang keselamatan yang kami tutup

Inilah fasa yang wajar dibaca dengan teliti jika anda menjalankan CrawlForge berdekatan rangkaian persendirian.

Pintasan literal IP SSRF ialah yang paling kritikal. Perlindungan kami menyelesaikan nama hos dan memeriksa alamat yang terhasil, tetapi tidak pernah menjalankan pemeriksaan yang sama pada URL yang hosnya memang sudah berupa literal IP. http://127.0.0.1/, bentuk perpuluhan 2130706433, bentuk heksadesimal 0x7f000001 — penghurai URL WHATWG menormalkan kesemuanya, dan Node tidak pernah menghalakan literal IP melalui lookup, jadi semuanya lolos begitu sahaja. v5.0.0 menjalankan ipBlocked() pada nama hos berbentuk literal IP semasa pemeriksaan awal dan membalut buildConnector milik dispatcher undici dengan pemeriksaan setiap sambungan, supaya lompatan ubah hala terus ke alamat dalaman turut disekat.

Tiga lagi pembaikan perlindungan dihantar bersamanya:

  • Pengecaman IPv6 dipetakan IPv4. ::ffff:127.0.0.1 dan ::ffff:169.254.169.254 kini dinormalkan kepada IPv4 terbenamnya sebelum pemeriksaan julat, dalam mod lalai mahupun SSRF_STRICT. Ini mematikan pintasan rekod AAAA yang dikawal DNS.
  • BLOCKED_DOMAINS bukan lagi konfigurasi mati. config.security.ssrfProtection.blockedDomains sebelum ini diisytiharkan tetapi tidak dibaca sesiapa. Ia kini dikuatkuasakan semasa pemeriksaan awal.
  • Senarai benaran dinilai setiap lompatan. Sebelum ini, lompatan pertama yang dibenarkan menyebabkan setiap lompatan berikutnya hilang perlindungan.

Kami juga menyambungkan perlindungan ini kepada lima laluan yang sebelum ini langsung tidak mempunyainya: scrape_with_actions (dengan pemeriksaan semula page.url() selepas navigasi yang menutup halaman jika ubah hala mendarat dalam julat tersekat, sekali gus menutup primitif bacaan rangkaian dalaman Playwright), map_site, muat turun PDF process_document, penghantaran dan pemeriksaan kesihatan webhook, serta pemberitahuan webhook deep_research.

Selain SSRF:

  • OAuth. /oauth/authorize kini menuntut bukti pemilikan API key pengendali sebelum mengeluarkan kod, dengan perbandingan digest masa malar. Aliran tanpa nama daftar → benarkan → token yang mencetak token bearer yang dibilkan kepada pengendali kini telah ditutup.
  • Kebocoran rahsia. Telemetri penggunaan kini menyalurkan parameter alat melalui maskSecrets() sebelum muatan meninggalkan proses — API key pihak ketiga, pengepala pengesahan dan rahsia penandatanganan webhook tidak lagi bergerak dalam teks biasa. deep_research berhenti merekod API key LLM ke dalam log fail Winston.
  • Pengebilan. Ralat yang dilontar oleh pemeriksaan credits itu sendiri kini membilkan sifar — caj separuh pada laluan ralat hanya dikenakan setelah pengendali benar-benar bermula. checkCredits membezakan 401/403 (key tidak sah atau dibatalkan) daripada 5xx (tetingkap tangguh), bukannya melaporkan kedua-duanya sebagai "credits tidak mencukupi".

Fasa 2: 52 cara alat memberikan hasil salah secara senyap

Fasa 2 menangani kategori "lulus ujian asap sambil memulangkan output yang mengelirukan". Yang utama:

crawl_deep boleh digunakan semula untuk perayapan sebenar. Halaman anak BFS sebelum ini ditunggu dari dalam slot baris gilir yang sudah diduduki, bermakna tamat masa baris gilir setiap tugasan mengehadkan keseluruhan perayapan rekursif dan bukannya satu halaman. Mana-mana perayapan yang melebihi CRAWL_TIMEOUT 30 saat akan membuang setiap halaman yang sudah diambil dengan hanya Promise timed out, dan tetapan keselarian rendah (termasuk concurrency: 1) terus buntu. Kedua-duanya telah dibaiki.

Sampel yang mewakili selebihnya:

  • Kunci cache yang bercanggah dengan permintaan. Kunci cache hasil crawl_deep kini merangkumi extract_content, panjang kandungan, corak sertakan/kecualikan, follow_external, respect_robots, concurrency, penapis domain dan sesi. Kunci map_site merangkumi search, penapis domain, include_metadata dan group_by_path. Sebelum ini, satu panggilan yang dicache boleh bercanggah dengan parameter anda sepanjang TTL sejam penuh.
  • Pengekodan aksara. Badan respons kini dinyahkod mengikut set aksara yang diisytiharkan (pengepala Content-Type atau pengesanan <meta charset>), bukannya sentiasa menganggap UTF-8. Tiada lagi teks rosak U+FFFD daripada tapak ISO-8859-1 atau Shift_JIS.
  • Pilihan yang dibuang secara senyap. Skema options bagi extract_content, summarize_content dan analyze_content kini menggunakan .passthrough(). Sebelum ini setiap kunci pilihan yang didokumentasikan dibuang sebelum sampai kepada pengendali — inilah juga sebabnya summarize_content sentiasa memulangkan sandaran dua ayat yang sama, tersalah label sebagai extractive. Peringkas ekstraktif kini benar-benar berjalan, dan summaryLength mengubah outputnya.
  • Penyelesaian pautan. extract_links menyelesaikan href relatif terhadap URL akhir halaman dan bukannya terhadap asal, menghormati <base href>, serta mengelaskan pautan relatif protokol sebagai luaran. Pembaikan yang sama turut masuk ke pengekstrak pautan scrape, jadi kedua-duanya akhirnya sepadan.
  • Keserupaan track_changes. Keserupaan kandungan kini ialah Jaccard token ke atas kandungan. Sebelum ini ia jarak Hamming antara digest heksadesimal sha256 — bermakna setiap suntingan remeh mendapat skor keserupaan sekitar 0% dan mencetuskan amaran perubahan "sederhana".
  • Pemarkahan search_web. ranking_weights separa kini bergabung secara mendalam dengan nilai lalai dan bukannya menggantikannya sepenuhnya, jadi anda tidak lagi mendapat skor akhir NaN atau pemeriksaan pendua yang dimatikan secara senyap. Percubaan semula pengembangan apabila sifar hasil dihadkan kepada satu sandaran sahaja, bukannya sehingga lima carian backend yang dibilkan.

Fasa 3: selamat dijalankan berhari-hari

Fasa 3 menutup 24 penemuan dalam kategori yang hanya muncul dalam proses jangka panjang.

Kitaran hayat pelayar. Menutup halaman Playwright tidak menutup konteksnya — jadi setiap panggilan scrape_with_actions dan setiap extract_content yang dipaparkan melalui pelayar membocorkan satu konteks sehingga proses ditutup. Konteks bukan stealth kini ditutup bersama halamannya. page.goto yang gagal (ralat DNS, tamat masa, URL disekat) sebelum ini meninggalkan satu halaman dan konteks yang masih hidup; kini kedua-duanya dileraikan.

Cache berbatas. crawl_deep memusnahkan CacheManager setiap perayapannya dalam blok finally. Sebelum ini, N perayapan membocorkan N cache secara kekal, setiap satu menyimpan sehingga 1,000 dokumen HTML penuh, dan setiap satunya menjalankan semula imbasan memori JSON.stringify setiap 60 saat selama-lamanya. Contoh yang dibuang kini disahkan melalui GC dengan ujian regresi WeakRef. Hasil batch_scrape mendapat had LRU 20 kelompok serta penyingkiran TTL.

Tarikh akhir pada setiap bacaan badan respons. Pemasa henti kini kekal aktif sepanjang strim badan respons, jadi parameter timeout akhirnya merangkumi pelayan yang memulangkan pengepala lalu tersekat pada badan. Pemasangan semula ketulan kini satu laluan sahaja — sebelum ini O(n²), kira-kira 1.5 saat sekatan gelung peristiwa segerak pada badan 25 MB. Muat turun PDF mendapat AbortSignal.timeout 30 saat yang sebenar (pilihan timeout: fetch-init yang lama diabaikan secara senyap oleh undici), dan penyedia SearXNG mendapat 15 saat berbanding lalai undici kira-kira 5 minit.

Satu pembaikan yang wajar disebut bagi pengguna Claude Desktop: storan syot kilat kini menggunakan ~/.crawlforge/snapshots secara lalai dan bukannya process.cwd(). Klien MCP seperti Claude Desktop melancarkan pelayan dengan direktori kerja /, dan di situ setiap penulisan syot kilat gagal secara senyap.

Fasa 4: penggunaan jauh dan HTTP kini benar-benar berfungsi

Jika anda pernah menggunakan CrawlForge melalui npm run start:http, keadaannya lebih buruk daripada sangkaan anda: satu pengangkutan yang dikongsi bermakna hanya satu sesi pernah wujud, dan sebarang pemutusan yang bersih melumpuhkan /mcp sehingga anda memulakan semula proses.

Mod berkeadaan kini mengikut corak setiap sesi yang didokumentasikan SDK — satu Map<sessionId, {transport, server}> dengan pengangkutan baharu dan McpServer klon bagi setiap initialize, pelupusan semasa DELETE, dan 404 JSON-RPC bagi ID sesi yang tidak dikenali. Klien serentak kedua, sambungan semula selepas talian terputus, dan DELETE diikuti initialize baharu kini semuanya berfungsi.

Turut dalam Fasa 4:

  • Prompt getting-started sebelum ini tidak boleh diambil oleh mana-mana klien — objek konfigurasinya terkena beban lampau argsSchema berkedudukan milik SDK, mengisytiharkan argumen wajib yang tidak wujud dan menggagalkan setiap prompts/get. Kini dibaiki, dan suite pematuhan turut merangkumi penemuan serta pengambilan bagi kesemua 6 prompt berdaftar.
  • Tandatangan HMAC webhook kini merangkumi tepat muatan bersiri yang dihantar melalui POST. Sebelum ini hanya sub-objek data ditandatangani, jadi pengesahan badan mentah standard di pihak penerima gagal setiap kali.
  • scrape tidak lagi menyisipkan bait base64 syot layar bersaiz beberapa megabait ke dalam hasil JSON — setelah disimpan, hasilnya hanya mengekalkan metadata dan URI sumber crawlforge://screenshot/{id}.
  • Sepanduk status persediaan automatik dipindahkan daripada stdout ke stderr, jadi pelancaran pertama dengan CRAWLFORGE_API_KEY ditetapkan tidak lagi menyuntik baris bukan JSON ke dalam saluran JSON-RPC stdio.
  • search_web kembali kepada API key dalam ~/.crawlforge/config.json apabila CRAWLFORGE_API_KEY tiada. Pengguna yang dikonfigurasikan melalui npm run setup sebelum ini lulus pemeriksaan credits lalu terus menemui kegagalan penyesuai yang pasti — dicaj separuh pada kadar 2 credits setiap panggilan.

Fasa 5: sifar kerentanan npm audit

Dengan had minimum Node 20 sudah ditetapkan, Fasa 5 menyingkirkan setiap kebergantungan yang ditinggalkan dan mengambil naik taraf keselamatan yang sebelum ini disekat oleh had lama. npm audit turun daripada 4 sederhana kepada 0.

Dibuang terus: node-cron (tidak digunakan sejak Fasa 3 memindahkan penjadualan pemantau kepada pemasa setInterval; pembuangannya turut membersihkan rantaian uuid yang rentan), @googleapis/customsearch (tidak digunakan — penyesuai Google memanggil hujung REST secara terus), dan node-summarizer (ditinggalkan sejak 2019; peringkas ekstraktif ditulis semula sebagai pemarkah kekerapan perkataan gaya Luhn berasaskan compromise, dengan bentuk hasil yang sama).

Naik taraf yang paling penting: pdf-parse 1.1.1 → 2.4.5. PDFProcessor dipindahkan ke API kelas v2, bermakna pilihan password kini benar-benar menyahsulit PDF yang dilindungi — v1 mengabaikannya secara senyap. Pengekstrakan julat halaman menggunakan pengekstrakan teks separa asli v2, dan bendera metadata tersulit membaca EncryptFilterName sebenar milik pdfjs-dist.

Mengenai rantaian bekalan: fasa ini berjalan semasa cacing npm ChainDrop (aktif sejak 4 Ogos 2026). Setiap pemasangan dijalankan dengan --ignore-scripts, setiap versi yang diguna pakai dihadkan mengikut tarikh penerbitan sebelum 4 Ogos 2026, dan perbezaan lockfile penuh disemak silang dengan senarai pakej terjejas Socket dan StepSecurity tanpa sebarang padanan. Imbasan IoC bersih sebelum dan selepas.

Fasa 6: penggunaan spesifikasi MCP

Fasa terakhir membawa CrawlForge selari dengan spesifikasi MCP semasa.

Output berstruktur (MCP 2025-06-18). scrape, map_site, serp_rank, search_web, extract_structured dan crawl_deep kini mengisytiharkan outputSchema dan memulangkan structuredContent di samping teks JSON warisan. Skema tersebut longgar secara reka bentuk, jadi hasil yang sah tidak mungkin gagal pengesahan output SDK.

Tugasan tak segerak. crawl_deep, batch_scrape, deep_research dan agent didaftarkan dengan taskSupport: 'optional' di bawah sambungan io.modelcontextprotocol/tasks. Klien yang menyokong tugasan menerima pemegang serta-merta dan menyoal tasks/get; klien tanpa sokongan tugasan tetap menerima hasil segerak seperti sebelumnya. Inilah penyelesaian bagi perayapan panjang yang tamat masa dalam tetingkap panggilan alat sesebuah klien.

Pemilihan alat di pihak klien. Dua pemboleh ubah persekitaran baharu membolehkan anda mendedahkan sebahagian sahaja daripada 27 alat dan mengurangkan lambakan konteks:

Bash
# By name
CRAWLFORGE_TOOLS=scrape,search_web,extract_content

# Or by group — 12 available: basic, search, crawl, extract, batch,
# research, tracking, llmstxt, stealth, templates, scrape, agent
CRAWLFORGE_TOOL_GROUPS=search,extract

Jika tidak ditetapkan, semua alat didedahkan. Nama yang tidak dikenali diabaikan dengan amaran stderr, batch_scrape mengaktifkan get_batch_results secara automatik, dan sepanduk permulaan melaporkan berapa banyak yang diaktifkan daripada jumlah keseluruhan.

Kebersihan protokol. Skema alat kini diisytiharkan dalam JSON Schema 2020-12 dan bukannya draft-07. tools/list disusun secara deterministik demi kestabilan cache prompt klien. Argumen alat yang tidak sah kini dipulangkan sebagai hasil isError: true — yang boleh diperbetulkan sendiri oleh model pemanggil — dan bukannya ralat protokol -32602. Ikon disertakan pada serverInfo, setiap alat dan setiap prompt.

Pendaftaran MCP. server.json telah lengkap mengikut skema pendaftaran 11 Disember 2025, dengan aliran kerja penerbitan OIDC GitHub yang menolak ke registry.modelcontextprotocol.io pada keluaran seterusnya.

Baharu sejak v4.8.0: serp_rank dan panduan alat

Jika naik taraf terakhir anda ialah v4.8.0, dua keluaran kecil telah mendarat di antaranya.

v4.9.0 menambah serp_rank, alat ke-27 — kedudukan organik Google sebenar melalui DataForSEO, pada kadar 5 credits bagi setiap carian yang dikonfigurasikan. v4.10.0 menjadikannya memulangkan senarai organik sepuluh teratas yang penuh di samping kedudukan domain sasaran anda.

v4.10.0 turut menambah instructions peringkat pelayan dalam MCP. Pelayan kini memberitahu mana-mana klien yang bersambung supaya mengutamakan alat CrawlForge berbanding keupayaan web terbina dalamnya sendiri untuk carian, pengambilan, perayapan dan penyelidikan. Oleh sebab ia dihantar bersama binari pelayan, setiap klien MCP menerimanya secara automatik pada pelancaran seterusnya selepas naik taraf — tanpa perlu menjalankan init semula. Ia panduan, bukan penguatkuasaan: sebuah MCP server tidak boleh mematikan alat terbina dalam sesebuah klien.

Harga: 27 alat bermeter, tidak berubah

Tiada harga berubah dalam v5.0.0. Kesemua 27 alat adalah bermeter dan memerlukan API key, pada kadar 1 hingga 10 credits setiap panggilan.

PelanHargaCredits
Freesekali sahaja (tanpa kad)1,000 credits percubaan
Hobby$19/bulan5,000
Professional$99/bulan50,000
Business$399/bulan250,000

Setiap pelan merangkumi setiap alat. Pengekstrakan LLM menggunakan Ollama tempatan secara lalai, jadi anda tidak memerlukan key OpenAI atau Anthropic melainkan anda memilih untuk menggunakannya.

Cara menaik taraf

Semak versi Node anda dahulu — inilah satu-satunya perkara yang boleh menyusahkan anda:

Bash
node --version   # must be >= 20.16.0

Kemudian:

Bash
npm install -g crawlforge-mcp-server@latest

Pengguna baharu:

Bash
npm install -g crawlforge-mcp-server
npx crawlforge init

Pengguna klien MCP sedia ada juga boleh sekadar mencetuskan sambungan semula /mcp. Oleh sebab Fasa 2 membaiki tingkah laku alat dan bukannya skema alat, panggilan sedia ada anda terus berfungsi — cuma kini ia memulangkan hasil yang betul.

Apa yang seterusnya

Beberapa trek Fasa 6 sengaja ditangguhkan dan bukannya digesa: hujung jauh terhos dengan OAuth, peringkat tanpa key, pemantauan berjadual sebagai perkhidmatan, sesi berkekalan, dan penyuntingan PII. Migrasi SDK v2 pula beratur di belakang keputusan mengenai had minimum Node 22.

Sementara itu, jemputan daripada v4.8.0 masih berdiri. Jika anda menemui kawalan yang tidak berkelakuan seperti yang didakwa dokumentasi, itulah pepijat yang benar-benar ingin kami dengar.


Sedia mencubanya? Mulakan percuma dengan 1,000 credits — kemudian jalankan npx crawlforge init untuk mendaftarkan MCP server. Lihat dokumentasi penuh, rujukan serp_rank, atau catatan keluaran v4.8.0 untuk melihat apa yang datang sebelum ini.

Cuba sendiri — tiada pendaftaran diperlukan

Jalankan mana-mana daripada 27 alat scraping dan pengekstrakan CrawlForge dalam playground, kemudian mula secara percuma dengan 1,000 credits.

1,000 credits percuma • Sekali sahaja • Tiada kad kredit diperlukan

Tag

releasev5.0.0securityMCPannouncementchangelog

Tentang Penulis

C

CrawlForge Team

Pasukan Kejuruteraan

Membina MCP server web scraping yang paling menyeluruh. Kami mencipta alatan yang membantu pembangun mengekstrak, menganalisis dan mengubah data web untuk aplikasi AI.

Kekal dikemas kini dengan pandangan terkini

Dapatkan tutorial, kemas kini produk dan petua web scraping terus ke peti masuk anda.

Tiada spam. Berhenti melanggan bila-bila masa.

Praktikkan ini

Uji alat CrawlForge pada mana-mana URL — percuma, tanpa pendaftaran.

Pada halaman ini

Frequently Asked Questions

Adakah menaik taraf ke CrawlForge v5.0.0 memecahkan panggilan alat sedia ada saya?+

Hampir pasti tidak. Satu-satunya perubahan yang memecahkan keserasian dalam v5.0.0 ialah had minimum Node yang beralih daripada >=18.0.0 kepada >=20.16.0 — jika anda menjalankan Node 20 atau lebih baharu, menaik taraf hanyalah satu baris arahan. Tiada skema alat, bentuk output mahupun kos credits yang berubah bagi pemanggil sedia ada, dan jumlah alat kekal 27. Fasa 2 membaiki tingkah laku alat dan bukannya kontrak alat, jadi panggilan sedia ada anda terus berfungsi dan kini sekadar memulangkan hasil yang betul.

Mengapa keperluan Node melonjak kepada 20.16.0?+

Node 18 tamat hayat pada April 2025, dan 20.16 ialah had minimum yang dituntut oleh pdf-parse 2.4.5 — penulisan semula ESM yang diselenggara secara aktif dan diperlukan CrawlForge untuk menutup penemuan npm audit yang terakhir serta membolehkan pilihan password benar-benar menyahsulit dokumen yang dilindungi (versi 1 mengabaikannya secara senyap). Dockerfile projek memang sudah menggunakan node:20-alpine dan CI memang sudah menjalankan Node 22, jadi tiada apa-apa lagi berubah. Pengguna Node 18 kini melihat amaran engines semasa pemasangan.

Apakah kerentanan SSRF yang dibaiki dalam Fasa 1?+

Perlindungan CrawlForge menyelesaikan nama hos dan memeriksa alamat yang terhasil, tetapi tidak pernah menjalankan pemeriksaan yang sama apabila hos URL memang sudah berupa literal IP. Oleh sebab penghurai URL WHATWG menormalkan bentuk seperti 127.0.0.1, perpuluhan 2130706433 dan heksadesimal 0x7f000001 — dan oleh sebab Node tidak pernah menghalakan literal IP melalui penyelesaian DNS — permintaan tersebut memintas perlindungan. v5.0.0 menjalankan pemeriksaan julat pada nama hos berbentuk literal IP semasa pemeriksaan awal dan membalut buildConnector milik dispatcher undici dengan pemeriksaan setiap sambungan, supaya lompatan ubah hala ke alamat dalaman turut disekat. Fasa 1 turut membaiki pengecaman IPv6 dipetakan IPv4, menjadikan BLOCKED_DOMAINS boleh dikuatkuasakan, dan memindahkan penilaian senarai benaran kepada setiap lompatan.

Apakah tugasan tak segerak MCP dan alat CrawlForge yang manakah menyokongnya?+

Tugasan tak segerak ialah sambungan MCP (io.modelcontextprotocol/tasks) yang membolehkan alat berjangka panjang memulangkan pemegang serta-merta dan bukannya menyekat sehingga selesai. CrawlForge mendaftarkan crawl_deep, batch_scrape, deep_research dan agent dengan taskSupport ditetapkan sebagai optional: klien yang menyokong tugasan menerima pemegang dan menyoal tasks/get, manakala klien tanpa sokongan tugasan tetap menerima hasil segerak seperti sebelumnya. Inilah penyelesaian bagi perayapan panjang yang tamat masa dalam tetingkap panggilan alat sesebuah klien.

Bagaimana saya mendedahkan sebahagian alat CrawlForge sahaja kepada klien MCP saya?+

v5.0.0 menambah dua pemboleh ubah persekitaran untuk pemilihan alat di pihak klien. Tetapkan CRAWLFORGE_TOOLS kepada senarai nama alat yang dipisahkan koma, atau CRAWLFORGE_TOOL_GROUPS kepada senarai kumpulan — terdapat 12: basic, search, crawl, extract, batch, research, tracking, llmstxt, stealth, templates, scrape dan agent. Membiarkan kedua-duanya tidak ditetapkan akan mendedahkan kesemua 27 alat. Nama yang tidak dikenali diabaikan dengan amaran stderr, batch_scrape mengaktifkan get_batch_results secara automatik, dan sepanduk permulaan melaporkan berapa banyak alat yang diaktifkan daripada jumlah keseluruhan. Ini mengurangkan lambakan konteks pada klien yang memuatkan setiap skema alat dari awal.

Artikel Berkaitan

CrawlForge v4.8.0: Claude Skills yang Aktif Secara Automatik
Product Updates

CrawlForge v4.8.0: Claude Skills yang Aktif Secara Automatik

CrawlForge MCP v4.8.0 menghadirkan 7 Claude Agent Skills yang aktif secara automatik untuk 26 alatnya, perlindungan SSRF yang dikuatkuasakan, screenshot yang berfungsi, format branding berasaskan design tokens, dan pemantauan perubahan berjadual terbina dalam.

C
CrawlForge Team
|
28 Jun
|
8m
CrawlForge v4.2.2: CLI Baharu + 3 Alat untuk Scraping AI Tempatan
Product Updates

CrawlForge v4.2.2: CLI Baharu + 3 Alat untuk Scraping AI Tempatan

v4.2.2 menghadirkan CLI tersendiri, pengekstrakan LLM tempatan dengan Ollama, dan scraper satu baris untuk 10 tapak popular. Inilah yang berubah.

C
CrawlForge Team
|
18 Mei
|
6m
CrawlForge MCP Kini Tersedia: Web Scraping Percuma untuk Agen AI
Product Updates

CrawlForge MCP Kini Tersedia: Web Scraping Percuma untuk Agen AI

CrawlForge MCP dilancarkan hari ini dengan 27 alat web scraping, integrasi MCP untuk Claude dan Cursor, serta free tier dengan 1,000 credits. Bina agen dengan lebih pantas.

C
CrawlForge Team
|
31 Mac
|
6m

Footer

CrawlForge

Web scraping gred perusahaan untuk Ejen AI. 27 alat MCP khusus yang direka untuk pembangun moden yang membina sistem pintar.

Produk

  • Ciri
  • Playground
  • Harga
  • Kes Penggunaan
  • Integrasi
  • Alternatif
  • Changelog

Sumber

  • Mula Bekerja
  • Rujukan API
  • Templat
  • Panduan
  • Blog
  • Glosari
  • Soalan Lazim
  • Peta Laman

Pembangun

  • Protokol MCP
  • Claude Desktop
  • Cursor IDE
  • LangChain
  • LlamaIndex

Syarikat

  • Tentang
  • Hubungi
  • Privasi
  • Terma
  • Penggunaan Boleh Diterima
  • Cookies

Kekal dikemas kini

Dapatkan kemas kini terkini tentang alat dan ciri baharu.

Dibina dengan Next.js dan protokol MCP

© 2025-2026 CrawlForge. Hak cipta terpelihara.