Skip to content

Tool Web Scrapping Keren: Firecrawl MCP Server

Firecrawl MCP Server adalah implementasi server Model Context Protocol (MCP) yang terintegrasi dengan Firecrawl untuk menyediakan kemampuan web scraping yang canggih. Server ini memungkinkan berbagai operasi mulai dari mengikis halaman tunggal hingga melakukan penelitian mendalam di seluruh web, menjadikannya alat yang sangat berguna untuk pengumpulan data dan analisis.

Server ini dikembangkan berkat kontribusi besar dari @vrknetha dan @knacklabs.

Fitur Utama

Firecrawl MCP Server menawarkan serangkaian fitur yang kuat untuk membantu pengguna dalam berbagai kebutuhan web scraping:

  • Web Scraping, Crawling, dan Discovery: Kemampuan untuk mengambil konten dari halaman web, menjelajahi tautan, dan menemukan URL baru di suatu situs. Ini sangat berguna untuk membangun basis data konten atau menganalisis struktur situs.
  • Pencarian dan Ekstraksi Konten: Pengguna dapat mencari informasi di web berdasarkan kueri tertentu dan mengekstrak konten yang relevan dari hasil pencarian. Fitur ini cocok untuk riset pasar atau pengumpulan berita.
  • Penelitian Mendalam dan Batch Scraping: Server mendukung penelitian yang komprehensif, mengumpulkan data dari berbagai sumber. Selain itu, fitur batch scraping memungkinkan pengikisan banyak URL sekaligus secara efisien, menghemat waktu dan sumber daya.
  • Coba Ulang Otomatis dan Pembatasan Tarif (Rate Limiting): Untuk memastikan keandalan, server dilengkapi dengan mekanisme coba ulang otomatis untuk permintaan yang gagal. Fitur pembatasan tarif membantu mencegah pemblokiran oleh situs web target dan mematuhi kebijakan penggunaan.
  • Dukungan Cloud dan Self-Hosted: Fleksibilitas dalam deployment memungkinkan pengguna untuk menjalankan server baik di lingkungan cloud maupun di infrastruktur mereka sendiri (self-hosted), sesuai dengan kebutuhan dan preferensi keamanan.
  • Dukungan SSE (Server-Sent Events): Mendukung komunikasi real-time melalui SSE, yang memungkinkan pembaruan status dan data secara langsung dari server ke klien.

Anda dapat mencoba MCP Server di playground MCP.so atau di Klavis AI untuk merasakan langsung kemampuannya.

Instalasi

Ada beberapa metode untuk menginstal Firecrawl MCP Server, tergantung pada lingkungan dan preferensi Anda.

Menjalankan dengan npx

Metode ini adalah cara tercepat untuk menjalankan server tanpa perlu instalasi global. Anda hanya perlu menyediakan kunci API Firecrawl Anda.

      env FIRECRAWL_API_KEY=fc-KUNCI_API_ANDA npx -y firecrawl-mcp
    

Pastikan untuk mengganti KUNCI_API_ANDA dengan kunci API Firecrawl Anda yang sebenarnya. Kunci API ini diperlukan untuk mengautentikasi permintaan Anda ke layanan Firecrawl.

Instalasi Manual

Untuk instalasi yang lebih permanen, Anda dapat menginstal paket Firecrawl MCP secara global menggunakan npm.

      npm install -g firecrawl-mcp
    

Setelah terinstal secara global, Anda dapat menjalankan perintah firecrawl-mcp dari terminal mana pun.

Menjalankan di Cursor

Cursor adalah lingkungan pengembangan terintegrasi (IDE) yang mendukung konfigurasi server MCP.

Untuk Cursor v0.48.6+

  1. Buka Pengaturan Cursor.
  2. Pergi ke Fitur > MCP Servers.
  3. Klik “+ Add new global MCP server”.
  4. Masukkan kode JSON berikut:
{ "mcpServers": { "firecrawl-mcp": { "command": "npx", "args": ["-y", "firecrawl-mcp"], "env": { "FIRECRAWL_API_KEY": "KUNCI-API-ANDA" } } } }

