Firecrawl MCP server for search, scrape, crawl, extraction, monitoring, and research with multi-key round-robin support.
Server has 10 tools with mostly complete schemas and descriptions. Tool naming follows verb_noun convention (firecrawl_monitor_*, firecrawl_research_*). Descriptions are present and substantive (100-400+ chars), exceeding the 10-1024 char baseline. However, several critical gaps: (1) Output schemas are NOT documented, no return type specifications visible in tool definitions; (2) Parameter descriptions lack constraint details (ranges, enums, formats); (3) Error handling guidance is absent, no recovery hints or categorization; (4) No pagination details for list tools despite accepting limit/offset; (5) Security: API keys handled via environment/headers (good), but no audit logging or permission gates visible. Monitor tools show good composition (separate create/get/list/update/delete), but research tools lack output structure documentation.
Create a Firecrawl monitor — a recurring scrape, crawl, or search that diffs each result against the last retained snapshot. Prefer the simple path: pass `page` or `pages` plus `goal` to monitor specific URLs, OR pass `queries` plus `goal` to monitor web search results for new/changed hits. The tool will create the monitor with a 30-minute schedule and meaningful-change judging enabled by the API. Use `body` only for advanced requests such as crawl targets, JSON change tracking, custom retention, or manual `judgeEnabled` control. Meaningful-change judge: set `goal` to a plain-language description of what the user actually cares about. `judgeEnabled` defaults to true when `goal` is set, so providing `goal` is enough. Page webhooks expose `isMeaningful` and `judgment` on `monitor.page` events. Simple fields: - `page`: one page URL to monitor. - `pages`: multiple page URLs to monitor. - `queries`: one or more search queries (1-12) to monitor instead of fixed URLs. Each check runs the searches and diffs the result set, so you get alerted when new or changed results appear. Mutually exclusive with `page`/`pages` in the simple path. - `searchWindow`: optional recency window for search targets — one of `5m`, `15m`, `1h`, `6h`, `24h`, `7d` (default `24h`). - `maxResults`: optional max results per search, 1-50 (default 10). - `includeDomains` / `excludeDomains`: optional domain allow/deny lists for search targets. - `goal`: plain-English instruction for what changes matter. Required for the simple path (and always required when `queries` are set — web monitors must have a goal). - `scheduleText`: optional natural-language schedule, default `every 30 minutes`. - `email`: optional email recipient for summaries. - `webhookUrl`: optional webhook URL. Configures `monitor.page` and `monitor.check.completed`.
Delete a monitor by ID. This stops all recurring checks and removes the monitor configuration.
Output schemas not documented. No return type specifications visible for any tool. LLMs cannot plan downstream calls or extract required fields without knowing response structure.
Parameter descriptions lack constraint details. 'limit' and 'offset' have no min/max bounds; 'k' (number of papers) has no range; 'searchWindow' enum values not listed in description; 'resultTypes' enum not documented.
No error handling guidance. Tools lack recovery hints (e.g., 'If monitor not found, call firecrawl_monitor_list to discover available monitors'). No error categorization (retryable vs user-fixable vs fatal).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Retrieve a monitor by ID, including its configuration, schedule, targets, and recent check history.
Retrieve details of a specific check run, including full results and diffs.
Retrieve check history for a monitor, including status, results, and diffs.
List all monitors for the authenticated user, with pagination support.
Update an existing monitor's configuration, schedule, targets, or notifications.
Retrieve full metadata and abstract for a specific research paper by its paper ID.
Search GitHub issues, pull requests, and repository readmes for implementation details, bug reports, discussions, and documentation related to a research topic or system.
Primary entry point for finding research papers by topic across AI/ML, computer science, math, physics, biomedical, life sciences, and clinical literature. Semantic (HyDE) search over indexed paper metadata and abstracts; returns ranked papers with paper id, title, authors, and abstract. The query should be a natural-language research topic or question. Run SEVERAL distinct framings of the question (sibling domains, rival methods, dataset or benchmark names, conditions, populations, interventions, or outcomes) rather than one query — recall improves markedly with diverse framings.
Pagination not fully specified. firecrawl_monitor_list and firecrawl_monitor_get_checks accept limit/offset but descriptions do not state: (1) default limit value, (2) max limit, (3) whether total_count is returned, (4) whether next_cursor is provided.
Destructive operations lack confirmation step. firecrawl_monitor_delete has no dry-run or confirmation mechanism. Agents can irreversibly delete monitors without safeguard.