Skip to content
Download Longwave

Firecrawl

Firecrawl is a hosted MCP server for website search and extraction. The connected endpoint exposes 3 tools for getting web content into an agent's working context.

Add to Longwave

Install elsewhere

Install Firecrawl

Choose a harness. These instructions connect to the hosted MCP endpoint shown on this page.

Claude Code

Run this in your terminal. It adds a user-scoped server; use --scope project instead if it should apply only to the current project.

terminal
claude mcp add --scope user --transport http --header 'Authorization: Bearer YOUR_FIRECRAWL_API_KEY' firecrawl https://mcp.firecrawl.dev/v2/mcp

Replace each YOUR_… value with the required secret before running the command.

What it does

Firecrawl MCP gives an agent a structured way to work with websites. It can request web content through Firecrawl instead of treating every page as raw HTML.

  • Search for pages relevant to a question.
  • Scrape a page into content an agent can read.
  • Crawl a site when one page is not enough.
  • Map a site's available pages before extracting content.
  • Keep the Firecrawl API key in the connection instead of the prompt.

Available functions

firecrawl_parse Parse one supported document into markdown, HTML, links, summary, targeted answers, or JSON matching a schema. Supported inputs include common HTML, PDF, Word, RTF, OpenDocument, and spreadsheet files; PDF parsing can be bounded with `pdfOptions.maxPages`. Local MCP reads `filePath` from the server filesystem. Hosted MCP uses two calls: first provide `filePath` to receive upload instructions, upload locally, then call again with the returned `uploadRef`; do not send both fields together. Remote web URLs belong in `firecrawl_scrape`. Set `redactPII` to request redaction of personally identifiable information in the returned content. `zeroDataRetention` requires an eligible authenticated account; omit it for anonymous keyless use. Returns upload instructions for hosted phase one or parsed document content for the final call. Authenticated final responses can include a `data.metadata.scrapeId` for optional parse feedback.

Arguments

contentType
string Phase 1 MIME type override. If omitted, the server infers it from the file extension without reading the file.
declaredSizeBytes
integer Optional phase 1 size declaration. Hosted MCP does not stat the file; provide this only if the caller already knows it.
excludeTags
array
filePath
string Phase 1 only: path to the local file on the caller/harness machine. Hosted MCP will not read or stat this path; it is used only to produce upload instructions.
formats
array
includeTags
array
jsonOptions
object
maxAge
number Ignored: parse never reuses or stores indexed content.
onlyMainContent
boolean
parsers
array
pdfOptions
object
proxy
string Allowed values: basic, auto
queryOptions
object
redactPII
boolean
removeBase64Images
boolean
skipTlsVerification
boolean
storeInCache
boolean
uploadRef
string Phase 2 only: short-lived upload reference returned by phase 1 after the local PUT upload completes.
zeroDataRetention
boolean
firecrawl_scrape Scrape one URL and return its content: markdown by default, or HTML, links, screenshots, branding data, a targeted answer, or JSON matching a supplied schema. Use it when the request identifies a page and needs its content or defined fields. Use `firecrawl_search` when additional web sources are needed; on an authenticated session, `firecrawl_map` lists a site's URLs and `firecrawl_crawl` collects a set of pages. Firecrawl may serve recently indexed content; set `maxAge: 0` for a live fetch or a smaller `maxAge` to bound staleness. A successful response does not by itself confirm the page is still current. A named browser profile loads saved session data without saving changes to it. Authenticated responses can include a `metadata.scrapeId` for optional scrape feedback. On an authenticated session with Alexandria access, `firecrawl_search` and `firecrawl_find_tools` can discover providers for the same fields across several pages; a matching provider returns typed records in one call. Keyless sessions have no provider matches. Alexandria mode, on an authenticated session with Alexandria access: `alexandria` selects catalogued capability execution and is mutually exclusive with `url`.

Arguments