Untuk Cursor v0.45.6

  1. Buka Pengaturan Cursor.
  2. Pergi ke Fitur > MCP Servers.
  3. Klik “+ Add New MCP Server”.
  4. Masukkan detail berikut:
    • Nama: “firecrawl-mcp” (atau nama pilihan Anda)
    • Tipe: “command”
    • Perintah: env FIRECRAWL_API_KEY=kunci-api-anda npx -y firecrawl-mcp

Jika Anda menggunakan Windows dan mengalami masalah, coba perintah berikut:

cmd /c "set FIRECRAWL_API_KEY=kunci-api-anda && npx -y firecrawl-mcp"

Setelah menambahkan konfigurasi, segarkan daftar server MCP untuk melihat alat baru. Composer Agent di Cursor akan secara otomatis menggunakan Firecrawl MCP jika sesuai. Anda juga dapat secara eksplisit memintanya dengan menjelaskan kebutuhan web scraping Anda melalui Composer (akses dengan Command+L di Mac, lalu pilih “Agent”).

Menjalankan di Windsurf

Untuk mengintegrasikan Firecrawl MCP dengan Windsurf, tambahkan blok JSON berikut ke file ./codeium/windsurf/model_config.json Anda:

{
"mcpServers": {
"mcp-server-firecrawl": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "KUNCI_API_ANDA"
}
}
}
}

Menjalankan dengan SSE Local Mode

Untuk menjalankan server menggunakan Server-Sent Events (SSE) secara lokal alih-alih transportasi stdio default:

env SSE_LOCAL=true FIRECRAWL_API_KEY=fc-KUNCI_API_ANDA npx -y firecrawl-mcp

Kemudian, akses URL berikut: http://localhost:3000/sse. SSE memungkinkan komunikasi real-time dan sering digunakan untuk streaming data atau pembaruan langsung.

Instalasi via Smithery (Legacy)

Untuk menginstal Firecrawl untuk Claude Desktop secara otomatis melalui Smithery:

npx -y @smithery/cli install @mendableai/mcp-server-firecrawl --client claude

Menjalankan di VS Code

VS Code juga mendukung integrasi Firecrawl MCP.

Instalasi Sekali Klik

Anda dapat menggunakan tombol instalasi sekali klik yang disediakan untuk VS Code dan VS Code Insiders.

Instalasi Manual

Tambahkan blok JSON berikut ke file User Settings (JSON) Anda di VS Code. Anda dapat mengaksesnya dengan menekan Ctrl + Shift + P dan mengetik Preferences: Open User Settings (JSON).

{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "apiKey",
"description": "Firecrawl API Key",
"password": true
}
],
"servers": {
"firecrawl": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "${input:apiKey}"
}
}
}
}
}

Sebagai alternatif, Anda dapat menambahkannya ke file .vscode/mcp.json di workspace Anda untuk membagikan konfigurasi dengan rekan kerja:

{
"inputs": [
{
"type": "promptString",
"id": "apiKey",
"description": "Firecrawl API Key",
"password": true
}
// ...
],
"servers": {
"firecrawl": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "${input:apiKey}"
}
}
}
}

Konfigurasi

Firecrawl MCP Server dapat dikonfigurasi menggunakan variabel lingkungan.

Wajib untuk Cloud API

  • FIRECRAWL_API_KEY: Kunci API Firecrawl Anda. Ini wajib saat menggunakan API cloud Firecrawl (default).

Wajib saat menggunakan instansi self-hosted dengan FIRECRAWL_API_URL

  • FIRECRAWL_API_URL (Opsional): Endpoint API kustom untuk instansi self-hosted Anda. Contoh: https://firecrawl.domain-anda.com. Jika tidak disediakan, API cloud akan digunakan (memerlukan kunci API).

Jangan Lupa Atur Konfigurasi Opsional Firecrawl MCP

