Skip to main content
Firecrawl MCP exposes tools for finding, extracting, interacting with, and monitoring web content. Your MCP client receives the exact input schema for every available tool when it connects.

Tool availability

Start with Get Started and pick For Agents or For Humans. Some optional tools can be disabled by environment or team policy.

Choose a tool

The former Extract MCP tool is deprecated and is not part of the current tool surface. Use Scrape with JSON format for a known page, or Agent when Firecrawl must discover the sources. See Choosing the Data Extractor for the full comparison.
Use the schema shown by your MCP client for the current arguments. The feature guides below explain the underlying Firecrawl behavior without duplicating those schemas here.

Important behavior

A local MCP server connected to a self-hosted Firecrawl API can read filePath directly. The hosted server cannot read files from your machine, so it uses a two-call handoff:
  1. Call firecrawl_parse with filePath to receive an upload command and uploadRef.
  2. Run the upload command on the machine that can read the file.
  3. Call firecrawl_parse again with the returned uploadRef.
The upload command uses a short-lived signed target and does not contain your Firecrawl API key. Use firecrawl_scrape for a public document URL.
firecrawl_crawl normally starts a crawl and polls it to a terminal state before returning. If that wait times out, resume the job with firecrawl_check_crawl_status and the crawl ID. Use the same status tool for a crawl created outside the current MCP call.firecrawl_agent is asynchronous: it returns a job identifier, and firecrawl_agent_status checks that job until it completes or fails.
Start with a url, or reuse the scrapeId from a previous Scrape call. When the workflow is finished, call firecrawl_interact_stop with the scrapeId to release the session.
The firecrawl_monitor_* family creates, lists, updates, runs, and inspects recurring monitors. firecrawl_monitor_delete permanently removes a monitor and should be called only when the user explicitly intends to delete it.
Alexandria tools need an authenticated session. Keyless sessions get no Alexandria tools.
  1. Discover. Authenticated firecrawl_search uses sources: ["web", "alexandria"] by default and returns matching tools in data.tools. Use sources: ["alexandria"] for tools only, or sources: ["web"] to omit semantic tool discovery.
  2. Inspect. Call firecrawl_find_tools with no arguments to browse categories, then providers, then tools. Use query or urls to find tools for a task or a website. Use capabilities to read the full contract of a tool. Follow the returned nextTool for the next step.
  3. Run. Call firecrawl_scrape with alexandria: {provider, capability, options} instead of url. Send an array of up to 10 calls to run them together. Each result in data.alexandria has data or an error.
Discovery is free. Each run costs the price listed on its tool. If a provider needs accepted terms, the tool returns THIRD_PARTY_DATA_TERMS_REQUIRED with requiresAction.url. Give that URL to an org admin, who accepts the terms in the Firecrawl dashboard. The agent must not accept terms. After the admin confirms, send the same call again.
Set FIRECRAWL_NO_SEARCH_FEEDBACK=1 to prevent firecrawl_search_feedback from being registered. Set FIRECRAWL_NO_ENDPOINT_FEEDBACK=1 to prevent firecrawl_feedback from being registered.

Feature guides

Scrape

Extract content or structured fields from one URL.

Search

Find relevant web, news, image, and developer sources.

Research Index

Search papers, read passages, and follow citations.

Developer Index

Answer coding questions from issues, PRs, READMEs, and docs.

Crawl

Traverse and extract a site or section.

Parse

Convert files into LLM-ready output.

Interact

Operate dynamic pages in a live browser session.

Agent

Run autonomous multi-source research.

Monitoring

Track page changes and receive notifications.

Alexandria

Find and run data tools from third-party providers.

Troubleshooting

  • A tool is missing: confirm the connection mode on Get Started, reconnect or restart the client, and check whether team policy disables optional tools.
  • The client returns 401: check the configured server URL first.
    • If the configured URL is /v2/mcp-oauth, sign in again through the client.
    • If it is /v2/mcp, either replace the API key on that server or update the existing server URL to /v2/mcp-oauth and complete sign-in.
    • Start a new client session after either change.
  • The client is rate-limited: review the current rate limits, wait for the retry interval, or move from keyless to authenticated access.