MCP Firecrawl Server
MCP Firecrawl サーバー
これは、Firecrawl の API を使用して Web サイトをスクレイピングし、構造化データを抽出するためのツールを提供するシンプルな MCP サーバーです。
設定
依存関係をインストールします:
npm install次の変数を含む
.envファイルをルート ディレクトリに作成します。
FIRECRAWL_API_TOKEN=your_token_here
SENTRY_DSN=your_sentry_dsn_hereFIRECRAWL_API_TOKEN(必須): Firecrawl APIトークンSENTRY_DSN(オプション): エラー追跡とパフォーマンス監視用の Sentry DSN
サーバーを起動します。
npm startあるいは、サーバーの実行時に環境変数を直接設定することもできます。
FIRECRAWL_API_TOKEN=your_token_here npm startRelated MCP server: WebSearch
特徴
ウェブサイトスクレイピング:さまざまな形式でウェブサイトからコンテンツを抽出します
構造化データ抽出:カスタムスキーマに基づいて特定のデータポイントを抽出します
エラー追跡: エラー追跡とパフォーマンス監視のために Sentry と統合されています
使用法
サーバーは 2 つのツールを公開します。
scrape-website: 複数のフォーマットオプションを備えた基本的なウェブサイトスクレイピングextract-data: プロンプトとスキーマに基づく構造化データ抽出
ツール: scrape-website
このツールは、Web サイトをスクレイピングし、要求された形式でそのコンテンツを返します。
パラメータ:
url(文字列、必須): スクレイピングするウェブサイトのURLformats(文字列の配列、オプション): 希望する出力形式の配列。サポートされている形式は以下のとおりです。"markdown"(デフォルト)"html""text"
MCP Inspector の使用例:
# Basic usage (defaults to markdown)
mcp-inspector --tool scrape-website --args '{
"url": "https://example.com"
}'
# Multiple formats
mcp-inspector --tool scrape-website --args '{
"url": "https://example.com",
"formats": ["markdown", "html", "text"]
}'ツール: データ抽出
このツールは、提供されたプロンプトとスキーマに基づいて、Web サイトから構造化データを抽出します。
パラメータ:
urls(文字列の配列、必須): データを抽出するURLの配列prompt(文字列、必須):抽出するデータを説明するプロンプトschema(オブジェクト、必須): 抽出するデータのスキーマ定義
スキーマ定義は、キーがフィールド名、値が型であるオブジェクトである必要があります。サポートされる型は次のとおりです。
"string": テキストフィールドの場合"boolean": true/falseフィールド用"number": 数値フィールドの場合配列:
["type"]として指定されます。type は上記のいずれかです。オブジェクト: 独自の型定義を持つネストされたオブジェクト
MCP Inspector の使用例:
# Basic example extracting company information
mcp-inspector --tool extract-data --args '{
"urls": ["https://example.com"],
"prompt": "Extract the company mission, whether it supports SSO, and whether it is open source.",
"schema": {
"company_mission": "string",
"supports_sso": "boolean",
"is_open_source": "boolean"
}
}'
# Complex example with nested data
mcp-inspector --tool extract-data --args '{
"urls": ["https://example.com/products", "https://example.com/pricing"],
"prompt": "Extract product information including name, price, and features.",
"schema": {
"products": [{
"name": "string",
"price": "number",
"features": ["string"]
}]
}
}'どちらのツールも、スクレイピングまたは抽出が失敗した場合に適切なエラー メッセージを返し、設定されている場合は自動的に Sentry にエラーを記録します。
トラブルシューティング
問題が発生した場合:
Firecrawl APIトークンが有効であることを確認してください
スクレイピングしようとしているURLにアクセスできることを確認してください
複雑なスキーマの場合は、サポートされている形式に従っていることを確認してください。
Sentry ログで詳細なエラー情報を確認する (構成されている場合)
Available Tools
2 toolsextract-dataD
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | ||
| prompt | Yes | ||
| schema | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scrape-websiteD
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| formats | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Tool has no description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Tool has no description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool has no description.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Tool has no description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Tool has no description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tool has no description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v1.0.0- First observed
extract-data - First observed
scrape-website
TDQS
Scored across 2 tools
The two tools have overlapping purposes that could cause confusion. 'extract-data' and 'scrape-website' both appear to involve retrieving data from websites, with no clear distinction in their descriptions. While they might target different aspects of web data extraction, the lack of descriptions makes it impossible to determine their boundaries, leading to potential misselection.
The tool names follow a consistent snake_case pattern with verb_noun structure (extract-data, scrape-website). Both use clear action verbs ('extract' and 'scrape') paired with nouns ('data' and 'website'), making them readable and predictable. There are no deviations in naming style across the two tools.
With only 2 tools, the server feels under-scoped for a web scraping/ data extraction domain, which typically requires more operations like configuration, filtering, or handling different data formats. This limited set may force agents to work around gaps, as basic CRUD or lifecycle coverage is incomplete.
The tool surface is severely incomplete for a web scraping server. There are obvious gaps such as no tools for configuring scraping parameters, handling authentication, managing jobs, or processing extracted data. Without descriptions, it's unclear what these tools do, but the lack of supporting operations suggests agents will face dead ends in typical workflows.
Maintenance
Related MCP Connectors
Web pages, PDFs and search results as LLM-ready Markdown or chunks. Firecrawl-compatible, EU-hosted.
MCP server for Firecrawl — web search, scraping, and biomedical/arXiv paper search.
40+ web scraping tools from Firecrawl, Bright Data, Jina, Olostep, ScrapeGraph, Notte, and Riveter. Scrape, crawl, screenshot, and extract from any website. Starts at $0.01/call. Get your API key at app.xpay.sh or xpay.tools
Firecrawl MCP — wraps the Firecrawl API (firecrawl.dev) for web
Related MCP Servers
- AlicenseCqualityDmaintenanceA server that provides web scraping and intelligent content searching capabilities using the Firecrawl API, enabling AI agents to extract structured data from websites and perform content searches.53MIT
- 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-
- AlicenseBqualityDmaintenanceA Model Context Protocol server that enables AI assistants to perform advanced web scraping, crawling, searching, and data extraction through the Firecrawl API.9129,393 npmMIT
- AlicenseAqualityDmaintenanceA Model Context Protocol server that enables web scraping, crawling, and content extraction capabilities through integration with Firecrawl.8129,393 npm2MIT