Konfigurasi Coba Ulang (Retry)

  • FIRECRAWL_RETRY_MAX_ATTEMPTS: Jumlah maksimum percobaan ulang (default: 3). Ini menentukan berapa kali server akan mencoba kembali permintaan yang gagal, terutama karena batasan tarif.
  • FIRECRAWL_RETRY_INITIAL_DELAY: Penundaan awal dalam milidetik sebelum percobaan ulang pertama (default: 1000). Penundaan ini bertujuan untuk memberikan waktu bagi masalah sementara untuk teratasi.
  • FIRECRAWL_RETRY_MAX_DELAY: Penundaan maksimum dalam milidetik antara percobaan ulang (default: 10000). Ini mencegah penundaan yang terlalu lama pada upaya coba ulang.
  • FIRECRAWL_RETRY_BACKOFF_FACTOR: Pengali backoff eksponensial (default: 2). Setiap percobaan ulang berikutnya akan menunda lebih lama secara eksponensial, membantu menghindari penyerbuan API.

Pemantauan Penggunaan Kredit

  • FIRECRAWL_CREDIT_WARNING_THRESHOLD: Ambang batas peringatan penggunaan kredit (default: 1000). Ketika kredit Anda mencapai level ini, server akan memberikan peringatan.
  • FIRECRAWL_CREDIT_CRITICAL_THRESHOLD: Ambang batas kritis penggunaan kredit (default: 100). Ini adalah level di mana peringatan yang lebih serius akan dikeluarkan, menunjukkan bahwa kredit Anda hampir habis.

Contoh Konfigurasi

Untuk Penggunaan Cloud API dengan Coba Ulang dan Pemantauan Kredit Kustom:

# Wajib untuk Cloud API
export FIRECRAWL_API_KEY=kunci-api-anda

# Konfigurasi coba ulang opsional
export FIRECRAWL_RETRY_MAX_ATTEMPTS=5 # Meningkatkan jumlah maksimum percobaan ulang
export FIRECRAWL_RETRY_INITIAL_DELAY=2000 # Mulai dengan penundaan 2 detik
export FIRECRAWL_RETRY_MAX_DELAY=30000 # Maksimum penundaan 30 detik
export FIRECRAWL_RETRY_BACKOFF_FACTOR=3 # Backoff yang lebih agresif

# Pemantauan kredit opsional
export FIRECRAWL_CREDIT_WARNING_THRESHOLD=2000 # Peringatan pada 2000 kredit
export FIRECRAWL_CREDIT_CRITICAL_THRESHOLD=500 # Kritis pada 500 kredit

Untuk Instansi Self-Hosted:

# Wajib untuk self-hosted
export FIRECRAWL_API_URL=https://firecrawl.domain-anda.com

# Autentikasi opsional untuk self-hosted
export FIRECRAWL_API_KEY=kunci-api-anda # Jika instansi Anda memerlukan autentikasi

# Konfigurasi coba ulang kustom
export FIRECRAWL_RETRY_MAX_ATTEMPTS=10
export FIRECRAWL_RETRY_INITIAL_DELAY=500 # Mulai dengan coba ulang lebih cepat

Penggunaan dengan Claude Desktop

Tambahkan blok JSON ini ke file claude_desktop_config.json Anda:

{
"mcpServers": {
"mcp-server-firecrawl": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "KUNCI_API_ANDA_DI_SINI",

"FIRECRAWL_RETRY_MAX_ATTEMPTS": "5",
"FIRECRAWL_RETRY_INITIAL_DELAY": "2000",
"FIRECRAWL_RETRY_MAX_DELAY": "30000",
"FIRECRAWL_RETRY_BACKOFF_FACTOR": "3",

"FIRECRAWL_CREDIT_WARNING_THRESHOLD": "2000",
"FIRECRAWL_CREDIT_CRITICAL_THRESHOLD": "500"
}
}
}
}

Konfigurasi Sistem

Server menyertakan beberapa parameter yang dapat dikonfigurasi melalui variabel lingkungan. Nilai default jika tidak dikonfigurasi adalah sebagai berikut:

const CONFIG = {
retry: {
maxAttempts: 3, // Jumlah percobaan ulang untuk permintaan yang dibatasi tarif
initialDelay: 1000, // Penundaan awal sebelum percobaan ulang pertama (dalam milidetik)
maxDelay: 10000, // Penundaan maksimum antara percobaan ulang (dalam milidetik)
backoffFactor: 2, // Pengali untuk backoff eksponensial
},
credit: {
warningThreshold: 1000, // Peringatan ketika penggunaan kredit mencapai level ini
criticalThreshold: 100, // Peringatan kritis ketika penggunaan kredit mencapai level ini
},
};

