Skip to main content
Glama
Firecrawl MCP Server

Firecrawl MCP Server

Create Firecrawl monitor

firecrawl_monitor_create

Create a recurring monitor that scrapes, crawls, or searches targets, compares each result with its prior version, and sends email or webhook alerts on changes.

Instructions

Create a recurring scrape, crawl, or search monitor that compares each check with its retained predecessor. The simple form accepts page/pages or queries plus a plain-language goal; the advanced body form controls targets, schedule, change-tracking formats, judging, retention, webhook, and notifications.

In the simple form, a goal is required. If queries contains one or more non-empty values and is supplied with page/pages, queries create the search target and page targets are ignored. A monitor schedules future network checks and can send configured email or webhook notifications. Returns the created monitor.

Input Schema

NameRequiredDescriptionDefault
bodyNo
goalNo
nameNo
pageNo
emailNo
pagesNo
queriesNo
timezoneNo
maxResultsNo
webhookUrlNo
includeDiffsNo
scheduleTextNo
searchWindowNo
excludeDomainsNo
includeDomainsNo

Output Schema

NameRequiredDescriptionDefault
dataNoThe monitor record: configuration, schedule, targets, and current state.
errorNoError message or error object when the call did not succeed.
successNoWhether the API call succeeded.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv3.36.1
    • changedInput schema / properties / body / additionalProperties
      Previous value: -{}New value: +true
  2. Changed2 schema fields changedv1.0.2
    • changedInput schema / $schema
      Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "description": "One monitor record.",
      +  "properties": {
      +    "data": {
      +      "description": "The monitor record: configuration, schedule, targets, and current state."
      +    },
      +    "error": {
      +      "description": "Error message or error object when the call did not succeed."
      +    },
      +    "success": {
      +      "anyOf": [
      +        {
      +          "type": "boolean"
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ],
      +      "description": "Whether the API call succeeded."
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observedv1.0.1

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false and destructiveHint=false, so safety is partly covered. The description adds real behavioral context beyond them: the monitor schedules future network checks, can emit email/webhook notifications and diffs, retains prior results for comparison, and returns the created monitor. It does not disclose credit cost, quota limits, or how to remove the schedule afterward.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with purpose, then form selection, then precedence and side effects. Efficient overall, though the `body` enumeration ('targets, schedule, change-tracking formats, judging, retention, webhook, and notifications') is a compressed noun list that gives little actionable detail for its length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so the single line 'Returns the created monitor' is sufficient for return values. But for a 15-parameter creation tool with a raw free-form `body` object and 0% schema description coverage, leaving most simple-form properties undocumented is a meaningful gap for an agent attempting to construct a valid call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage the description must carry the load, and it does explain the most consequential parameters and their interaction (`goal` required in simple form, `page`/`pages` vs `queries` precedence) plus the broad remit of the free-form `body` object. However, roughly half the declared properties — `name`, `email`, `timezone`, `maxResults`, `includeDiffs`, `scheduleText`, `searchWindow`, `includeDomains`/`excludeDomains` — are never mentioned, and the `body` contents are listed abstractly ('judging', 'retention') rather than mapped to fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names the verb (Create) and the exact resource (a recurring scrape/crawl/search monitor) and states the defining behavior that separates it from siblings: each check is compared against its retained predecessor. An agent can distinguish it from firecrawl_monitor_run, firecrawl_monitor_check, or firecrawl_monitor_update without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly splits usage into two modes (simple form vs. advanced `body` form) and states an explicit precedence rule: if `queries` has non-empty values alongside `page`/`pages`, the search target wins and page targets are ignored. It also states that a `goal` is required in the simple form. It stops short of saying when to prefer this tool over one-off firecrawl_search/firecrawl_crawl or what preconditions (auth, credits) apply.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.