A simple HTTP 200 uptime ping tells you one thing: the process is breathing.
It does not tell you whether the MCP JSON-RPC handshake still works, whether tools/list returns the functions your agent relies on, whether the JSON response matches the expected schema, or whether the underlying data is fresh.
For human users, a degraded service often results in an error screen they can refresh. For an autonomous AI agent, a silent failure means burned tokens, broken multi-step workflows, or hallucinated fallbacks.
If we want autonomous agents to depend on external tools, we need to inspect availability across four distinct failure modes.
1. The Four Probing Layers
Layer 1: Liveness (Is the port answering?)
Does the endpoint answer within a reasonable timeout?
- Rule: use independent timeouts per attempt.
- Outage confirmation must use a direct
GET— a timed-outHEADalone should never mark a working MCP endpoint offline.
Layer 2: Capability (Does the protocol work?)
For Model Context Protocol (MCP) servers, an HTTP 200 on /mcp is insufficient.
- The server must successfully complete the
initializehandshake. - It must answer
tools/listand return the tools it declared. - If
tools/listreturns an empty array or an unhandled JSON-RPC error, the server is dead to an agent, regardless of its HTTP status code.
Layer 3: Schema (Does the output still match the contract?)
A 200 response that parses as valid JSON but misses a required field is the failure mode agents hit hardest.
- Traditional monitoring logs a success (HTTP 200, latency 85ms).
- The calling LLM crashes at runtime or hallucinates because an expected property is missing.
- Schema hashing (tracking input/output signatures over time) catches silent interface drifts before an agent burns an entire run on them.
Layer 4: Data Freshness (Is the content current and complete?)
A provider can keep answering 200 OK while its upstream sync died three days ago.
- If a weather, finance, or crypto API returns valid JSON where the newest timestamp is stale, or payload volume suddenly drops to zero, the tool is functionally degraded.
- Data quality checks must be tracked independently from protocol liveness.
2. Confirm Outages Before Alerting
One failed network probe is frequently a transient blip, a cold start, or network jitter.
If you alert or drop a server after a single timeout:
- Publishers suffer from alert fatigue.
- Agents unnecessarily abandon dependable providers during momentary hiccups.
In our own registry engine at Agent Nexus, we enforce a confirmation rule: an outage is only confirmed after two consecutive failed hourly probes, and recovery is verified independently. This eliminates 90% of false alarms while still catching real downtime early.
3. Give Agents a Fallback, Not Just a Red Light
When an agent hits a dead service, what should happen next?
Instead of merely returning an error, a trust layer can return advisory alternatives: other tools with overlapping capabilities that are verified healthy right now, ideally sharing the same authentication style.
You can inspect this live via our discovery endpoint:
bash curl -s "https://agentnexus.app/api/public/discover?need=sendgrid%20is%20down" The response flags degraded endpoints and lists alternatives with their current health and historical reliability track records. Summary: What Agents Actually Need Don't trust HTTP 200 alone: validate protocol handshake (initialize), tool enumeration (tools/list), and schema stability. Separate "up now" from "reliable over time": a tool might be passing right now with an 82% uptime history, or failing once after six months of 99.9% uptime. Never let an agent discover a dead endpoint at runtime: pre-flight health checks save developer credits and keep autonomous runs deterministic. Explore the live discovery engine and health cards across 726+ verified tools at agentnexus.app. Originally published at Agent Nexus.