MCP サーバー概要
What is the project about? MCP Firecrawl Tool is a small Node.js server that wraps Firecrawl APIs to scrape websites and extract structured data. It exposes two tools — scrape-website and extract-data — and optionally reports errors to Sentry.
How to use the project?
- Install dependencies: npm install
- Configure credentials in a .env or environment variables: set FIRECRAWL_API_TOKEN (required) and SENTRY_DSN (optional)
- Start: npm start
- Invoke tools with the provided CLI integration (mcp-inspector). Example usages:
- scrape-website: provide url and optional output formats (markdown, html, text)
- extract-data: provide urls, a prompt describing the data to extract, and a schema describing fields and types
Key features
- Website scraping with multiple output formats (markdown, html, text)
- Structured data extraction based on prompts and user-defined schemas
- Schema support for strings, booleans, numbers, arrays and nested objects
- Sentry integration for error tracking and performance monitoring
- Simple CLI integration via mcp-inspector for easy automation
Use cases
- Extracting company or product information across multiple pages for research or enrichment
- Price monitoring and feature comparison scraping
- Building datasets from public web pages (lead gen, market research)
- Archiving or converting site content to markdown/html/text for downstream processing
- QA or automation tasks that need structured outputs from web pages
FAQ
- Do I need an API token?
Yes. FIRECRAWL_API_TOKEN is required to call Firecrawl APIs.
- Is Sentry required?
No. SENTRY_DSN is optional; enable it to collect error and performance logs.
- What formats are supported by scrape-website?
Supported formats are markdown (default), html, and text.
- How do I define what data to extract?
Use extract-data with a natural-language prompt describing the desired fields and provide a schema object where keys are field names and values are types (“string”, “boolean”, “number”, arrays like [“string”], or nested objects).
- What happens on failures?
The server returns error messages for failed scrapes/extractions and will log errors to Sentry if configured.
- Can I extract from multiple pages at once?
Yes. extract-data accepts an array of URLs to process in a single request.