Competitor Price, Stock, and Changelog Monitor MCP Server
Use it to monitor competitor sites and return only what changed since the last run, with Apify handling the scraping.
Track Shopify and WooCommerce stores for variant price, compare-at price, stock, and new/removed product changes.
Track SaaS pricing and changelog pages for plan additions/removals/repricing, pricing page changes, and new changelog entries.
Compare runs by
state_key; first check creates a baseline, later checks returnsite_checkchange rows, and unchanged or unreadable sites return free status rows.Configure up to 200 sites, watch categories, site type, extra product/pricing/changelog URLs, minimum price-change percent, max products, max changes per site, snapshots, state reset, proxy mode, and max charge.
Read-only tool requiring
APIFY_TOKEN; usage is billed through Apify per change, site-check, and snapshot event.
Allows monitoring Linear's pricing plans and changelog for changes.
Allows monitoring Notion's pricing plans and changelog for changes.
Allows monitoring Shopify stores for product price changes, stock changes, new and removed products via their public product feed.
Allows monitoring WooCommerce stores for product price changes, stock changes, new and removed products via their public Store API.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Competitor Price, Stock, and Changelog Monitor MCP Server Did Notion or Linear change pricing or ship anything new this week?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Competitor Price, Stock, and Changelog Monitor MCP Server
An MCP server for the Mamba Labs Competitor Price, Stock, and Changelog Monitor actor on Apify. Give it competitor sites. Each run compares every site with the state saved by the last run and returns only what changed.
What's Inside
Related MCP server: Competitor Website Change Monitor
What it does
Stores: Shopify stores through their public product feed and WooCommerce stores through their public Store API. Changes:
price_change,compare_at_price_change,out_of_stock,back_in_stock,new_product,removed_product, each with the product, variant, old and new value, and a link.SaaS sites: the pricing page and changelog the site links to. Changes:
plan_added,plan_removed,plan_price_change,pricing_page_change, andchangelog_entry.One row per site per run:
site_baselineon the first check under astate_key, thensite_checkwithchanges_foundfor a site that changed, or a freeno_changerow when nothing moved.
Unreadable sites come back free with a row_status saying so.
All of the work runs on Apify. This package is a thin client that starts the actor run, waits for it, and hands back the dataset rows.
Quick start
You need Node.js 18 or newer and an Apify account with an API token.
Add this to your Claude Desktop config (claude_desktop_config.json), Cursor, or any MCP client:
{
"mcpServers": {
"mamba-competitor-price-stock-changelog-monitor": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-competitor-price-stock-changelog-monitor"
],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}Restart the client. The monitor_competitor_changes tool appears.
Prerequisites
Node.js 18 or newer.
An Apify API token from console.apify.com/account/integrations, set as
APIFY_TOKEN. The server lists its tool without a token; a call needs one.
Example prompts
"Watch deathwishcoffee.com and allbirds.com for price cuts of 10 percent or more and tell me what changed since last week."
"Did Notion or Linear change their pricing plans or ship anything new this week?"
"Which products went out of stock on gymshark.com since yesterday?"
Tool
monitor_competitor_changes. One tool. Example arguments:
{
"sites": [
"deathwishcoffee.com",
"linear.app"
],
"state_key": "competitors-weekly",
"min_price_change_pct": "5"
}Inputs
Every buyer facing input of the actor, unchanged. Omitted inputs take the actor's own defaults. Numbers and booleans are sent as strings.
Input | Type | Description |
| array | Competitor sites to watch, one per line: a domain (deathwishcoffee.com, linear.app) or a URL. A URL with a path is read as that page: a pricing page, a changelog page, or a product page. Up to 200 sites per run |
| string | auto (default) reads the public Shopify product feed or the WooCommerce Store API when the site has one, and otherwise reads the pricing and changelog pages it links to |
| array | Any of: prices, stock, products, plans, changelog. prices covers price and compare at price per variant; stock covers in stock and out of stock; products covers new and removed products; plans covers plan names and prices on a pricing page; changelog covers new changelog entries. Empty means all five |
| array | Product pages on a store that is not Shopify or WooCommerce. Each page is read for its schema.org Product price and availability |
| array | Pricing pages to read, when the site does not link to its pricing page from the homepage |
| array | Changelog or release notes pages to read, when the site does not link to one from the homepage. An RSS or Atom feed the page declares is read first |
| string | Products read from a store catalog per run, up to 5000. A store with more products than this is compared on the products read, and removed products are not reported for it. Default 250 |
| string | Report a price change only when it is at least this many percent. 0 reports every change. Default 0 |
| string | Change rows returned per site per run, up to 1000. The rest are counted in changes_found. Default 200 |
| string | true to also return one snapshot row per product variant, plan, and changelog entry on the first check of a site. Each snapshot row is billed as a snapshot row. Default false |
| string | Names the saved state, so separate schedules keep separate baselines. Runs with the same state key and site compare against each other |
| string | true to ignore the saved state and record a new baseline for every site. Default false |
| string | Optional. The run stops before it would charge more than this |
| string | auto (default) sends requests directly and moves a host to the Apify proxy default pool only when that host refuses. A reliability setting: proxy use adds nothing to your price |
Pricing
Pay per event on Apify, billed to your Apify account. Prices in USD.
Event | Free plan | Bronze | Silver | Gold |
| $0.0025 | $0.002375 | $0.00225 | $0.002125 |
| $0.003 | $0.00285 | $0.0027 | $0.00255 |
| $0.001 | $0.00095 | $0.0009 | $0.00085 |
| $0.0005 | $0.0005 | $0.0005 | $0.0005 |
A site where nothing moved returns a free no_change row, and sites that cannot be read are free.
Your keys
The actor needs no key. It reads public product feeds and public pages and holds no key of any kind. Proxy traffic adds nothing to your price: Mamba Labs pays the platform costs of the run. proxy_mode is a reliability setting.
Full actor documentation
apify.com/mambalabs/competitor-price-stock-changelog-monitor
License
MIT. See LICENSE.
Available Tools
1 toolmonitor_competitor_changesMonitor competitor prices, stock, and changelogsARead-only
Watch competitor stores and SaaS sites and return only what changed since the last run with the same state_key. Give sites as domains or URLs (for example deathwishcoffee.com, linear.app). Shopify stores are read from their public product feed and WooCommerce stores from their public Store API, so you get price, compare at price, and stock changes per variant, plus new and removed products. SaaS sites are read from the pricing and changelog pages they link to, so you get plans added, removed, or repriced, and new changelog entries. Every site gets one row per run (site_baseline on the first check, then site_check with changes_found), plus one row per change with old and new values. Unreadable sites come back free with a row_status saying so. A run that does not succeed is returned as an error with its run ID. Read-only; requires an APIFY_TOKEN; Apify charges per change row and per site check that is a first check or finds a change; an unchanged site is free.
Inputs: sites (required), watch, site_type, state_key, +10 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 1 tool
With only one tool there is no cross-tool selection ambiguity, so an agent cannot pick the wrong tool. However, the single tool internally bundles several distinct capabilities (Shopify feed diffing, WooCommerce Store API diffing, SaaS pricing-page diffing, changelog diffing) that an agent cannot address individually, which slightly weakens clarity of purpose.
The lone name monitor_competitor_changes is a clear snake_case verb_noun phrase in line with typical MCP conventions. With only one name there is no pattern to be inconsistent with, so it cannot score a full 5.
The apparent scope (stateful competitor change monitoring) is narrow enough that a single entry point is defensible and keeps the surface simple. Still, one tool is thin for a pipeline that involves state keys, run IDs, per-site checks, and change rows—there is no way to inspect runs or manage state separately.
Core monitoring is covered, including change reporting and unreadable-site status, which is good. But there are notable gaps: no way to list or retrieve past runs by run ID, no way to reset or delete a state_key baseline, no way to inspect a single site's stored state, and no configuration of per-site watch rules.
Maintenance
Related MCP Connectors
Watch a web page, CSS selector, JSON value or price for weeks; poll changes or get signed webhooks.
Track price drops, stock-outs, restocks, and new/removed products across Shopify stores.
Monitor web pages for price, stock or text changes; low-noise alerts via MCP, API and webhooks.
Recurring webpage change, price, inventory and metadata monitoring for autonomous agents.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceDTC competitor intelligence: catalog snapshots, price history, cross-brand product comparison, and drop/restock detection for 84 Shopify-powered brands. Pay-per-call via Apify.-
- FlicenseNot gradedqualityDmaintenanceEnables monitoring competitor websites for price drops, new products, promotions, and content changes directly from Claude or any MCP-compatible AI client.-
- FlicenseNot gradedqualityCmaintenanceEnables monitoring of website changes through contracts, with automatic extraction, semantic diffing, and healing, triggering alerts and actions via email, Slack, or Telegram.-
- AlicenseNot gradedqualityBmaintenanceEnables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.MIT