Perilaku Coba Ulang

Server secara otomatis mencoba kembali permintaan yang gagal karena batasan tarif. Ini menggunakan backoff eksponensial untuk menghindari penyerbuan API secara berlebihan. Misalnya, dengan pengaturan default:

  • Percobaan ulang ke-1: Penundaan 1 detik
  • Percobaan ulang ke-2: Penundaan 2 detik
  • Percobaan ulang ke-3: Penundaan 4 detik (dibatasi oleh maxDelay)

Pemantauan Penggunaan Kredit

Fitur ini melacak konsumsi kredit API untuk penggunaan API cloud. Ini memberikan peringatan pada ambang batas yang ditentukan, membantu mencegah gangguan layanan yang tidak terduga karena kredit yang habis. Contoh dengan pengaturan default:

  • Peringatan pada 1000 kredit tersisa.
  • Peringatan kritis pada 100 kredit tersisa.

Pembatasan Tarif dan Pemrosesan Batch

Server memanfaatkan kemampuan pembatasan tarif dan pemrosesan batch bawaan Firecrawl:

  • Penanganan batasan tarif otomatis dengan backoff eksponensial.
  • Pemrosesan paralel yang efisien untuk operasi batch.
  • Antrean permintaan cerdas dan throttling.
  • Coba ulang otomatis untuk kesalahan sementara.

Cara Memilih Alat

Firecrawl MCP Server menyediakan berbagai alat untuk berbagai tugas web scraping. Berikut adalah panduan untuk membantu Anda memilih alat yang tepat:

  • Jika Anda mengetahui URL yang tepat:
    • Untuk satu URL: gunakan scrape.
    • Untuk banyak URL: gunakan batch_scrape.
  • Jika Anda perlu menemukan URL di situs: gunakan map.
  • Jika Anda ingin mencari web untuk informasi: gunakan search.
  • Jika Anda ingin mengekstrak data terstruktur: gunakan extract.
  • Jika Anda ingin menganalisis seluruh situs atau bagiannya: gunakan crawl (dengan batasan!).
  • Jika Anda ingin melakukan penelitian mendalam: gunakan deep_research.
  • Jika Anda ingin menghasilkan LLMs.txt: gunakan generate_llmstxt.

Tabel Referensi Cepat

AlatTerbaik untukMengembalikan
scrapeKonten halaman tunggalmarkdown/html
batch_scrapeBanyak URL yang diketahuimarkdown/html[]
mapMenemukan URL di situsURL[]
crawlEkstraksi multi-halaman (dengan batasan)markdown/html[]
searchPencarian web untuk informasiresults[]
extractData terstruktur dari halamanJSON
deep_researchPenelitian mendalam, multi-sumberringkasan, sumber
generate_llmstxtLLMs.txt untuk domaintext

Apa Saja Tool yang ada Di Firecrawl MCP Server?

Berikut adalah penjelasan lebih rinci tentang setiap alat yang tersedia di Firecrawl MCP Server:

1. Alat Scrape (firecrawl_scrape)

Mengikis konten dari satu URL dengan opsi lanjutan.

  • Terbaik untuk: Ekstraksi konten halaman tunggal, ketika Anda tahu persis halaman mana yang berisi informasi.
  • Tidak direkomendasikan untuk: Mengekstrak konten dari banyak halaman (gunakan batch_scrape untuk URL yang diketahui, atau map + batch_scrape untuk menemukan URL terlebih dahulu, atau crawl untuk konten halaman penuh); ketika Anda tidak yakin halaman mana yang berisi informasi (gunakan search); ketika Anda membutuhkan data terstruktur (gunakan extract).
  • Kesalahan umum: Menggunakan scrape untuk daftar URL (gunakan batch_scrape sebagai gantinya).

Contoh Prompt:

“Dapatkan konten halaman di https://example.com.”

Contoh Penggunaan:

{
"name": "firecrawl_scrape",
"arguments": {
"url": "https://example.com",
"formats": ["markdown"],
"onlyMainContent": true,
"waitFor": 1000,
"timeout": 30000,
"mobile": false,
"includeTags": ["article", "main"],
"excludeTags": ["nav", "footer"],
"skipTlsVerification": false
}
}

