API Change Monitor MCP Server
An MCP server for the Mamba Labs API Deprecation and Breaking Change Monitor actor on Apify. Give it API vendors or URLs. Each run compares every source with the state saved by the last run and returns only what changed.
What's Inside
- What it does
- Quick start
- Prerequisites
- Example prompts
- Tool
- Inputs
- Pricing
- Your keys
- Full actor documentation
- License
What it does
- Changelogs: new entries from the vendor's changelog feed or page, tagged
deprecation_noticeorbreaking_changewhen the wording says so, with the firstsunset_datenamed. - Status: new incidents and status changes from the vendor's status history feed.
- OpenAPI: operations added, removed, or deprecated, and the API version, from a published OpenAPI JSON document.
- Headers:
SunsetandDeprecationresponse headers on API endpoints you list. - One row per source per run:
source_baselineon the first check under astate_key, thensource_checkwithchanges_found, or a freeno_changerow when nothing moved.
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-api-change-monitor": {
"command": "npx",
"args": [
"-y",
"@mambalabsdev/mcp-api-change-monitor"
],
"env": {
"APIFY_TOKEN": "your-apify-token"
}
}
}
}
Restart the client. The monitor_api_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
- "Did GitHub or OpenAI announce any deprecations or breaking changes since last week?"
- "Watch the Stripe and GitHub OpenAPI documents and tell me which operations were removed or deprecated."
- "Has any incident been opened on the Cloudflare or Vercel status pages since yesterday?"
Tool
monitor_api_changes. One tool. Example arguments:
{
"vendors": [
"github",
"openai"
],
"state_key": "api-watch-daily"
}
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 |
|---|---|---|
vendors |
array | API vendors to watch, one per line. Each expands to the public sources read for it: changelog, deprecation page, status history, and OpenAPI document where one is published. Available: github, stripe, shopify, hubspot, openai, anthropic, google-ads, twilio, slack, notion, atlassian, cloudflare, vercel, plaid |
sources |
array | Any other public URLs to watch, one per line: a changelog or release notes page, an RSS or Atom feed, a deprecation or sunset dates page, a Statuspage site or its history.rss feed, or an OpenAPI or Swagger JSON document. The kind is detected from what the URL returns |
endpoint_urls |
array | API endpoints to call without credentials, one per line. The response headers are read for Sunset (RFC 8594), Deprecation (RFC 9745), and Link relations deprecation, sunset, and successor-version. Only GET requests are sent |
watch |
array | For vendor presets, any of: changelog, deprecations, status, headers, openapi. Empty means changelog, deprecations, status, and headers. openapi reads the vendor's OpenAPI document (up to 14 MB) and reports operations added, removed, or deprecated. Without changelog, changelog sources return only deprecations and breaking changes. URLs you list in Source URLs are always read |
keywords |
array | Return only change rows whose title, summary, categories, or operation contains one of these words. Every change still updates the saved state |
only_deprecations_and_breaking |
string | true to return only change rows tagged as a deprecation or breaking change, OpenAPI operations removed or deprecated, and header changes. Incidents and plain changelog entries are left out Default false |
max_changes_per_source |
string | Change rows returned per source per run, 1 to 1000. The rest are counted in changes_found Default 100 |
include_snapshot |
string | true to also return the current entries, incidents, or operations of a source on its first check, up to Max change rows per source. Each snapshot row is billed as a snapshot row Default false |
state_key |
string | Names the saved state, so separate schedules keep separate baselines. Runs with the same state key and source compare against each other |
reset_state |
string | true to ignore the saved state and record a new baseline for every source Default false |
max_charge_usd |
string | Optional. The run stops before it would charge more than this |
proxy_mode |
string | How sources are fetched Default auto |
Pricing
Pay per event on Apify, billed to your Apify account. Prices in USD.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
change-row, one change on a watched source since the last run: a new changelog entry, deprecation notice, or breaking change, a new or updated status incident, an OpenAPI operation added, removed, or deprecated, an API version change, or a Sunset or Deprecation header change |
$0.0035 | $0.003325 | $0.00315 | $0.002975 |
source-check, one source read and compared with its saved state: the first check of a source, which records the baseline, or a later check that finds at least one change. A source where nothing moved returns a free no_change row, and a source that cannot be read is free |
$0.003 | $0.00285 | $0.0027 | $0.00255 |
snapshot-row, one current entry, incident, or operation on the first check of a source, returned only when include_snapshot is on |
$0.001 | $0.00095 | $0.0009 | $0.00085 |
apify-actor-start, per run start |
$0.001 | $0.001 | $0.001 | $0.001 |
A source where nothing moved returns a free no_change row, sources that cannot be read are free, and so is the one row a refused input returns.
Your keys
The actor needs no key. It reads public changelogs, feeds, status history, and OpenAPI documents, and calls the endpoints you list without credentials. It holds no key of any kind. Proxy traffic adds nothing to your price: Mamba Labs pays the platform costs of the run.
Full actor documentation
apify.com/mambalabs/api-change-monitor
License
MIT. See LICENSE.