alexandria
Catalogued Alexandria capability invocation, mutually exclusive with url. One {provider, capability, options} object or an array of 1-10, with contracts available through firecrawl_search or firecrawl_find_tools. Each call may include version to pin a published workflow; omitting it uses latest. Only requestId and timeout are supported alongside alexandria. The selected contract marks required inputs and any requiresOneOf groups (at least one member per group); it may include example.request/example.response and response.key (which may differ from records). Where pagination is declared, its fields govern paging with the same filters; catalogue next is separate from provider pagination. Returns per-capability results in data.alexandria with data, records, or an error with a code; individual capabilities can fail even when the outer response succeeds. Requires an API key on a team with Alexandria enabled. Some providers require accepted terms; blocked requests return the applicable requirements.
domainTools
boolean URL mode only: include domain-matched Alexandria tools for the page in tools on the returned document. Ignored with alexandria.
excludeTags
array
formats
array
includeTags
array
jsonOptions
object
location
object
lockdown
boolean
maxAge
number
mobile
boolean
objective
string The user's underlying goal for this call, in one sentence: what they are ultimately trying to accomplish, not a restatement of the URL or query. Reuse it across related calls. Avoid sensitive information.
onlyMainContent
boolean
parsers
array
pdfOptions
object
profile
object Loads a saved browser profile without saving changes to it.
proxy
string Allowed values: basic, stealth, enhanced, auto
queryOptions
object
redactPII
boolean
removeBase64Images
boolean
requestId
string Idempotency key bound to one Alexandria execution payload. Generated when omitted and returned with the result.
screenshotOptions
object
skipTlsVerification
boolean
storeInCache
boolean
timeout
integer Execution timeout in milliseconds.
toolDetail
string URL mode only: domain discovery detail, summary by default; compact returns provider/capability/description, full includes contracts. Ignored with alexandria. Allowed values: compact, summary, full
url
string
waitFor
number
zeroDataRetention
boolean
firecrawl_search Search web, news, or image sources and return ranked results with query-relevant highlights. Each web result is a title, URL, and description; use `firecrawl_scrape` on a result URL when the excerpt is not enough. Authenticated search also returns matching Alexandria data providers in data.tools (companies, people, jobs, finance and filings, public records and government spending, real estate, places and restaurants, retail and prices, package registries and developer data, news, research, and more). Prefer a provider over scraping pages when the task needs the same fields across several entities, exact figures or timestamps, provenance, or many records; use web results when they already answer the question. Authenticated searches always add alexandria to the sources, so sources: ["web"] also returns providers; domainTools: false turns off website-matched tools only. On an authenticated session, tool matches describe available capabilities; `firecrawl_find_tools` returns their contracts and `firecrawl_scrape` with an `alexandria` body executes a selected capability. Keyless sessions get no Alexandria matches in data.tools. For a programming question, add `categories: ["developer"]`; its hits return in `data.web` with `category: "developer"`. For a legal or regulatory question, `categories: ["gov"]` returns hits in `data.web` with `category: "gov"` and cannot be combined with other categories; authenticated sessions also have `firecrawl_gov_search` as the dedicated tool. Verify gov results' issuer, jurisdiction, status, and version before citing current law. `categories: ["research"]` restricts web results to research-affiliated websites; the `firecrawl_research_*` tools are a separate surface over paper abstracts and full text (PubMed, bioRxiv, medRxiv, arXiv). Query operators, domain filters, `categories`, `toolDetail` and `scrapeOptions` are described on their parameters. Returns source-type result groups and usage metadata. Authenticated responses can include an `id` for optional search feedback.

Arguments

categories
array Limit results to specific source types. `research` restricts ordinary web results to research-affiliated websites and returns page snippets, which is separate from the `firecrawl_research_*` tools that search paper abstracts and full text across biomedical (PubMed, bioRxiv, medRxiv) and arXiv literature; `pdf` searches PDF results; `developer` searches an index built for coding agents over public repositories, GitHub issues, merged pull requests, repository READMEs, and code documentation; `gov` searches the Government Index of US federal, state, and local legal and regulatory sources, the index behind firecrawl_gov_search, and cannot be combined with other categories; gov hits can include historical versions, bill text, agency guidance, and third-party reproductions, so verify the issuer, jurisdiction, enacted/effective status, and version before citing current governing law, clarify a missing jurisdiction or ambiguous as-of date, and use general search for non-US questions or missing coverage (no hits does not establish that no applicable law exists). `developer` and `gov` return hits in `data.web` with `category` set to their name; the other categories also filter `data.web`.
domainTools
boolean Include domain-matched tools for result URLs. Defaults to true when Alexandria is combined with web, news or images; semantic-only search leaves domain matching off.
enterprise
array
excludeDomains
array Hostnames to leave out of results. Mutually exclusive with includeDomains.
filter
string
highlights
boolean Return query-relevant page excerpts for web and news results when available (default). Highlights appear in web `description` and news `snippet`; otherwise, original snippets are returned. Set to false to keep the original search snippets.
includeDomains
array Hostnames to restrict results to. Mutually exclusive with excludeDomains.
limit
integer
location
string
objective
string The user's underlying goal for this call, in one sentence: what they are ultimately trying to accomplish, not a restatement of the URL or query. Reuse it across related calls. Avoid sensitive information.
query required
string Query for web and semantic tool discovery. Operators include quoted phrases, `-term`, `site:host`, `inurl:term`, `intitle:term`, and `related:host`; the set is non-exhaustive. Catalogue browsing is available through firecrawl_find_tools.
scrapeOptions
object Attach page content for web results in the same call. These fetches ignore maxAge, so use firecrawl_scrape when you need a live fetch. scrapeOptions fetches web pages, never Alexandria provider tools.
sources
array Search sources; authenticated sessions default to web + alexandria, keyless sessions to web only. Authenticated searches always add alexandria to the sources, so sources: ["web"] also returns providers; domainTools: false turns off website-matched tools only. enterprise zdr or anon searches do not add it. Use ["alexandria"] alone for provider discovery without web results.
tbs
string
toolDetail
string Compact by default. Compact returns only provider, capability and description; full includes contracts. Inspect selected compact tools with firecrawl_find_tools providers and capabilities. Allowed values: compact, summary, full

