API Change Monitor MCP Server
You can monitor third-party APIs for changes with a single MCP tool backed by an Apify actor.
Watch preset vendors such as GitHub, Stripe, OpenAI, Cloudflare, and others.
Watch custom changelog pages, RSS/Atom feeds, deprecation pages, status pages, or OpenAPI/Swagger URLs.
Check API endpoints for
Sunset,Deprecation, and successor-version link headers.Return only changes since the last run using a named
state_key, including changelog entries, deprecations, breaking changes, status incidents, OpenAPI operation/version changes, and header changes.Filter results by keywords or to only deprecations and breaking changes.
Reset saved state, include first-run snapshots, cap changes per source, and set a max charge.
Use
autoordirectproxy mode for fetching sources.Requires an
APIFY_TOKEN; Apify charges per change row and per billable source check, while unchanged or unreadable sources are free.
Monitors Atlassian API changelog, deprecation notices, status history, and OpenAPI documents for breaking changes, incidents, and operation updates.
Monitors Cloudflare API changelog, deprecation notices, status history, and OpenAPI documents for breaking changes, incidents, and operation updates.
Monitors GitHub API changelog, deprecation notices, status history, and OpenAPI documents for breaking changes, incidents, and operation updates.
Monitors Google Ads API changelog, deprecation notices, status history, and OpenAPI documents for breaking changes, incidents, and operation updates.
Monitors HubSpot API changelog, deprecation notices, status history, and OpenAPI documents for breaking changes, incidents, and operation updates.
Monitors Notion API changelog, deprecation notices, status history, and OpenAPI documents for breaking changes, incidents, and operation updates.
Monitors OpenAI API changelog, deprecation notices, status history, and OpenAPI documents for breaking changes, incidents, and operation updates.
Monitors Shopify API changelog, deprecation notices, status history, and OpenAPI documents for breaking changes, incidents, and operation updates.
Monitors Slack API changelog, deprecation notices, status history, and OpenAPI documents for breaking changes, incidents, and operation updates.
Monitors Statuspage sites and their history RSS feeds for new incidents and status changes.
Monitors Stripe API changelog, deprecation notices, status history, and OpenAPI documents for breaking changes, incidents, and operation updates.
Monitors Twilio API changelog, deprecation notices, status history, and OpenAPI documents for breaking changes, incidents, and operation updates.
Monitors Vercel API changelog, deprecation notices, status history, and OpenAPI documents for breaking changes, incidents, and operation updates.
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., "@API Change Monitor MCP ServerDid GitHub or OpenAI announce any deprecations or breaking changes since last 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.
API Change Monitor MCP Server
An MCP server for the Mamba Labs API 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
Related MCP server: FluxProof
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 |
| 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 |
| 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 |
| 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 |
| 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 |
| array | Return only change rows whose title, summary, categories, or operation contains one of these words. Every change still updates the saved state |
| 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 |
| string | Change rows returned per source per run, 1 to 1000. The rest are counted in changes_found Default 100 |
| 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 |
| string | Names the saved state, so separate schedules keep separate baselines. Runs with the same state key and source compare against each other |
| string | true to ignore the saved state and record a new baseline for every source Default false |
| string | Optional. The run stops before it would charge more than this |
| 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 |
| $0.0035 | $0.003325 | $0.00315 | $0.002975 |
| $0.003 | $0.00285 | $0.0027 | $0.00255 |
| $0.001 | $0.00095 | $0.0009 | $0.00085 |
| $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.
Available Tools
1 toolmonitor_api_changesMonitor API changelogs, deprecations, status, and OpenAPIARead-only
Watch third party APIs and return only what changed since the last run with the same state_key. Give vendors (github, stripe, shopify, hubspot, openai, anthropic, google-ads, twilio, slack, notion, atlassian, cloudflare, vercel, plaid), any changelog, feed, deprecation page, status page, or OpenAPI JSON URL in sources, and API endpoints in endpoint_urls. Every source gets one row per run (source_baseline on the first check, then source_check with changes_found), plus one row per change: changelog_entry, deprecation_notice, breaking_change, incident_new, incident_update, incident_resolved, openapi_operation_added, openapi_operation_removed, openapi_operation_deprecated, openapi_version_change, sunset_header, or deprecation_header, each with is_deprecation, is_breaking, and sunset_date. Unreadable sources 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 source check that is a first check or finds a change; an unchanged source is free.
| Name | Required | Description | Default |
|---|---|---|---|
| watch | No | 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. | |
| sources | No | 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. | |
| vendors | No | 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. | |
| keywords | No | Return only change rows whose title, summary, categories, or operation contains one of these words. Every change still updates the saved state. | |
| state_key | No | Names the saved state, so separate schedules keep separate baselines. Runs with the same state key and source compare against each other. | |
| proxy_mode | No | How sources are fetched. Default auto. | |
| reset_state | No | true to ignore the saved state and record a new baseline for every source. Default false. | |
| endpoint_urls | No | 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. | |
| max_charge_usd | No | Optional. The run stops before it would charge more than this. | |
| include_snapshot | No | 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. | |
| max_changes_per_source | No | Change rows returned per source per run, 1 to 1000. The rest are counted in changes_found. Default 100. | |
| only_deprecations_and_breaking | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only annotation, the description discloses APIFY_TOKEN requirements, billing behavior per change row and source check, that unchanged and unreadable sources are free, how run failures are returned, and how source rows versus change rows are produced. This is rich operational context that an agent could not infer from annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and state_key behavior, and nearly every sentence carries useful information about inputs, outputs, or billing. It is a single dense paragraph and enumerates many row types, so it is slightly overstuffed but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 12-parameter, complex monitoring tool with no output schema, the description is unusually complete: it explains input modes, incremental state, return row structure, failure behavior, and cost implications. An agent has enough information to invoke it correctly and understand the result shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 12 parameters thoroughly. The description reiterates key parameters like sources, vendors, endpoint_urls, and state_key but adds little parameter-level syntax or constraint detail beyond what the schema provides, making 3 the appropriate baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: watch third-party APIs and return only changes since the last run with the same state_key. It clearly identifies the kinds of sources and outputs, so an agent can understand the tool without opening its schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear usage context: supply vendor presets, arbitrary sources, or endpoint_urls; reuse state_key for incremental comparison; use reset_state to rebaseline. There are no sibling tools to distinguish against, and it does not explicitly state when not to use it, keeping this below a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v1.0.0- First observed
monitor_api_changes
TDQS
Scored across 1 tool
With only one tool, there are no competing tools to confuse; an agent has a single unambiguous entry point for all monitoring tasks.
The sole tool name monitor_api_changes follows a clear verb_noun convention and accurately reflects its purpose.
A single tool is thin for a server covering many source types and row types; while the monitoring purpose is focused, there is no separate operation for state management, source listing, or run history, making the surface borderline.
The tool covers change detection across changelogs, status pages, and OpenAPI specs well, but lacks explicit operations for managing monitors, resetting or inspecting state_key history, or retrieving past runs, creating notable lifecycle gaps.
Maintenance
Related MCP Connectors
Monitor public pages with source URLs, timestamps, hashes, text diffs and signed webhooks. One daily monitor is free for 30 days; the $9, 30-day pass adds five monitors at a 15-minute minimum interval, 15,000 checks and change history. No auto-renewal. Public connection supports preflight and offer tools; obtain a key on the website (POST /v1/keys/free for the free tier) and pass api_key to monitor tools. Public text/HTML/JSON/XML up to 3 MB; no browser rendering or login bypass. Hosted commercial service; engine and source remain private.
Monitor web pages for changes: create monitors, list detected changes and read diffs.
Monitor RSS/Atom/JSON feeds; alerts on new items AND edits to existing ones, with field-level diffs.
Monitor web pages for price, stock or text changes; low-noise alerts via MCP, API and webhooks.
Related MCP Servers
- AlicenseAqualityAmaintenanceMonitors a company domain for changes in hiring, tech stack, funding, firmographics, and social presence, returning only the deltas as typed change events.1114 npmMIT
- AlicenseBqualityAmaintenanceEnables evidence-bearing change monitoring for public text pages, providing normalized diffing, SHA-256 hashing, and signed webhook notifications.6MIT
- AlicenseAqualityCmaintenanceEnables agents to monitor websites for content changes with persistent baselines, durable notifications, and explicit review acknowledgement, using direct HTTPS fetches or isolated Playwright browser rendering for dynamic pages.4Apache 2.0
- AlicenseAqualityBmaintenanceEnables an AI client to track a watch list of contacts and retrieve only what changed since the last run — departures, new employers, replacements, and new hires after a role closed — each row carrying match evidence, source dates, and ready-to-use outreach payloads. It runs the analysis on Apify using the caller's own provider keys, supports stored or caller-held state, and can push results to a signed webhook.1110 npmMIT