Mengembalikan: Markdown, HTML, atau format lain seperti yang ditentukan.

2. Alat Batch Scrape (firecrawl_batch_scrape)

Mengikis banyak URL secara efisien dengan pembatasan tarif bawaan dan pemrosesan paralel.

  • Terbaik untuk: Mengambil konten dari banyak halaman, ketika Anda tahu persis halaman mana yang akan diikis.
  • Tidak direkomendasikan untuk: Menemukan URL (gunakan map terlebih dahulu jika Anda tidak tahu URL); mengikis halaman tunggal (gunakan scrape).
  • Kesalahan umum: Menggunakan batch_scrape dengan terlalu banyak URL sekaligus (dapat memukul batasan tarif atau token overflow).

Contoh Prompt:

“Dapatkan konten tiga posting blog ini: [url1, url2, url3].”

Contoh Penggunaan:

{
"name": "firecrawl_batch_scrape",
"arguments": {
"urls": ["https://example1.com", "https://example2.com"],
"options": {
"formats": ["markdown"],
"onlyMainContent": true
}
}
}

Mengembalikan: Respons menyertakan ID operasi untuk pemeriksaan status:

{
"content": [
{
"type": "text",
"text": "Operasi batch diantrekan dengan ID: batch_1. Gunakan firecrawl_check_batch_status untuk memeriksa kemajuan."
}
],
"isError": false
}

3. Periksa Status Batch (firecrawl_check_batch_status)

Memeriksa status operasi batch.

Contoh Penggunaan:

{
"name": "firecrawl_check_batch_status",
"arguments": {
"id": "batch_1"
}
}

4. Alat Peta (firecrawl_map)

Memetakan situs web untuk menemukan semua URL yang diindeks di situs tersebut.

  • Terbaik untuk: Menemukan URL di situs web sebelum memutuskan apa yang akan diikis; menemukan bagian-bagian tertentu dari situs web.
  • Tidak direkomendasikan untuk: Ketika Anda sudah tahu URL spesifik mana yang Anda butuhkan (gunakan scrape atau batch_scrape); ketika Anda membutuhkan konten halaman (gunakan scrape setelah memetakan).
  • Kesalahan umum: Menggunakan crawl untuk menemukan URL alih-alih map.

Contoh Prompt:

“Daftar semua URL di example.com.”

Contoh Penggunaan:

{
"name": "firecrawl_map",
"arguments": {
"url": "https://example.com"
}
}

Mengembalikan: Larik URL yang ditemukan di situs.

5. Alat Pencarian (firecrawl_search)

Mencari web dan secara opsional mengekstrak konten dari hasil pencarian.

  • Terbaik untuk: Menemukan informasi spesifik di banyak situs web, ketika Anda tidak tahu situs web mana yang memiliki informasi tersebut; ketika Anda membutuhkan konten paling relevan untuk kueri.
  • Tidak direkomendasikan untuk: Ketika Anda sudah tahu situs web mana yang akan diikis (gunakan scrape); ketika Anda membutuhkan cakupan komprehensif dari satu situs web (gunakan map atau crawl).
  • Kesalahan umum: Menggunakan crawl atau map untuk pertanyaan terbuka (gunakan search sebagai gantinya).

Contoh Penggunaan:

{
"name": "firecrawl_search",
"arguments": {
"query": "paper penelitian AI terbaru 2023",
"limit": 5,
"lang": "en",
"country": "us",
"scrapeOptions": {
"formats": ["markdown"],
"onlyMainContent": true
}
}
}

Mengembalikan: Larik hasil pencarian (dengan konten yang diikis secara opsional).

Contoh Prompt:

“Temukan makalah penelitian terbaru tentang AI yang diterbitkan pada tahun 2023.”

6. Alat Crawl (firecrawl_crawl)

