Skip to main content
Glama
mysleekdesigns

CrawlForge MCP Server

track_changes

Detect website changes that matter: competitor pricing, regulation updates, and product availability. Create a baseline, then compare over time to get alerts on meaningful differences.

Instructions

Use this to monitor a URL for content changes over time - competitor pricing, regulation updates, product availability. Start with operation:"create_baseline", then periodically use operation:"compare" to diff; repeated compare calls on the same URL are expected. Supports webhooks and scheduled monitoring. Not for a one-off read (scrape). Cost: 3 credits. Example: track_changes({url: "https://example.com/pricing", operation: "create_baseline"})

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNoThe URL to track changes for (optional for list_scheduled_monitors)
htmlNoHTML content to compare against baseline
contentNoContent to compare against baseline
operationNoTracking operation to performcompare
user_agentNoOverride the outbound User-Agent. CrawlForge identifies itself honestly by default; use this only for targets you have your own agreement with.
queryOptionsNoQuery options for history and stats retrieval
exportOptionsNoExport options for change history data
respect_robotsNoRespect the target site's robots.txt (default: true). Setting this to false is honoured, returns a warning in the response, and is recorded against your API key — it is your decision, not a silent default.
storageOptionsNoStorage and history retention settings
trackingOptionsNoOptions for how changes are tracked and compared
alertRuleOptionsNoAlert rule configuration for change notifications
dashboardOptionsNoDashboard display options
monitoringOptionsNoMonitoring schedule and notification settings
notificationOptionsNoNotification configuration for webhooks and Slack
scheduledMonitorOptionsNoScheduled monitoring: recurring compare + notify, optional plain-English goal

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed14 schema fields changedv6.0.0
    • removedInput schema / additionalProperties
      Removed value: -false
    • removedInput schema / properties / alertRuleOptions / additionalProperties
      Removed value: -false
    • removedInput schema / properties / dashboardOptions / additionalProperties
      Removed value: -false
    • removedInput schema / properties / exportOptions / additionalProperties
      Removed value: -false
    • removedInput schema / properties / monitoringOptions / additionalProperties
      Removed value: -false
    • removedInput schema / properties / notificationOptions / additionalProperties
      Removed value: -false
    • removedInput schema / properties / notificationOptions / properties / slack / additionalProperties
      Removed value: -false
    • removedInput schema / properties / notificationOptions / properties / webhook / additionalProperties
      Removed value: -false
    • addedInput schema / properties / notificationOptions / properties / webhook / properties / headers / propertyNames
      Added value: +{
      +  "type": "string"
      +}
    • removedInput schema / properties / queryOptions / additionalProperties
      Removed value: -false
    • removedInput schema / properties / scheduledMonitorOptions / additionalProperties
      Removed value: -false
    • removedInput schema / properties / storageOptions / additionalProperties
      Removed value: -false
    • removedInput schema / properties / trackingOptions / additionalProperties
      Removed value: -false
    • removedInput schema / properties / trackingOptions / properties / significanceThresholds / additionalProperties
      Removed value: -false
  2. Changed2 schema fields changedv5.4.0
    • addedInput schema / properties / respect_robots
      Added value: +{
      +  "description": "Respect the target site's robots.txt (default: true). Setting this to false is honoured, returns a warning in the response, and is recorded against your API key — it is your decision, not a silent default.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / user_agent
      Added value: +{
      +  "description": "Override the outbound User-Agent. CrawlForge identifies itself honestly by default; use this only for targets you have your own agreement with.",
      +  "type": "string"
      +}
  3. Changed1 schema field changedv5.0.4
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  4. First observedv4.10.0

TDQS

A4.3/5.0
Behavior4/5

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

With readOnlyHint=false and idempotentHint=false, the description carries the burden of indicating stateful behavior; it does so by describing baseline creation, repeated comparisons, and a 3-credit cost. It also discloses that webhooks and scheduled monitoring are supported, adding context beyond the bare annotations. There is no contradiction with the annotation flags.

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

Conciseness5/5

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

The description is three sentences plus a small example, front-loading the core purpose before workflow and exclusions. Every sentence adds information; no filler.

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?

The description adequately covers the basic monitoring workflow and cost, but the tool exposes many operations (get_history, get_stats, alert rules, dashboards, exports) that are not summarized. With no output schema, agents are given little about return values; however the schema descriptions fill most parameter-level gaps, so the description is minimally viable but not complete for the full feature set.

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

Parameters4/5

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

Schema coverage is 100%, giving a baseline of 3, but the description adds operational sequencing for the operation parameter (create_baseline then compare) and a concrete example invocation. This clarifies parameter use beyond the enum list, justifying a point above baseline.

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?

States a specific verb ('monitor') and resource ('a URL for content changes over time'), lists concrete use cases, and explicitly distinguishes from sibling tools ('Not for a one-off read (scrape)'). This is a clear, non-tautological definition that an agent can separate from scrape and related one-off extraction tools.

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?

Gives explicit workflow guidance: 'Start with operation: create_baseline, then periodically use operation: compare' and notes that repeated compare calls are expected. It also provides a when-not ('Not for a one-off read (scrape)') that names the alternative, though it doesn't enumerate all sibling distinctions.

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

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mysleekdesigns/crawlforge-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server