NotFair
MCPShips with notfair: Open-source SEO, GEO, and marketing skills for AI agents. The NotFair Plugin gives Claude Code, Codex,โฆ
Crawls websites and converts pages into clean, structured markdown or JSON for feeding into language models.
Claude Code
> /plugin marketplace add ZachArticulateV/designer-pro-and-seo> /plugin install designer-pro-and-seo@designer-pro-and-seo
Codex
$ codex mcp add firecrawl --env FIRECRAWL_API_KEY=YOUR_VALUE -- npx -y firecrawl-mcp@3.20.6
Cursor
{ "mcpServers": { "firecrawl": { "command": "npx", "args": [ "-y", "firecrawl-mcp@3.20.6" ], "env": { "FIRECRAWL_API_KEY": "YOUR_VALUE" } } } }
Add it to mcp.json.
Gemini CLI
{ "mcpServers": { "firecrawl": { "command": "npx", "args": [ "-y", "firecrawl-mcp@3.20.6" ], "env": { "FIRECRAWL_API_KEY": "YOUR_VALUE" } } } }
Add it to settings.json.
GitHub Copilot
$ copilot mcp add firecrawl --env FIRECRAWL_API_KEY=YOUR_VALUE -- npx -y firecrawl-mcp@3.20.6
OpenCode
{ "mcp": { "firecrawl": { "type": "local", "command": [ "npx", "-y", "firecrawl-mcp@3.20.6" ], "environment": { "FIRECRAWL_API_KEY": "YOUR_VALUE" } } } }
Add it to opencode.json.
Windsurf
{ "mcpServers": { "firecrawl": { "command": "npx", "args": [ "-y", "firecrawl-mcp@3.20.6" ], "env": { "FIRECRAWL_API_KEY": "YOUR_VALUE" } } } }
Add it to mcp_config.json.
From the README
Search the web, optionally with full page content for each result
Search indexes for developer sources (GitHub issues, merged pull requests, READMEs, and docs), US government sources,โฆ
Scrape any URL into clean Markdown
Parse PDFs and documents
Crawl a site for content from many pages, or map it to discover its URLs
Interact with pages in a real browser
click, type, fill forms, and navigate dynamic pages
Run Agent jobs for multi-source research that returns structured data
Monitor pages and get notified when their content changes
Security report
Low risk
Known flaws
None known
Signed build
No
No build provenance published
Maintained
Oct 19, 2026
Last push
Licence
MIT
Runs as
npx
On your machine
Deprecated
No
Signals from public registries, not an audit. Checked Nov 15, 2026.

