Firecrawl MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SSE_LOCAL | No | Enables SSE local mode (HTTP stream transport), in which clients should send Authorization: Bearer <fco_access_token> on MCP requests. | |
| CLOUD_SERVICE | No | When true, runs in hosted mode and additionally serves the search-only endpoint. | |
| FIRECRAWL_API_KEY | No | Your Firecrawl API key. Required when using cloud API (default). Optional when using self-hosted instance with FIRECRAWL_API_URL. | |
| FIRECRAWL_API_URL | No | Custom API endpoint for self-hosted instances. Example: https://firecrawl.your-domain.com. If not provided, the cloud API will be used (requires API key). | |
| FIRECRAWL_OAUTH_TOKEN | No | A static OAuth access token (fco_...) for stdio transport, used instead of FIRECRAWL_API_KEY. Only access tokens are supported; refresh tokens (fcr_...) must be exchanged at the token endpoint. | |
| HTTP_STREAMABLE_SERVER | No | Set to true to run the server using Streamable HTTP locally instead of the default stdio transport. Use the url: http://localhost:3000/mcp | |
| FIRECRAWL_MCP_SEARCH_PORT | No | Port for the search-only instance, for isolated tests only. Must not be used independently in the hosted deployment. | |
| FIRECRAWL_MCP_SEARCH_ENABLED | No | Operational toggle for the hosted search-only instance (default true). Set to false to prevent the search instance from starting. | |
| FIRECRAWL_NO_SEARCH_FEEDBACK | No | Set to 1 (or FIRECRAWL_DISABLE_SEARCH_FEEDBACK=1) to opt out of the firecrawl_search_feedback tool so it is not registered. | |
| FIRECRAWL_MCP_SEARCH_ENDPOINT | No | Endpoint for the search-only instance, for isolated tests only. Must not be used independently in the hosted deployment. | |
| FIRECRAWL_NO_ENDPOINT_FEEDBACK | No | Set to 1 (or FIRECRAWL_DISABLE_ENDPOINT_FEEDBACK=1) to opt out of the firecrawl_feedback tool so it is not registered. | |
| FIRECRAWL_DISABLE_SEARCH_FEEDBACK | No | Set to 1 to opt out of the firecrawl_search_feedback tool so it is not registered. | |
| FIRECRAWL_MCP_SEARCH_RESOURCE_URL | No | OAuth protected-resource identifier for the search-only instance, for isolated tests only. Must not be used independently in the hosted deployment. | |
| FIRECRAWL_DISABLE_ENDPOINT_FEEDBACK | No | Set to 1 to opt out of the firecrawl_feedback tool so it is not registered. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| logging | {} |
| completions | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| firecrawl_scrapeA | 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 may serve recently indexed content; set On an authenticated session with Alexandria access, Alexandria mode, on an authenticated session with Alexandria access: |
| firecrawl_mapA | Enumerate URLs indexed under one website through Firecrawl without fetching each page's content. Use this when the request asks for a site's URL inventory, when several relevant pages must be located, or when the desired page URL is unknown. An optional Returns matching URLs rather than page bodies. Retrieve one page with |
| firecrawl_searchA | Search web, news, or image sources and return ranked results with query-relevant highlights. Each web result is a title, URL, and description; use 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. A search with sources: ["web"] omits semantic provider discovery; domainTools: true can still return website-matched tools. Web-only results use domainTools: false. On an authenticated session, tool matches describe available capabilities; For a programming question, add |
| firecrawl_find_toolsA | Browse Alexandria data providers and workflows or read a selected contract. Alexandria covers 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: typed, sourced records through published contracts. Prefer normal firecrawl_search for a data task; it already returns matching providers. Use this tool when the contract you need was not returned in full, to browse a category when search found nothing, or before scraping the same fields from several pages. Discovery is free. Use query for semantic discovery or urls to find providers for a website. With no arguments, browse categories, then providers and tools. Contracts describe the inputs and outputs for execution through firecrawl_scrape. nextTool identifies further discovery or pagination. Discovery does not execute providers. Use firecrawl_search when you also need web results. |
| firecrawl_crawlC | Start a multi-page crawl at a website URL, poll it to a terminal state, and return the final status and collected data. Scope can be bounded with include/exclude paths, depth, page limit, subdomain/external-link controls, sitemap handling, delay, and scrape options. Crawl results can be large; use conservative limits when full-site coverage is unnecessary. Webhooks and interactive scrape actions are unavailable in safe mode. Returns the crawl ID, status, and page data. |
| firecrawl_check_crawl_statusA | Retrieve the current status, progress, and available results for an existing crawl ID. This only reads Firecrawl job state and does not start or modify the crawl. |
| firecrawl_agentA | Run web research that returns structured data when the URLs are not known or the answer spans several sites. Describe the fields you need in This call returns only a job ID, not the research result. Read the job with The job also returns a The agent only calls Alexandria providers whose terms the team has accepted. |
| firecrawl_agent_statusA | Retrieve progress or final results for a Returns job status, progress information, and result data when completed. |
| firecrawl_interactA | Open or reuse a live browser session to navigate a page, click controls, fill fields, or run browser code. Provide either This acts on the live site, so actions such as form submission can create persistent external side effects. Returns execution output, stdout/stderr, exit status, and session viewing URLs. |
| firecrawl_interact_stopA | Stop the live interact session associated with a |
| firecrawl_parseA | 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 Local MCP reads Set |
| firecrawl_monitor_createA | Create a recurring scrape, crawl, or search monitor that compares each check with its retained predecessor. The simple form accepts In the simple form, a |
| firecrawl_monitor_listA | List monitors for the authenticated account with optional pagination controls. Returns one page of monitor records and pagination metadata. |
| firecrawl_monitor_getA | Retrieve one monitor by ID, including its configuration and current state. This does not run or modify the monitor. |
| firecrawl_monitor_updateA | Patch an existing monitor by ID. The body can change its name, active/paused status, schedule, targets, goal, judging, webhook, notifications, or retention; these changes affect future scheduled checks. Returns the updated monitor. |
| firecrawl_monitor_deleteA | Permanently delete a monitor by ID and stop its future schedule. This operation cannot be undone and returns deletion status. |
| firecrawl_monitor_runA | Queue an immediate check for a monitor outside its normal schedule. This starts network work for the monitor's configured targets and returns the queued check. |
| firecrawl_monitor_checksA | List historical checks for a monitor, optionally filtered by status and bounded by a result limit. Returns one page of check summaries and pagination metadata. |
| firecrawl_monitor_checkA | Retrieve one monitor check and its page-level results, optionally filtered by page status. Pages report Markdown tracking returns a unified text diff, JSON tracking returns field paths with previous/current values and a current snapshot, and mixed tracking returns both. Returns one page of results plus a |
| firecrawl_research_search_papersA | Search paper metadata and abstracts with a natural-language query across the indexed corpus, which spans biomedical, life-science, and clinical literature (PubMed, bioRxiv, medRxiv) alongside arXiv and other scientific sources. Optional author, category, and date filters constrain results. Several distinct framings of the same question surface different papers than a single query does. Returns ranked papers with canonical IDs, titles, authors, and abstracts. |
| firecrawl_research_inspect_paperA | Retrieve canonical metadata for one paper ID, such as an arXiv, PMC, PMID, or DOI identifier. Returns the title, abstract, authors, categories, source IDs, and dates as markdown. |
| firecrawl_research_related_papersB | Find citation-graph candidates from one to ten Returns ranked candidates and the evaluated pool size. |
| firecrawl_research_read_paperA | Retrieve in-body passages from one paper that are relevant to a specific question. Full text is available only for indexed papers; Returns matching passages or a notice when full text is unavailable. |
| firecrawl_developer_searchA | Search an index of public repositories, GitHub issues, merged pull requests, repository READMEs, and code documentation for programming questions that need external documentation or upstream evidence. Returns ranked results with an ID, source type, URL, title, and the matched passages in markdown. |
| firecrawl_gov_searchA | Search an index of primary law and regulatory material from US federal, state, and local government sources (statutes, regulations, codes, court opinions, and other government publications) for legal or regulatory questions that need the governing text or an official source. Returns ranked results with a position, title, URL, and matched snippet. |
| firecrawl_credit_usageA | Get the authenticated Firecrawl team's current credit balance or historical credit consumption. Use the current view to answer how many credits remain or to check billing-period boundaries. Use the historical view for monthly usage reporting and trend analysis. The current view returns The historical view returns periods sorted by start date with |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 26 tools
Most tools target a clearly distinct resource+action (scrape vs map vs crawl vs parse vs interact), and the specialized searches (developer, gov, research, web) are scoped by source domain. The weakest boundaries are firecrawl_monitor_check vs firecrawl_monitor_checks and firecrawl_search vs firecrawl_find_tools, both of which require reading the descriptions to separate.
A predictable firecrawl_<noun>_<action> snake_case pattern dominates (scrape, map, crawl, monitor_create/update/delete, research_*_paper). A few names drop the verb or invert order — firecrawl_agent_status, firecrawl_credit_usage, firecrawl_find_tools — which are minor deviations but still readable.
At 26 tools the surface is heavy, though the server genuinely spans several domains (scrape/crawl, agent, monitors, research, specialized search, billing). The monitor family alone is seven tools, and some pairs (monitor_run, agent_status) could plausibly be folded into existing operations.
Coverage is broad and lifecycle-complete in most areas: monitors have full CRUD plus run/checks, interact has a stop, agent has status polling, and research papers have search/inspect/related/read. Minor gaps remain — no crawl cancellation or batch-scrape operation, and job control is limited to read-only status checks.