Memulai pekerjaan crawl asinkron di situs web dan mengekstrak konten dari semua halaman.

  • Terbaik untuk: Mengekstrak konten dari banyak halaman terkait, ketika Anda membutuhkan cakupan komprehensif.
  • Tidak direkomendasikan untuk: Mengekstrak konten dari halaman tunggal (gunakan scrape); ketika batasan token menjadi perhatian (gunakan map + batch_scrape); ketika Anda membutuhkan hasil cepat (crawling bisa lambat).
  • Peringatan: Respons crawl bisa sangat besar dan dapat melebihi batasan token. Batasi kedalaman crawl dan jumlah halaman, atau gunakan map + batch_scrape untuk kontrol yang lebih baik.
  • Kesalahan umum: Mengatur limit atau maxDepth terlalu tinggi (menyebabkan token overflow); menggunakan crawl untuk halaman tunggal (gunakan scrape sebagai gantinya).

Contoh Prompt:

“Dapatkan semua posting blog dari dua level pertama example.com/blog.”

Contoh Penggunaan:

{
"name": "firecrawl_crawl",
"arguments": {
"url": "https://example.com/blog/*",
"maxDepth": 2,
"limit": 100,
"allowExternalLinks": false,
"deduplicateSimilarURLs": true
}
}

Mengembalikan: Respons menyertakan ID operasi untuk pemeriksaan status:

{
"content": [
{
"type": "text",
"text": "Mulai crawl untuk: https://example.com/* dengan ID pekerjaan: 550e8400-e29b-41d4-a716-446655440000. Gunakan firecrawl_check_crawl_status untuk memeriksa kemajuan."
}
],
"isError": false
}

7. Periksa Status Crawl (firecrawl_check_crawl_status)

Memeriksa status pekerjaan crawl.

Contoh Penggunaan:

{
"name": "firecrawl_check_crawl_status",
"arguments": {
"id": "550e8400-e29b-41d4-a716-446655440000"
}
}

Mengembalikan: Respons menyertakan status pekerjaan crawl.

8. Alat Ekstrak (firecrawl_extract)

Mengekstrak informasi terstruktur dari halaman web menggunakan kemampuan LLM (Large Language Model). Mendukung ekstraksi LLM cloud AI dan self-hosted.

  • Terbaik untuk: Mengekstrak data terstruktur spesifik seperti harga, nama, detail.
  • Tidak direkomendasikan untuk: Ketika Anda membutuhkan konten penuh dari sebuah halaman (gunakan scrape); ketika Anda tidak mencari data terstruktur spesifik.

Argumen:

  • urls: Larik URL untuk mengekstrak informasi.
  • prompt: Prompt kustom untuk ekstraksi LLM.
  • systemPrompt: System prompt untuk memandu LLM.
  • schema: Skema JSON untuk ekstraksi data terstruktur.
  • allowExternalLinks: Mengizinkan ekstraksi dari tautan eksternal.
  • enableWebSearch: Mengaktifkan pencarian web untuk konteks tambahan.
  • includeSubdomains: Menyertakan subdomain dalam ekstraksi.

Ketika menggunakan instansi self-hosted, ekstraksi akan menggunakan LLM yang Anda konfigurasikan. Untuk API cloud, ini menggunakan layanan LLM terkelola Firecrawl.

Contoh Prompt:

“Ekstrak nama produk, harga, dan deskripsi dari halaman produk ini.”

Contoh Penggunaan:

{
"name": "firecrawl_extract",
"arguments": {
"urls": ["https://example.com/page1", "https://example.com/page2"],
"prompt": "Ekstrak informasi produk termasuk nama, harga, dan deskripsi",
"systemPrompt": "Anda adalah asisten yang membantu mengekstrak informasi produk",
"schema": {
"type": "object",
"properties": {
"name": { "type": "string" },
"price": { "type": "number" },
"description": { "type": "string" }
},
"required": ["name", "price"]
},
"allowExternalLinks": false,
"enableWebSearch": false,
"includeSubdomains": false
}
}

Mengembalikan: Data terstruktur yang diekstrak seperti yang didefinisikan oleh skema Anda:

{
"content": [
{
"type": "text",
"text": {
"name": "Produk Contoh",
"price": 99.99,
"description": "Ini adalah deskripsi produk contoh"
}
}
],
"isError": false
}

9. Alat Penelitian Mendalam (firecrawl_deep_research)

