MCP Firecrawl
Allows integration with the OpenAI Agents SDK for web scraping, crawling, and search.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Firecrawl Search for recent advancements in quantum computing"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Firecrawl
A production-ready Model Context Protocol (MCP) server that integrates with the Firecrawl API to give AI assistants the power to scrape, crawl, and search the web.
Works with Claude Desktop, Cursor, VS Code (Cline/Roo Code), Continue, OpenAI Agents SDK, and any other MCP-compatible AI tool.
Features
Tool | Description | Input |
| Scrape any webpage → returns clean Markdown content + metadata |
|
| Crawl multiple pages (up to 100) from a website |
|
| Search the web using Firecrawl's search engine |
|
Related MCP server: WebSearch
Quick Start
# 1. Clone
git clone https://github.com/YOUR_USERNAME/MCP.git
cd MCP
# 2. Install
npm install
# 3. Configure
cp .env.example .env
# Edit .env → add your Firecrawl API key:
# FIRECRAWL_API_KEY=fc-your-key-here
# 4. Build & Run
npm run build
npm start✅ Server is now running on stdio (default mode).
Usage
Command Line Test
# List available tools
node test-mcp.mjs tools
# Scrape a website
node test-mcp.mjs scrape https://example.com
# Search the web
node test-mcp.mjs search "latest TypeScript news"With OpenAI Agents SDK (TypeScript)
import { Agent, run, MCPServerStdio } from "@openai/agents";
const mcp = new MCPServerStdio({
name: "Firecrawl",
fullCommand: "node dist/server.js",
env: { FIRECRAWL_API_KEY: "fc-..." },
});
await mcp.connect();
const agent = new Agent({
name: "Web Assistant",
instructions: "Use tools to scrape, crawl, and search the web.",
mcpServers: [mcp],
});
const result = await run(agent, "Scrape https://example.com");
console.log(result.finalOutput);
await mcp.close();Integration with AI Tools
Claude Desktop
Add to %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"firecrawl": {
"command": "node",
"args": ["C:/path/to/MCP/dist/server.js"],
"env": {
"FIRECRAWL_API_KEY": "fc-..."
}
}
}
}Cursor
Settings → Features → MCP → Add Server:
Name: firecrawl
Type: command
Command: node "C:/path/to/MCP/dist/server.js"
Environment: FIRECRAWL_API_KEY=fc-...VS Code + Cline / Roo Code
File: .vscode/cline_mcp_settings.json
{
"mcpServers": {
"firecrawl": {
"command": "node",
"args": ["C:/path/to/MCP/dist/server.js"],
"env": { "FIRECRAWL_API_KEY": "fc-..." },
"disabled": false,
"autoApprove": []
}
}
}Continue (VS Code / JetBrains)
File: ~/.continue/config.json
{
"experimental": {
"mcpServers": {
"firecrawl": {
"command": "node",
"args": ["C:/path/to/MCP/dist/server.js"],
"env": { "FIRECRAWL_API_KEY": "fc-..." }
}
}
}
}opencode
File: ./opencode.json
{
"mcp": {
"firecrawl": {
"type": "local",
"command": ["node", "MCP/dist/server.js"],
"enabled": true,
"env": { "FIRECRAWL_API_KEY": "fc-..." }
}
}
}HTTP Mode (Streamable HTTP)
Can't use stdio? Run the server as an HTTP endpoint instead:
npm run start:http
# Listening on http://127.0.0.1:3001/mcpThen connect any MCP client to that URL.
Project Structure
MCP/
├── src/
│ ├── server.ts # Entry point (stdio + HTTP modes)
│ ├── tools/
│ │ ├── scrape.ts # scrape_url tool
│ │ ├── crawl.ts # crawl_website tool
│ │ └── search.ts # search_web tool
│ ├── services/
│ │ └── firecrawl.ts # FirecrawlApp API wrapper
│ └── types/
│ └── index.ts # TypeScript interfaces
├── test-mcp.mjs # CLI test utility
├── .env.example # Environment template
├── package.json
├── tsconfig.json
└── README.mdEnvironment Variables
Variable | Required | Default | Description |
| ✅ Yes | — | Your Firecrawl API key |
| ❌ No |
| HTTP bind address (HTTP mode only) |
| ❌ No |
| HTTP port (HTTP mode only) |
NPM Scripts
Script | Description |
| Compile TypeScript → |
| Run in stdio mode |
| Run in HTTP mode |
| Run with hot-reload (stdio) |
| Run with hot-reload (HTTP) |
| Delete |
Tech Stack
Runtime: Node.js 18+
Language: TypeScript
MCP SDK:
@modelcontextprotocol/sdkScraping Engine:
firecrawlSDKValidation:
zodConfig:
dotenv
Requirements
Node.js 18 or higher
A Firecrawl API key (free tier available)
License
MIT
Available Tools
3 toolscrawl_websiteA
Crawl multiple pages from a website and return extracted markdown content
Inputs: url (required), limit.
scrape_urlA
Scrape a single webpage and return clean markdown content with metadata
Inputs: url (required).
search_webB
Search the web using Firecrawl and return relevant results with content summaries
Inputs: query (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool targets a distinct action: crawling multiple pages, scraping a single page, and searching the web. There is no overlap in purpose.
All tool names follow a consistent verb_noun pattern using snake_case: crawl_website, scrape_url, search_web.
3 tools is slightly lean but covers the core web extraction tasks. More tools could be added (e.g., for authentication), but the set is scoped appropriately.
The tools cover the primary operations: crawling, scraping, and searching. Minor gaps exist (e.g., no tool for custom headers), but the surface is functional for typical use cases.
Maintenance
Related MCP Connectors
Scrape, crawl, and search the web via Firecrawl’s official hosted MCP.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Web search API and MCP server for developers building AI agents.
Firecrawl MCP — wraps the Firecrawl API (firecrawl.dev) for web scraping / crawling / search…
Related MCP Servers
- AlicenseAqualityBmaintenanceFirecrawl, the context API for AI agents, as an MCP server. Search the web, scrape any URL, parse PDFs and documents, crawl and map sites, interact with pages in a real browser, run Agent research jobs, monitor pages for changes, and search scientific papers. Returns clean Markdown or structured JSON. Run locally with npx firecrawl-mcp or connect to https://mcp.firecrawl.dev/v2/mcp28181,541 npm7,809MIT
- FlicenseCqualityCmaintenanceBuilt as a Model Context Protocol (MCP) server that provides advanced web search, content extraction, web crawling, and scraping capabilities using the Firecrawl API.41-
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables web search, scraping, crawling, and content extraction through multiple engines including SearXNG, Firecrawl, and Tavily.4332 npm148MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables AI assistants to perform advanced web scraping, crawling, searching, and data extraction through the Firecrawl API.9181,541 npmMIT