Mcp Competitor Price Stock Changelog Monitor

com.mambabuiltPublished by mambabuilt.comv1.0.1Updated Nov 7, 2026

Competitor price, stock, plan, and changelog changes since your last run.

The publisher's own server: PriceWin

Overview

AI-generated overview

Local MCP server that watches competitor stores and SaaS sites and reports only price, stock, plan and changelog changes since the last run.

What you can do
  • Monitor competitor sites: give domains or URLs and get back only what changed since the previous run with the same state_key.
  • Read store data: Shopify stores are read from their public product feed and WooCommerce stores from their public Store API.
  • Track pricing and plans: covers price, stock, plan and changelog changes on competitor stores and SaaS sites.
When to use it
Useful when you want an assistant to keep an eye on competitor pricing, stock levels, plans or changelogs and surface only deltas rather than full page contents, for example for recurring competitive research or repricing checks.
Requirements
Runs as a local stdio process, installed from the npm package, so a Node.js runtime is needed. Requires an Apify API token supplied in the APIFY_TOKEN environment variable. Network access to the monitored sites and to Apify is needed. Desktop only.
Before you install
The server needs an Apify API token (APIFY_TOKEN), a credential that may be tied to a paid Apify account and usage costs. It sends requests to third-party sites and to Apify, so the domains you monitor are shared with those services. It keeps state between runs keyed by state_key, so results depend on reusing the same key.

Installation

In SourceWeft

  1. Open Mcp Competitor Price Stock Changelog Monitor in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Competitor Price, Stock, and Changelog Monitor MCP Server

[Glama score] [MCP Registry] [npm version] [npm downloads] [license] [mcpservers.org]

[Competitor Price Stock 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

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, and changelog_entry.
  • One row per site per run: site_baseline on the first check under a state_key, then site_check with changes_found for a site that changed, or a free no_change row 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:

json
{  "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

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:

json
{  "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.

InputTypeDescription
sitesarrayCompetitor 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
site_typestringauto (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
watcharrayAny 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
product_urlsarrayProduct pages on a store that is not Shopify or WooCommerce. Each page is read for its schema.org Product price and availability
pricing_urlsarrayPricing pages to read, when the site does not link to its pricing page from the homepage
changelog_urlsarrayChangelog 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
max_productsstringProducts 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
min_price_change_pctstringReport a price change only when it is at least this many percent. 0 reports every change. Default 0
max_changes_per_sitestringChange rows returned per site per run, up to 1000. The rest are counted in changes_found. Default 200
include_snapshotstringtrue 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
state_keystringNames the saved state, so separate schedules keep separate baselines. Runs with the same state key and site compare against each other
reset_statestringtrue to ignore the saved state and record a new baseline for every site. Default false
max_charge_usdstringOptional. The run stops before it would charge more than this
proxy_modestringauto (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.

EventFree planBronzeSilverGold
change-row, one change on a watched site since the last run: a price, compare at price, or stock change on a variant, a new or removed product, a plan added, removed, or repriced, a price change on a pricing page, or a new changelog entry$0.0025$0.002375$0.00225$0.002125
site-check, the first check of a site, or a later check that finds a change$0.003$0.00285$0.0027$0.00255
snapshot-row, one current variant, plan, or changelog entry on the first check of a site, returned only when include_snapshot is on$0.001$0.00095$0.0009$0.00085
apify-actor-start, per run start$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.

Source: README.md at commit 7f6d8f0

Tools

1

monitor_competitor_changes

Monitor competitor prices, stock, and changelogs

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.

Parameterssitesrequiredwatchsite_typestate_keyproxy_modereset_statemax_productspricing_urlsproduct_urlschangelog_urlsmax_charge_usdinclude_snapshot+2 more

Version history

2
  1. v1.0.1LatestNov 5, 2026
  2. v1.0.0Oct 21, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Price integrations