Melakukan penelitian web mendalam tentang kueri menggunakan crawling cerdas, pencarian, dan analisis LLM.

  • Terbaik untuk: Pertanyaan penelitian kompleks yang membutuhkan banyak sumber, analisis mendalam.
  • Tidak direkomendasikan untuk: Pertanyaan sederhana yang dapat dijawab dengan satu pencarian; ketika Anda membutuhkan informasi yang sangat spesifik dari halaman yang diketahui (gunakan scrape); ketika Anda membutuhkan hasil cepat (penelitian mendalam bisa memakan waktu).

Argumen:

  • query (string, wajib): Pertanyaan penelitian atau topik yang akan dijelajahi.
  • maxDepth (number, opsional): Kedalaman rekursif maksimum untuk crawling/pencarian (default: 3).
  • timeLimit (number, opsional): Batas waktu dalam detik untuk sesi penelitian (default: 120).
  • maxUrls (number, opsional): Jumlah URL maksimum untuk dianalisis (default: 50).

Contoh Prompt:

“Teliti dampak lingkungan kendaraan listrik versus kendaraan bensin.”

Contoh Penggunaan:

{
"name": "firecrawl_deep_research",
"arguments": {
"query": "Apa dampak lingkungan kendaraan listrik dibandingkan dengan kendaraan bensin?",
"maxDepth": 3,
"timeLimit": 120,
"maxUrls": 50
}
}

Mengembalikan: Analisis akhir yang dihasilkan oleh LLM berdasarkan penelitian. (data.finalAnalysis). Juga dapat menyertakan aktivitas terstruktur dan sumber yang digunakan dalam proses penelitian.

10. Alat Hasilkan LLMs.txt (firecrawl_generate_llmstxt)

Menghasilkan file llms.txt standar (dan secara opsional llms-full.txt) untuk domain tertentu. File ini mendefinisikan bagaimana model bahasa besar harus berinteraksi dengan situs tersebut.

  • Terbaik untuk: Membuat panduan izin yang dapat dibaca mesin untuk model AI.
  • Tidak direkomendasikan untuk: Ekstraksi konten umum atau penelitian.

Argumen:

  • url (string, wajib): URL dasar situs web yang akan dianalisis.
  • maxUrls (number, opsional): Jumlah URL maksimum yang akan disertakan (default: 10).
  • showFullText (boolean, opsional): Apakah akan menyertakan konten llms-full.txt dalam respons.

Contoh Prompt:

“Hasilkan file LLMs.txt untuk example.com.”

Contoh Penggunaan:

{
"name": "firecrawl_generate_llmstxt",
"arguments": {
"url": "https://example.com",
"maxUrls": 20,
"showFullText": true
}
}

Mengembalikan: Isi file LLMs.txt (dan secara opsional llms-full.txt).

Sistem Pencatatan (Logging System)

Server menyertakan pencatatan yang komprehensif untuk memantau operasinya:

  • Status dan kemajuan operasi.
  • Metrik kinerja.
  • Pemantauan penggunaan kredit.
  • Pelacakan batasan tarif.
  • Kondisi kesalahan.

Contoh Pesan Log:

[INFO] Firecrawl MCP Server berhasil diinisialisasi
[INFO] Memulai scrape untuk URL: https://example.com
[INFO] Operasi batch diantrekan dengan ID: batch_1
[WARNING] Penggunaan kredit telah mencapai ambang batas peringatan
[ERROR] Batas tarif terlampaui, mencoba ulang dalam 2s...

Penanganan Kesalahan (Error Handling)

Server menyediakan penanganan kesalahan yang kuat untuk memastikan keandalan:

  • Coba ulang otomatis untuk kesalahan sementara.
  • Penanganan batasan tarif dengan backoff.
  • Pesan kesalahan yang terperinci.
  • Peringatan penggunaan kredit.
  • Ketahanan jaringan.

Contoh Respons Kesalahan:

{
"content": [
{
"type": "text",
"text": "Kesalahan: Batas tarif terlampaui. Mencoba ulang dalam 2 detik..."
}
],
"isError": true
}

Pengembangan

Untuk berkontribusi atau mengembangkan Firecrawl MCP Server:

Instal dependensi:

      npm install
    

Build proyek:

      npm run build
    

Jalankan pengujian:

      npm test
    

Sumber: https://github.com/mendableai/firecrawl-mcp-server