Questions people ask

Does Firecrawl MCP need an API key?

Yes. Longwave needs a Firecrawl API key.

  1. Open the Firecrawl API keys page.
  2. Create or copy an API key.
  3. Click Add to Longwave on this page.
  4. Paste the key when Longwave asks.
How do I get a Firecrawl API key?

A Firecrawl API key connects the hosted service to Longwave.

  1. Open the Firecrawl API keys page.
  2. Sign in or create a Firecrawl account.
  3. Create or copy an API key.
  4. Paste the key into Longwave when it asks.
Do I need to run Firecrawl on my computer?

Longwave supports Firecrawl through its hosted service, so you can use it without running a local Firecrawl process.

  1. Click Add to Longwave on this page.
  2. Paste your Firecrawl API key when Longwave asks.
  3. Start a thread and pick a harness.
  4. Ask the agent to search, scrape, or crawl a site.
How do I use Firecrawl MCP with Claude Code?

Claude Code can search or scrape sites through Firecrawl.

  1. Click Add to Longwave on this page.
  2. Paste your Firecrawl API key when Longwave asks.
  3. Start a thread and pick Claude Code.
  4. Ask Claude Code to search or scrape a site.
How do I use Firecrawl MCP in Cursor?

Cursor can search or scrape sites through Firecrawl.

  1. Click Add to Longwave on this page.
  2. Paste your Firecrawl API key when Longwave asks.
  3. Start a thread and pick Cursor.
  4. Ask Cursor to search or scrape a site.
Can I self-host Firecrawl?

Yes. Longwave can use a self-hosted Firecrawl MCP endpoint through a custom Marketplace connection. The catalog entry uses Firecrawl's hosted service.

  1. Start your self-hosted Firecrawl MCP endpoint.
  2. Open Marketplace and click Add.
  3. Paste the endpoint URL and complete the setup.
  4. Start a thread and ask the agent to use the self-hosted connection.
Is Firecrawl open source?

Yes. The code is on GitHub . The hosted API is paid, with a free tier.

Is Firecrawl MCP free?

Firecrawl has a free tier and then bills for usage. See Firecrawl pricing . Longwave does not charge you for Firecrawl.

What is the difference between Firecrawl scrape and search?

Use search to discover pages. Use scrape to read a URL you already have.

  • Search when you need to find a relevant page.
  • Scrape when you already have the page URL.
Does Firecrawl MCP render JavaScript?

Yes. It can wait for JavaScript to finish before it reads the page.

  1. Give the agent the page URL.
  2. Ask it to scrape the page after JavaScript renders.
  3. Review the returned rendered content.
Can Firecrawl MCP crawl a whole website?

Yes. Firecrawl can crawl a whole website.

  1. Start a thread and pick a harness.
  2. Give the agent the website URL.
  3. Ask the agent to crawl the whole site.
What is the difference between Firecrawl MCP and Crawl4AI?

Firecrawl is a hosted service you connect with an API key. Crawl4AI is a crawler you usually run yourself.

What is the difference between Firecrawl and Tavily?

Tavily searches. Firecrawl reads pages into markdown. Use Tavily to find sources and Firecrawl to read them.

Put the web in the agent's context.

Search, crawl and extract without turning every research task into copy and paste.