Deploy Check MCP

200 OK is not the same as “it works”. A page can return 200, weigh 41 KB, and show a human absolutely nothing — that is what a JavaScript bundle that threw looks like from the outside, and what a deploy that published the wrong directory looks like too.

Three read-only tools that let your AI agent answer the question you actually have after a deploy: did it work, and does the page show anything?

> check the homepage after my deploy

Up (200, 7166 ms) and rendering 5668 characters of visible text; 1 thing worth a look.
WARN  Took 7166 ms to respond.
note  No og:image. Links to this page will share without a preview image.

The tools

check_page

Status, redirect chain, response time, and — the part nobody checks — how much visible text the page actually renders. Plus title, meta description, viewport, canonical, og:image, and a stray noindex left over from staging.

check_links

Every link on a page, checked. HEAD first, GET as a fallback, so servers that refuse HEAD are never reported as dead links.

compare_pages

Two URLs, same signals. Staging against production, or the same URL before and after a release. If both render identical text, the deploy has not landed.

Install

Node 18 or newer. No account, no API key, no telemetry.

git clone https://github.com/fahmiwol/deploy-check-mcp
cd deploy-check-mcp && npm install && npm test

claude mcp add deploy-check -- node /full/path/to/deploy-check-mcp/src/server.js

What it will not do

It does not run JavaScript. It reads what the server sends — the page as a crawler, a link preview and a first paint see it. The honest consequence: a healthy single-page app looks identical to a broken one in raw HTML. So blank HTML is only a hard failure when the page loads no scripts at all, because then nothing can ever fill it. With scripts present you get a warning that says plainly that this tool cannot tell the two apart.

A tool that called every React app broken would be worth ignoring within a day.