A Model Context Protocol (MCP) server that brings Firecrawl, the context API for AI agents, to MCP-compatible clients: search, scrape, and interact with the live web and get back clean Markdown or structured data.
Big thanks to @vrknetha, @knacklabs for the initial implementation!
Play around with our MCP Server on MCP.so's playground or on Klavis AI.
firecrawl_scrape when you have a known URL and want its content as markdown, then extract the requested fields yourself.firecrawl_map when you need to discover URLs on a site without fetching their content.firecrawl_crawl when you need content from many pages under a site; set limit, includePaths/excludePaths, or maxDiscoveryDepth to bound it.firecrawl_search when you're starting from a query rather than a URL and want ranked web results. Results carry excerpts; fetch full pages with firecrawl_scrape on the URLs you need. scrapeOptions fetches every result's page in the same call and bills each as a scrape, so keep it for the full text of a few results (the search-only endpoint never fetches content).firecrawl_interact when a page needs a click, type, or navigate action before you can read it: pass a url for a fresh page or a scrapeId to continue on one you already scraped.firecrawl_monitor_* tools when the same page needs to be checked on a recurring schedule with diffs and change alerts, rather than fetched once.firecrawl_credit_usage to check credits left or what credits were spent on, by month or day, optionally broken down by endpoint or API key.firecrawl_interact call runs one prompt or code turn to completion and returns control. The session can persist across calls via scrapeId and ends with firecrawl_interact_stop, but you cannot drive it interactively step-by-step from the client side within a single call.This server lists 31 tools when the full profile registers with default settings (feedback tools included, not running in local-keyless mode). Setting FIRECRAWL_NO_SEARCH_FEEDBACK=1 and/or FIRECRAWL_NO_ENDPOINT_FEEDBACK=1 removes the corresponding feedback tools and reduces this count, as does local keyless startup. For clients with a tool-slot limit: the hosted keyless endpoint (https://mcp.firecrawl.dev/v2/mcp, no API key) exposes only 3 (firecrawl_scrape, firecrawl_search, firecrawl_parse), and the dedicated search-only endpoint (https://mcp.firecrawl.dev/v2/mcp-search) exposes a fixed set of 11 tools (search, developer, government, and research search, Alexandria catalogue lookup and execution, and people and company search and enrichment).
Connect to the remote hosted server with no setup:
https://mcp.firecrawl.dev/v2/mcp
On the keyless free tier, scrape, search, and parse work without an API key (rate-limited). Other tools such as crawl, map, and agent still need a key.
Prefer OAuth or an API key whenever the human can sign up. It unlocks the full tool set and higher limits.
For an interactive account connection, configure your MCP client to use this server URL. This is an MCP endpoint, not a browser page; use the client's account-connection flow and do not add a second Firecrawl server entry when reconnecting:
https://mcp.firecrawl.dev/v2/mcp-oauth
For an API-key connection (for example, an unattended integration), keep the server URL as:
https://mcp.firecrawl.dev/v2/mcp
Then configure the client's secure header or secret setting with:
Authorization: Bearer <FIRECRAWL_API_KEY>
Never put an API key in the server URL. Never put an API key in an agent chat. Configure it directly in the client or secret manager. See the hosted MCP setup guide and the agent onboarding guide for client-specific instructions.
An integration that connects over HTTP can name itself with an X-Firecrawl-Origin header, for example X-Firecrawl-Origin: my-agent. The server reports it to Firecrawl as the request origin mcp-my-agent@<server version>, in place of the client name or User-Agent it would otherwise report. Use letters, digits and dashes: each run of other characters becomes one dash, leading and trailing dashes are dropped, and the name is cut at 48 characters. Tool results are unaffected; only the origin sent to the Firecrawl API (and passed to an embedder's beforeKeylessRequest) changes.
A fixed-scope search surface is also hosted at:
https://mcp.firecrawl.dev/v2/mcp-search
It exposes a fixed set of eleven tools: firecrawl_search, firecrawl_developer_search, firecrawl_gov_search, the four firecrawl_research_* tools, the two Alexandria tools firecrawl_find_tools and firecrawl_scrape, and the enrich tools people_company_search and people_company_enrich. Its firecrawl_search fetches no page content.
env FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp
npm install -g firecrawl-mcp
Configuring Cursor ๐ฅ๏ธ Note: Requires Cursor version 0.45.6+ For the most up-to-date configuration instructions, please refer to the official Cursor documentation on configuring MCP servers: Cursor MCP Server Configuration Guide
To configure Firecrawl MCP in Cursor v0.48.6
{
"mcpServers": {
"firecrawl-mcp": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "YOUR-API-KEY"
}
}
}
}
To configure Firecrawl MCP in Cursor v0.45.6
env FIRECRAWL_API_KEY=your-api-key npx -y firecrawl-mcpIf you are using Windows and are running into issues, try
cmd /c "set FIRECRAWL_API_KEY=your-api-key && npx -y firecrawl-mcp"
Replace your-api-key with your Firecrawl API key. If you don't have one yet, you can create an account and get it from https://www.firecrawl.dev/app/api-keys
After adding, refresh the MCP server list to see the new tools. The Composer Agent will automatically use Firecrawl MCP when appropriate, but you can explicitly request it by describing what you need from the web. Access the Composer via Command+L (Mac), select "Agent" next to the submit button, and enter your query.
Add this to your ./codeium/windsurf/model_config.json:
{
"mcpServers": {
"mcp-server-firecrawl": {
"command": "npx",
"args": ["-y", "firecrawl-mcp"],
"env": {
"FIRECRAWL_API_KEY": "YOUR_API_KEY"
}
}
}
}
To run the server using Streamable HTTP locally instead of the default stdio transport:
env HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=fc-YOUR_API_KEY npx -y firecrawl-mcp
Use the url: http://localhost:3000/mcp
In this mode the server only answers requests addressed to localhost, 127.0.0.1 or [::1] (on any port), plus the address in HOST when it isn't 0.0.0.0 or ::. A request whose Host header names another host, or whose Origin header names another site, gets 403, and CORS headers echo an allowed origin instead of *. GET and HEAD requests to /health are answered whatever the host, so health checks keep working, and the server logs a line naming FIRECRAWL_MCP_ALLOWED_HOSTS for every request it refuses. This stops web pages you visit from calling the local server through DNS rebinding or cross-origin requests and using its FIRECRAWL_API_KEY.
To reach the server under another name or address, such as a hostname behind a reverse proxy or a LAN IP, list it in FIRECRAWL_MCP_ALLOWED_HOSTS (comma-separated; ports are ignored). The same list decides which browser origins may call the server. A reverse proxy on the same machine can keep the default bind address:
env HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=fc-YOUR_API_KEY \
FIRECRAWL_MCP_ALLOWED_HOSTS=mcp.home.lan npx -y firecrawl-mcp
Clients on other machines also need the server to listen on a non-loopback address, so set HOST too. Every client that can reach the port is then served with the server's FIRECRAWL_API_KEY, so do this only on a network you trust:
env HTTP_STREAMABLE_SERVER=true FIRECRAWL_API_KEY=fc-YOUR_API_KEY HOST=0.0.0.0 \
FIRECRAWL_MCP_ALLOWED_HOSTS=192.168.1.20 npx -y firecrawl-mcp
FIRECRAWL_MCP_ALLOWED_HOSTS=* turns the check off and restores the wildcard CORS header. Only do that when something in front of the server checks hosts and origins itself.
The ghcr.io/firecrawl/firecrawl-mcp-server image runs the same server as npx -y firecrawl-mcp. Every build from main is tagged latest, v<package version> and sha-<commit sha>. v<package version> moves to the newest build of that version, so pin sha-<commit sha> (or a digest) when you need a fixed image.
stdio (the default), for MCP clients that launch the server as a command:
docker run -i --rm -e FIRECRAWL_API_KEY=fc-YOUR_API_KEY ghcr.io/firecrawl/firecrawl-mcp-server:latest
{
"mcpServers": {
"firecrawl-mcp": {
"command": "docker",
"args": ["run", "-i", "--rm", "-e", "FIRECRAWL_API_KEY", "ghcr.io/firecrawl/firecrawl-mcp-server:latest"],
"env": {
"FIRECRAWL_API_KEY": "YOUR_API_KEY"
}
}
}
}
Streamable HTTP, served at http://localhost:3000/mcp:
docker run --rm -p 127.0.0.1:3000:3000 \
-e HTTP_STREAMABLE_SERVER=true \
-e FIRECRAWL_API_KEY=fc-YOUR_API_KEY \
ghcr.io/firecrawl/firecrawl-mcp-server:latest
A Claude Code plugin for the web-design + SEO workflow: research a niche, generate a coherent design system, write a complete build brief, build, run a pre-delivery QA gate, port the result into any CMS, and review on-page SEO.
Ships with notfair: Open-source SEO, GEO, and marketing skills for AI agents. The NotFair Plugin gives Claude Code, Codex,โฆ
Ships with notfair: Open-source SEO, GEO, and marketing skills for AI agents. The NotFair Plugin gives Claude Code, Codex,โฆ
Retrieves keyword rankings, click and impression data, and indexing status from Google Search Console.