create_monitor
Creates a new uptime monitor supporting HTTP, DNS, TCP, ICMP, MCP Server, and Heartbeat checks. Configure name, protocol type, and check frequency to monitor service availability.
Instructions
Create a new uptime monitor.
Required fields: name, type (HTTP/DNS/TCP/ICMP/MCP/HEARTBEAT), config (type-specific), frequencySeconds (30-86400).
managedBy is set automatically to MCP server-side; callers
cannot override it. Use the SDK or CLI directly if you need a
different attribution.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ``CreateMonitorRequest`` with ``managed_by`` hidden from MCP callers. The MCP server *always* sets ``managedBy="MCP"`` on the API call so the dashboard can attribute the monitor to its real origin (an AI agent), rather than letting the LLM thread an arbitrary value through. This subclass: 1. Re-declares ``managed_by`` as optional (``default=None``) so a body that omits it passes Pydantic validation — the parent class makes the field required, which would force the LLM to set it. 2. Marks the field with ``exclude=True`` so any value the LLM does smuggle in via a permissive client never reaches ``model_dump()``. The server-side ``managedBy`` injection in :func:`create_monitor` is the only writer that survives the boundary. The field is also stripped from the JSON Schema FastMCP advertises (see ``server.py`` post-registration step), so well-behaved LLMs never see ``managedBy`` as a callable parameter at all. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |