---
title: Monitoring for Developers: API, CLI, MCP
description: Monitors as API calls, SDKs in three languages, an MCP server so an agent can set it up, and checks for the protocols your infrastructure actually runs on.
canonical: https://watchfor.io/for-developers
---

# Monitoring you can create from a terminal, a script, or an agent

If you would rather not click through a wizard to add a health check, none of this needs the UI. Every object — monitors, alert rules, incidents, maintenance windows, status pages — is a REST resource with an OpenAPI spec, three SDKs and an MCP server behind it, so setting up monitoring can be a line in a deploy script or a sentence to an agent.

[Start free](/auth/signup)[See pricing](/pricing)

## The API is the product, not an afterthought

A complete REST API at /api/v1 with cursor pagination, a published OpenAPI spec, and SDKs for TypeScript, Python and Ruby. The same endpoints the dashboard uses, so nothing is UI-only.

- [Developers](/developers)

## An agent can do the setup

45 MCP tools cover the whole surface, so an assistant with access can create monitors from your infrastructure code, investigate an incident, or tune a noisy alert rule without you translating between the two. There is an A2A endpoint for agent-to-agent workflows as well.

- [MCP server monitoring](/mcp-monitoring)

## Checks for what your stack is actually made of

Not only HTTP: TCP and UDP ports, DNS records and propagation, NTP drift, WebSocket handshakes, SFTP and FTP logins, SMTP delivery, MTR network paths, and heartbeats for cron jobs and workers. 25 types in total, which is the difference between monitoring your website and monitoring your system.

- [API monitoring](/api-monitoring)
- [Cron and heartbeat](/heartbeat-monitoring)
- [Network path (MTR)](/mtr-monitoring)

## Assertions, not just status codes

An API monitor can assert on JSON fields, headers and response bodies, and extract values for the next check. A 200 that returns the wrong payload is still a failure, and it is the kind that survives a status-code-only monitor for months.

- [API monitoring](/api-monitoring)

## Where we are not the right answer

- No Playwright or scripted browser journeys yet — if your critical path is a multi-step flow, Checkly is the better tool today.
- No APM or distributed tracing: we can tell you which request phase was slow, not which function was.
- No log aggregation or search — logs belong in a tool built for them, and we are not it.

## Questions people ask

Is there a CLI? The Python SDK ships with one, and the REST API is straightforward enough to drive from a shell script with curl. The OpenAPI spec is published if you would rather generate your own client.

Can I define monitors as code? Not as a first-class repository workflow the way Checkly does it. What you can do is create and reconcile everything through the API from your own tooling, which covers most of the same ground with more work.

What is the MCP server for? It lets an AI assistant operate your monitoring directly — create checks, read incidents, adjust alert rules — rather than telling you which buttons to press. 45 tools, mapped onto the same API.

## Start with the thing you would hate to find out late

15 monitors free, commercial use allowed, no card required.

[Start free](/auth/signup)[See all monitor types](/monitoring)

---

Canonical page: https://watchfor.io/for-developers · Site guide: https://watchfor.io/llms.txt
