You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: package.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
{
2
2
"name": "firecrawl-mcp",
3
-
"version": "3.22.0",
3
+
"version": "3.22.1",
4
4
"description": "MCP server for Firecrawl — search, scrape, and interact with the web. Supports both cloud and self-hosted instances. Features include web search, scraping, page interaction, batch processing, and LLM-powered content analysis.",
@@ -153,7 +192,7 @@ function buildMonitorCreateBody(
153
192
: 'UTC',
154
193
},
155
194
goal,
156
-
targets: [{type: 'scrape', urls }],
195
+
targets: [target],
157
196
...(email ? {notification: email} : {}),
158
197
...(webhookUrl
159
198
? {
@@ -176,20 +215,38 @@ export function registerMonitorTools(server: FastMCP<SessionData>): void {
176
215
destructiveHint: false,// Additive; creates a new monitor without deleting existing monitors or external content.
177
216
},
178
217
description: `
179
-
Create a Firecrawl monitor — a recurring scrapeor crawl that diffs each result against the last retained snapshot.
218
+
Create a Firecrawl monitor — a recurring scrape, crawl, or search that diffs each result against the last retained snapshot.
180
219
181
-
Prefer the simple path: pass \`page\` or \`pages\` plus \`goal\`. The tool will create a scrape 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.
220
+
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.
182
221
183
222
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.
184
223
185
224
Simple fields:
186
225
- \`page\`: one page URL to monitor.
187
226
- \`pages\`: multiple page URLs to monitor.
188
-
- \`goal\`: plain-English instruction for what changes matter. Required for the simple path.
227
+
- \`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.
228
+
- \`searchWindow\`: optional recency window for search targets — one of \`5m\`, \`15m\`, \`1h\`, \`6h\`, \`24h\`, \`7d\` (default \`24h\`).
229
+
- \`maxResults\`: optional max results per search, 1-50 (default 10).
- \`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).
- \`email\`: optional email recipient for summaries.
191
234
- \`webhookUrl\`: optional webhook URL. Configures \`monitor.page\` and \`monitor.check.completed\`.
192
235
236
+
**Search-mode example:**
237
+
238
+
\`\`\`json
239
+
{
240
+
"name": "firecrawl_monitor_create",
241
+
"arguments": {
242
+
"queries": ["new LLM release", "frontier model launch"],
243
+
"goal": "Notify me about major new LLM model releases.",
244
+
"searchWindow": "24h",
245
+
"maxResults": 10
246
+
}
247
+
}
248
+
\`\`\`
249
+
193
250
Goal guidance:
194
251
- Expand the user's one-line monitoring intent into a concise 2-3 sentence monitor goal.
195
252
- State what should trigger an alert, restate any scope the user gave, and include intent-specific exclusions only when obvious from the user's request.
@@ -198,7 +255,7 @@ Goal guidance:
198
255
- If the user says they do not care about something, include that explicitly. It is okay to ask whether they want to ignore specific noise when it is likely to matter.
199
256
- Do not invent page-specific sections, thresholds, entities, or business rules unless the user mentioned them.
200
257
201
-
Full \`body\` requests require: \`name\`, \`schedule\` (with \`cron\` or \`text\`), and \`targets\` (one or more \`{ type: 'scrape', urls: [...] }\` or \`{ type: 'crawl', url: '...' }\`). Optional: \`goal\`, \`judgeEnabled\`, \`webhook\`, \`notification\`, \`retentionDays\`.
258
+
Full \`body\` requests require: \`name\`, \`schedule\` (with \`cron\` or \`text\`), and \`targets\` (one or more \`{ type: 'scrape', urls: [...] }\`, \`{ type: 'crawl', url: '...' }\`, or \`{ type: 'search', queries: [...], searchWindow?, maxResults?, includeDomains?, excludeDomains? }\`). Optional: \`goal\` (required when any search target is present), \`judgeEnabled\`, \`webhook\`, \`notification\`, \`retentionDays\`.
202
259
203
260
**Markdown-mode (default):** Each check produces a unified text diff of the page's markdown. No extra configuration needed.
204
261
@@ -274,6 +331,11 @@ Full \`body\` requests require: \`name\`, \`schedule\` (with \`cron\` or \`text\
0 commit comments