MCP Server Change and Health Monitor

v1.0.0$0.005/server checkSignal Detection

Last updated November 6, 2026

Watch MCP servers: one row per server saying whether it answered, how fast, what tools it exposes now, and what changed since the last run, with breaking changes marked. Takes HTTP endpoints, npm packages, or registry search terms.

Install

bash
npx @mambalabsdev/mcp-server-change-health-monitor

Every tool here also runs hosted, with no install at all, through Apify's MCP endpoint.

Features

  • HTTP endpoints, npm packages, or official MCP Registry search terms.
  • Status, answer time, and server version per server.
  • Tools added, removed, or changed since the last run, marked breaking, warning, or info.
  • Saved snapshots, so a scheduled run computes changes with no extra input.
  • Pay per event: Server check at $0.005.

Input

server_urlsarrayoptional

HTTP endpoints of MCP servers. Streamable HTTP is tried first, then the older HTTP plus SSE transport.

npm_packagesarrayoptional

npm package names, optionally with a version, such as @modelcontextprotocol/server-everything. Each is installed and started inside your run. The code in a package you list runs in your run, so list only packages you trust. No environment variables are passed to it.

registry_searcharrayoptional

Search terms for the official MCP Registry. The HTTP endpoints of matching servers are checked. Packages found this way are listed but never run, because running code picked by a keyword is not safe.

max_serversstringoptional

Most servers to check per registry search term, up to 200. Default 25.

snapshot_keystringoptional

Name of the memory that holds the last run's results, so a scheduled run finds changes on its own. Use a different name per list. Default default.

previous_snapshotstringoptional

Optional. The JSON of a SNAPSHOT record from an earlier run, or an https link to that record. It takes the place of the saved snapshot for this run.

timeout_secondsstringoptional

How long one request to a server may take before it counts as no answer, 3 to 60. Default 20. A package gets 60 more seconds to install.

include_resources_promptsstringoptional

Also list the server's resources and prompts and report what changed in them. Default true.

auth_headersstringoptional

Optional, for servers you are allowed to check. JSON keyed by site, for example {"https://mcp.example.com":{"Authorization":"Bearer abc"}}. Each header goes only to its own site. Encrypted by Apify, never logged, never saved in a snapshot.

max_charge_usdstringoptional

Optional. The run stops before a charge that would pass this amount. Free rows are always returned.

Output schema

json
{
  "row_type": "string",
  "server": "string",
  "source": "string",
  "registry_name": "string",
  "status": "string",
  "change_status": "string",
  "transport": "string",
  "latency_ms": "integer",
  "list_latency_ms": "integer",
  "http_status": "integer",
  "server_name": "string",
  "server_version": "string",
  "protocol_version": "string",
  "tool_count": "integer",
  "resource_count": "integer",
  "prompt_count": "integer",
  "catalog_hash": "string",
  "tools": "array",
  "changes": "array",
  "change_count": "integer",
  "breaking_count": "integer",
  "previous_checked_at": "string",
  "last_up_at": "string",
  "down_since": "string",
  "server_count": "integer",
  "skipped_packages": "array",
  "checked_at": "string",
  "row_status": "string",
  "error_reason": "string",
  "billable_events_json": "string",
  "scraped_at": "string"
}

Pricing

$0.005per server check
EventFree plan price
Server check$0.005
Package check$0.02
Actor Start$0.002

Pay per event on the Apify platform. Paid Apify plans pay less per event. No subscription, no seat license.

On the Apify free plan the actor stops at $1.50 of charges a month, about 300 server checks. Any paid Apify plan removes the cap.

Limits

  • The first run sets the baseline. Changes appear from the second run.
  • It lists what a server exposes. It does not call tools, so it cannot tell whether a tool works.
  • A server that shows a different catalog to each visitor, or changes its text per session, shows as changed. Read changes to see what moved.
  • A package cannot receive environment variables or arguments in this version, so one that needs a key or a path to start reads as down.
  • The older HTTP plus SSE transport was tested on fixtures only; no public server using it answered during the build.
  • Up to 500 URLs, 25 packages, and 10 registry terms per run, with up to 200 servers per term. A list of more than 8 MB of snapshot keeps hashes only, so changes name the tool but not the old text.
  • Answer time is measured from Apify's network in one place, so it is not a global uptime reading.