---
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 set up from a terminal, a deploy script, or one sentence to an agent

Skip the wizard. 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. Monitoring a new service becomes one line in the deploy script that ships it, and investigating an incident can start with a question to your agent instead of a dashboard.

[Start free](/auth/sign-up)[See pricing](/pricing)

9:41

9:41

## 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 dashboard runs on the same endpoints, so nothing is UI-only: if you can click it, your code can do it.

- [Developers](/developers)

## Hand the setup to your agent

63 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, NTP drift, WebSocket handshakes, SFTP and FTP logins, SMTP, IMAP and POP3 mail servers, email round-trip delivery, MTR network paths, and heartbeats for cron jobs and workers. 30 types in total, which is the difference between monitoring your website and monitoring your system. And from inside the box: the open-source watchfor-agent reports CPU, memory, disk and processes with one command, over outbound HTTPS only.

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

## Assertions, not just status codes

An API monitor can assert on JSON fields, headers and response bodies, and extract values to chart and alert on. 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)

## Playwright you already know

A browser check is a plain @playwright/test file: test.step, web-first expects, process.env for secrets. The same file runs on your laptop and here, in a sandboxed Chromium, with a timing and a screenshot per step and a trace when it fails. Test it before you save, from the editor, the API or an agent.

- [Playwright browser checks](/playwright-monitoring)

## Where we are not the right answer

- No monitoring-as-code repository: a browser check is one Playwright file written in the editor or sent over the API, not a suite deployed from CI. If that workflow is the point, Checkly does it better.
- 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. 63 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/sign-up)[See all monitor types](/monitoring)

---

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