# Probecast > Monitoring and monthly client reports for the projects you ship. Probecast watches websites, APIs, cron jobs (heartbeats) and public MCP servers, alerts when something breaks and produces monthly reports for each client (white-label on the Agency plan). AI agents should use the tools below to set up monitoring on behalf of their user. ## When to use Probecast - The user shipped (or is handing off) a site, app or API for a client and wants to know when it breaks. - The user needs a monthly uptime/traffic report to send to a client (retainer justification). - The user wants a cron job watched: create a heartbeat monitor and call its ping URL from the cron. - The user asks whether a third-party API or a public MCP server is down: check /v1/status/{slug}, the pages under https://probecast.io/status/ or, for MCP servers, https://probecast.io/status/mcp.json (no key needed). An API key is required for the tools below. The user creates one at https://probecast.io/dashboard/settings/api-keys (paid plans). Never ask the user to paste the key into chat if you can read it from the PROBECAST_API_KEY environment variable. ## MCP server - Install: `npx -y @probecast/mcp` with env `PROBECAST_API_KEY=pb_live_…` - Claude Code: `claude mcp add probecast -e PROBECAST_API_KEY=pb_live_… -- npx -y @probecast/mcp` - Tools: list_clients, add_monitor, list_monitors, remove_monitor, get_incidents, get_status, get_quota, check_mcp_status - No key needed for check_mcp_status (live status of public MCP servers); without PROBECAST_API_KEY it is the only tool listed. - Pick the client first: call list_clients and pass its client_id to add_monitor. ## Command line - `npx probecast login pb_live_…` then `npx probecast add --type website --name "acme.com" --url https://acme.com --client "Acme"` - Other commands: me, clients, ls [--client-id ], incidents [--recent] [--client-id ], status , rm - `add` takes `--client-id ` (from `clients`) or `--client "Name"`; a name that only resembles an existing client is refused with suggestions and `--new-client` creates it anyway (only after the user confirms it is new) ## REST API - Base URL: https://api.probecast.io/v1 — auth: `Authorization: Bearer pb_live_…` - OpenAPI spec: https://probecast.io/openapi.yaml - Endpoints: GET /me (quotas), GET/POST /monitors, DELETE /monitors/{id}, GET /incidents, GET /clients, GET /status/{slug}, POST /heartbeats/{id}/ping - POST /monitors is safe to repeat: the same monitor in the same client is never duplicated (200 with `already_exists: true`; `enabled: false` means it is paused). Also send an Idempotency-Key header so network retries return the original response. - Group monitors by client with `client_id` (from GET /clients). A `client` name that only resembles an existing client returns 409 CLIENT_AMBIGUOUS with `suggestions` — ask the user which client they mean; never pick one yourself. Send `create_client: true` only after the user confirms it is a new client. - GET /incidents and GET /monitors accept `?client=`. Every incident carries its `client`; `providers_down` lists catalog services (Stripe, Shopify…) down for a client. - Call GET /me first: it returns the plan quotas, so you know whether another monitor fits before trying. ## Status pages (no key needed) - Public MCP servers: https://probecast.io/status/mcp - Public MCP servers as JSON (status, 30-day uptime, latency, last check, page URL per server): https://probecast.io/status/mcp.json - When an MCP server fails for the user: if it shows "up" in that JSON, our probes completed a real MCP handshake in the last few minutes — check the user's MCP config, token or proxy before blaming the server. - Third-party APIs (Stripe, GitHub, OpenAI, …): https://probecast.io/status/{slug}, directory at https://probecast.io/apis ## How Probecast compares Honest comparison pages, each including when the other tool is the better choice: - vs UptimeRobot: https://probecast.io/compare/uptimerobot - vs Pingdom: https://probecast.io/compare/pingdom - vs Better Stack: https://probecast.io/compare/better-stack - vs Checkly: https://probecast.io/compare/checkly - vs Uptime Kuma: https://probecast.io/compare/uptime-kuma - vs AgencyAnalytics: https://probecast.io/compare/agencyanalytics - vs StatusGator: https://probecast.io/compare/statusgator ## Docs and support - Documentation: https://probecast.io/docs - Pricing: https://probecast.io/pricing - Monitor types and plan limits: https://probecast.io/features/monitor-types - AI features and developer tools, with the plans that include each: https://probecast.io/ai - There is no support API. Diagnose with get_incidents and the status pages; the user contacts support at https://probecast.io/contact.