# Firecrawl: tool descriptions scored

- tools/list taken: 2026-09-30 (UTC)
- From: [npm firecrawl-mcp@3.26.0](https://www.npmjs.com/package/firecrawl-mcp)
- Homepage: https://github.com/firecrawl/firecrawl-mcp-server
- Scoring rules: v2
- Tools: 29
- Average: 61.3 / 100 (Cloudy)
- Near-identical pairs: 0

This page shows how Firecrawl's tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

## Across the server

- Minor: 29 tools. Above 25, models start to tell tools apart less well.
- Minor: The server's instructions are 2904 characters. Claude Code reads only the first 2,048 by default (Codex 0.154.0 reads them whole). Put what the server is for first.

## Tools

- `firecrawl_monitor_get`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `firecrawl_check_crawl_status`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `firecrawl_research_search_github`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: query, k.
  - Minor: The description says the tool is deprecated. Name the replacement, and consider taking the tool out of tools/list: models avoid it when asked for what it does.
- `firecrawl_monitor_delete`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `firecrawl_monitor_run`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `firecrawl_monitor_update`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id, body.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `firecrawl_interact_stop`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: scrapeId.
  - Minor: String arguments with no constraint or example: scrapeId.
  - Minor: Required identifiers whose description does not say where the value comes from: scrapeId. Name the tool or the place that returns it, or models look it up first.
- `firecrawl_monitor_list`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: limit, offset.
  - Minor: No `required` list, so every argument is optional.
- `firecrawl_extract`: 50 / 100
  - Major: Arguments without a description: urls, prompt, schema, allowExternalLinks, enableWebSearch, includeSubdomains.
  - Minor: String arguments with no constraint or example: prompt.
  - Minor: The meaning of the boolean argument allowExternalLinks is unclear.
  - Minor: The meaning of the boolean argument enableWebSearch is unclear.
  - Minor: The meaning of the boolean argument includeSubdomains is unclear.
  - Minor: The description says the tool is deprecated. Name the replacement, and consider taking the tool out of tools/list: models avoid it when asked for what it does.
- `firecrawl_monitor_create`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: body, page, pages, queries, searchWindow, maxResults, includeDomains, excludeDomains, goal, name, scheduleText, timezone, email, includeDiffs, webhookUrl.
  - Minor: String arguments with no constraint or example: page, goal, name, scheduleText, timezone, email, webhookUrl.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument includeDiffs is unclear.
- `firecrawl_monitor_checks`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: id, limit, offset, status.
  - Minor: String arguments with no constraint or example: id.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `firecrawl_interact`: 55 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: scrapeId, url, prompt, code, language, timeout, scrapeOptions, scrapeOptions.formats, scrapeOptions.jsonOptions, scrapeOptions.jsonOptions.prompt, scrapeOptions.jsonOptions.schema, scrapeOptions.queryOptions, scrapeOptions.queryOptions.prompt, scrapeOptions.queryOptions.mode, scrapeOptions.screenshotOptions, scrapeOptions.screenshotOptions.fullPage, scrapeOptions.screenshotOptions.quality, scrapeOptions.screenshotOptions.viewport, scrapeOptions.screenshotOptions.viewport.width, scrapeOptions.screenshotOptions.viewport.height, scrapeOptions.parsers, scrapeOptions.pdfOptions, scrapeOptions.pdfOptions.maxPages, scrapeOptions.onlyMainContent, scrapeOptions.redactPII, scrapeOptions.includeTags, scrapeOptions.excludeTags, scrapeOptions.waitFor, scrapeOptions.actions, scrapeOptions.actions[].type, scrapeOptions.actions[].selector, scrapeOptions.actions[].milliseconds, scrapeOptions.actions[].text, scrapeOptions.actions[].key, scrapeOptions.actions[].direction, scrapeOptions.actions[].script, scrapeOptions.actions[].fullPage, scrapeOptions.mobile, scrapeOptions.skipTlsVerification, scrapeOptions.removeBase64Images, scrapeOptions.location, scrapeOptions.location.country, scrapeOptions.location.languages, scrapeOptions.storeInCache, scrapeOptions.zeroDataRetention, scrapeOptions.maxAge, scrapeOptions.lockdown, scrapeOptions.proxy, scrapeOptions.profile, scrapeOptions.profile.name, scrapeOptions.profile.saveChanges.
  - Minor: String arguments with no constraint or example: scrapeOptions.jsonOptions.prompt, scrapeOptions.actions[].selector, scrapeOptions.actions[].text, scrapeOptions.actions[].key, scrapeOptions.actions[].script, scrapeOptions.location.country, scrapeOptions.profile.name.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument scrapeOptions.screenshotOptions.fullPage is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.onlyMainContent is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.redactPII is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.actions[].fullPage is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.mobile is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.skipTlsVerification is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.removeBase64Images is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.storeInCache is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.zeroDataRetention is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.lockdown is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.profile.saveChanges is unclear.
- `firecrawl_crawl`: 57 / 100
  - Major: Arguments without a description: url, prompt, excludePaths, includePaths, maxDiscoveryDepth, sitemap, limit, allowExternalLinks, allowSubdomains, crawlEntireDomain, delay, maxConcurrency, webhook, webhookHeaders, deduplicateSimilarURLs, ignoreQueryParameters, scrapeOptions, scrapeOptions.formats, scrapeOptions.jsonOptions, scrapeOptions.jsonOptions.prompt, scrapeOptions.jsonOptions.schema, scrapeOptions.queryOptions, scrapeOptions.queryOptions.prompt, scrapeOptions.queryOptions.mode, scrapeOptions.screenshotOptions, scrapeOptions.screenshotOptions.fullPage, scrapeOptions.screenshotOptions.quality, scrapeOptions.screenshotOptions.viewport, scrapeOptions.screenshotOptions.viewport.width, scrapeOptions.screenshotOptions.viewport.height, scrapeOptions.parsers, scrapeOptions.pdfOptions, scrapeOptions.pdfOptions.maxPages, scrapeOptions.onlyMainContent, scrapeOptions.redactPII, scrapeOptions.includeTags, scrapeOptions.excludeTags, scrapeOptions.waitFor, scrapeOptions.actions, scrapeOptions.actions[].type, scrapeOptions.actions[].selector, scrapeOptions.actions[].milliseconds, scrapeOptions.actions[].text, scrapeOptions.actions[].key, scrapeOptions.actions[].direction, scrapeOptions.actions[].script, scrapeOptions.actions[].fullPage, scrapeOptions.mobile, scrapeOptions.skipTlsVerification, scrapeOptions.removeBase64Images, scrapeOptions.location, scrapeOptions.location.country, scrapeOptions.location.languages, scrapeOptions.storeInCache, scrapeOptions.zeroDataRetention, scrapeOptions.maxAge, scrapeOptions.lockdown, scrapeOptions.proxy, scrapeOptions.profile, scrapeOptions.profile.name, scrapeOptions.profile.saveChanges.
  - Minor: String arguments with no constraint or example: url, prompt, webhook, scrapeOptions.jsonOptions.prompt, scrapeOptions.actions[].selector, scrapeOptions.actions[].text, scrapeOptions.actions[].key, scrapeOptions.actions[].script, scrapeOptions.location.country, scrapeOptions.profile.name.
  - Minor: The meaning of the boolean argument allowExternalLinks is unclear.
  - Minor: The meaning of the boolean argument allowSubdomains is unclear.
  - Minor: The meaning of the boolean argument crawlEntireDomain is unclear.
  - Minor: The meaning of the boolean argument deduplicateSimilarURLs is unclear.
  - Minor: The meaning of the boolean argument ignoreQueryParameters is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.screenshotOptions.fullPage is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.onlyMainContent is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.redactPII is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.actions[].fullPage is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.mobile is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.skipTlsVerification is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.removeBase64Images is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.storeInCache is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.zeroDataRetention is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.lockdown is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.profile.saveChanges is unclear.
- `firecrawl_monitor_check`: 59 / 100
  - Major: Arguments without a description: id, checkId, limit, skip, pageStatus.
  - Minor: String arguments with no constraint or example: id, checkId.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: id, checkId. Name the tool or the place that returns it, or models look it up first.
- `firecrawl_research_related_papers`: 60 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: seed_ids, intent, mode, k.
  - Minor: Required identifiers whose description does not say where the value comes from: seed_ids. Name the tool or the place that returns it, or models look it up first.
- `firecrawl_agent_status`: 62 / 100
  - Major: Arguments without a description: id.
  - Minor: String arguments with no constraint or example: id.
- `firecrawl_feedback`: 65 / 100
  - Major: Arguments without a description: endpoint, jobId, requestedWebsite, requestedWebsite.url, requestedWebsite.requestedFunctionality, rationale, providerFeedback, providerFeedback[].name, providerFeedback[].issue, providerFeedback[].why, capabilityFeedback, capabilityFeedback[].name, capabilityFeedback[].provider, capabilityFeedback[].issue, capabilityFeedback[].why, capabilityFeedback[].requestedFunctionality, rating, issues, tags, note, valuableSources, valuableSources[].url, valuableSources[].reason, missingContent, missingContent[].topic, missingContent[].description, querySuggestions, url, pageNumbers, metadata.
- `firecrawl_search_feedback`: 69 / 100
  - Major: Arguments without a description: searchId, rating, valuableSources, valuableSources[].url, valuableSources[].reason, missingContent[].topic, missingContent[].description, querySuggestions.
  - Minor: Required identifiers whose description does not say where the value comes from: searchId. Name the tool or the place that returns it, or models look it up first.
- `firecrawl_parse`: 70 / 100
  - Major: Arguments without a description: formats, jsonOptions, jsonOptions.prompt, jsonOptions.schema, queryOptions, queryOptions.prompt, queryOptions.mode, parsers, pdfOptions, pdfOptions.maxPages, onlyMainContent, redactPII, includeTags, excludeTags, removeBase64Images, skipTlsVerification, storeInCache, zeroDataRetention, proxy.
  - Minor: String arguments with no constraint or example: jsonOptions.prompt.
  - Minor: The meaning of the boolean argument onlyMainContent is unclear.
  - Minor: The meaning of the boolean argument redactPII is unclear.
  - Minor: The meaning of the boolean argument removeBase64Images is unclear.
  - Minor: The meaning of the boolean argument skipTlsVerification is unclear.
  - Minor: The meaning of the boolean argument storeInCache is unclear.
  - Minor: The meaning of the boolean argument zeroDataRetention is unclear.
- `firecrawl_developer_search`: 72 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
- `firecrawl_research_search_papers`: 72 / 100
  - Major: Says nothing about when to use it, or when not to.
- `firecrawl_scrape`: 72 / 100
  - Major: Arguments without a description: url, formats, jsonOptions, jsonOptions.prompt, jsonOptions.schema, queryOptions, queryOptions.prompt, queryOptions.mode, screenshotOptions, screenshotOptions.fullPage, screenshotOptions.quality, screenshotOptions.viewport, screenshotOptions.viewport.width, screenshotOptions.viewport.height, parsers, pdfOptions, pdfOptions.maxPages, onlyMainContent, redactPII, includeTags, excludeTags, waitFor, actions, actions[].type, actions[].selector, actions[].milliseconds, actions[].text, actions[].key, actions[].direction, actions[].script, actions[].fullPage, mobile, skipTlsVerification, removeBase64Images, location, location.country, location.languages, storeInCache, zeroDataRetention, maxAge, lockdown, proxy, profile, profile.name, profile.saveChanges.
  - Minor: String arguments with no constraint or example: jsonOptions.prompt, actions[].selector, actions[].text, actions[].key, actions[].script, location.country, profile.name.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument screenshotOptions.fullPage is unclear.
  - Minor: The meaning of the boolean argument onlyMainContent is unclear.
  - Minor: The meaning of the boolean argument redactPII is unclear.
  - Minor: The meaning of the boolean argument actions[].fullPage is unclear.
  - Minor: The meaning of the boolean argument mobile is unclear.
  - Minor: The meaning of the boolean argument skipTlsVerification is unclear.
  - Minor: The meaning of the boolean argument removeBase64Images is unclear.
  - Minor: The meaning of the boolean argument storeInCache is unclear.
  - Minor: The meaning of the boolean argument zeroDataRetention is unclear.
  - Minor: The meaning of the boolean argument lockdown is unclear.
  - Minor: The meaning of the boolean argument profile.saveChanges is unclear.
- `firecrawl_map`: 75 / 100
  - Major: Arguments without a description: url, search, sitemap, includeSubdomains, limit, ignoreQueryParameters.
  - Minor: String arguments with no constraint or example: search.
  - Minor: The meaning of the boolean argument includeSubdomains is unclear.
  - Minor: The meaning of the boolean argument ignoreQueryParameters is unclear.
- `firecrawl_research_read_paper`: 77 / 100
  - Minor: Arguments without a description: question.
  - Minor: Required identifiers whose description does not say where the value comes from: paperId. Name the tool or the place that returns it, or models look it up first.
- `firecrawl_search`: 79 / 100
  - Major: Arguments without a description: limit, tbs, filter, location, sources[].type, enterprise, scrapeOptions.formats, scrapeOptions.jsonOptions, scrapeOptions.jsonOptions.prompt, scrapeOptions.jsonOptions.schema, scrapeOptions.queryOptions, scrapeOptions.queryOptions.prompt, scrapeOptions.queryOptions.mode, scrapeOptions.screenshotOptions, scrapeOptions.screenshotOptions.fullPage, scrapeOptions.screenshotOptions.quality, scrapeOptions.screenshotOptions.viewport, scrapeOptions.screenshotOptions.viewport.width, scrapeOptions.screenshotOptions.viewport.height, scrapeOptions.parsers, scrapeOptions.pdfOptions, scrapeOptions.pdfOptions.maxPages, scrapeOptions.onlyMainContent, scrapeOptions.redactPII, scrapeOptions.includeTags, scrapeOptions.excludeTags, scrapeOptions.waitFor, scrapeOptions.actions, scrapeOptions.actions[].type, scrapeOptions.actions[].selector, scrapeOptions.actions[].milliseconds, scrapeOptions.actions[].text, scrapeOptions.actions[].key, scrapeOptions.actions[].direction, scrapeOptions.actions[].script, scrapeOptions.actions[].fullPage, scrapeOptions.mobile, scrapeOptions.skipTlsVerification, scrapeOptions.removeBase64Images, scrapeOptions.location, scrapeOptions.location.country, scrapeOptions.location.languages, scrapeOptions.storeInCache, scrapeOptions.zeroDataRetention, scrapeOptions.maxAge, scrapeOptions.lockdown, scrapeOptions.proxy, scrapeOptions.profile, scrapeOptions.profile.name, scrapeOptions.profile.saveChanges.
  - Minor: String arguments with no constraint or example: tbs, filter, location, scrapeOptions.jsonOptions.prompt, scrapeOptions.actions[].selector, scrapeOptions.actions[].text, scrapeOptions.actions[].key, scrapeOptions.actions[].script, scrapeOptions.location.country, scrapeOptions.profile.name.
  - Minor: The meaning of the boolean argument scrapeOptions.screenshotOptions.fullPage is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.onlyMainContent is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.redactPII is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.actions[].fullPage is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.mobile is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.skipTlsVerification is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.removeBase64Images is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.storeInCache is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.zeroDataRetention is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.lockdown is unclear.
  - Minor: The meaning of the boolean argument scrapeOptions.profile.saveChanges is unclear.
- `firecrawl_research_inspect_paper`: 80 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: paperId. Name the tool or the place that returns it, or models look it up first.
- `firecrawl_find_tools`: 81 / 100
  - Minor: Arguments without a description: urls, level, limit, offset.
  - Minor: No `required` list, so every argument is optional.
- `firecrawl_credit_usage`: 82 / 100
  - Minor: No `required` list, so every argument is optional.
- `firecrawl_agent`: 87 / 100
  - Minor: Arguments without a description: prompt, urls, schema, exchange.approve.approvalId, exchange.approve.callIds, exchange.approve.always, exchange.decline.approvalId.
  - Minor: The meaning of the boolean argument exchange.approve.always is unclear.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
