Open sourceBuilt for agents

Affordable uptime monitoring your AI agent can run.

Checks, alerts and status pages you can manage from Claude, Cursor or any MCP client. Open source, no per-monitor fees.

Open source (MIT). No telemetry.

!
api.acme.dev is down After 3 consecutive failed checks Slack · #incidents · just now
status.acme.dev
Acme Status
All systems operational
99.98%30-day uptime
148 msAvg. response
3Components
90 days agoToday

Sample data for illustration.

ALERTS AND AUTOMATION THAT FIT YOUR STACK

SlackLarkTelegramPagerDutyEmailWebhookREST API

EVERYTHING OPENUPTIME SUPPORTS

Monitoring

  • HTTP and HTTPS checks
  • TCP port, DNS, PostgreSQL, MySQL and Redis
  • Heartbeat monitors for cron jobs and workers
  • Keyword present or absent, expected status, custom method and headers
  • Slow-response threshold alerts
  • Checks as often as every minute, with a failure threshold
  • Pause and resume, JSON import and export

Incidents

  • Incidents open and resolve automatically
  • Manual incidents with status updates, from investigating to resolved
  • Acknowledge incidents; the responder is recorded
  • Scheduled maintenance windows that silence alerts
  • Failed alert deliveries are retried; full alert log

Alert channels

  • Slack, Lark, Telegram, PagerDuty, email and webhooks
  • Choose which channels each monitor alerts

Status pages

  • Grouped components with 90-day history
  • Incident timeline and email subscribers
  • Light, dark or automatic theme; optional response times
  • RSS feed, SVG status badge and embeddable summary
  • Optional link to your own website in the header

Automation

  • REST API for everything the app does
  • API keys for scripts, Terraform and CI
  • MCP server with OAuth, scoped to workspaces or projects

Teams and account

  • Workspaces and projects, with owner, admin and member roles
  • Email invitations, GitHub sign-in and two-step verification
  • English and Chinese app, account data export
  • Self-host on Cloudflare Workers and Postgres, MIT licensed
MCP

Let your AI agent run your monitoring

OpenUptime ships an MCP server. Connect Claude, Cursor or any MCP client and ask in plain words.

1

Connect your client

Add your OpenUptime address with /api/mcp to any MCP client that supports remote servers.

2

Approve with OAuth

Sign in and choose what the agent may reach: every workspace, selected workspaces or only selected projects. Revoke it any time.

3

Ask for what you need

Create monitors, pause them, run a check, open or update incidents. The agent can also create projects and workspaces where you allow it.

Read the MCP guide →
The status quo

Every option makes you compromise somewhere

What most teams want is simple: reliable alerts, a status page worth showing customers, and no vendor lock-in.

$ / mo

Bills that scale faster than you do

SaaS monitors charge per monitor, check interval, seat and status page. Add services and monitoring becomes a line item of its own.

1 box

A monitor that shares its fate with your servers

Self-hosted tools run on the same infrastructure they watch. When that machine or network has a bad day, the alerts go down with it.

no API

Automation without an API

New service, new monitor, more clicking. Without a complete API you can’t fold monitoring into Terraform or CI.

What you get

Monitoring, alerting and status pages in one box

Open source and MIT licensed. Run it yourself, or use the hosted version.

Checks that go beyond a status code

HTTP, TCP, DNS and heartbeats, as often as every minute. Assert on a keyword — or its absence — not just a 200.

HTTP(S)TCPDNSHeartbeatKeyword
12:04:00 GET /health 200 92ms ✓
12:05:00 GET /health 200 88ms ✓
12:06:00 JSON $.status == "ok" pass ✓

Incidents that explain themselves

Incidents open automatically after consecutive failures. Post updates from investigating to resolved and subscribers get an email.

Investigating14:02
Identified14:09
Resolved14:21

Status pages people trust

Grouped components, 90-day history, incident timeline and email subscribers.

APIOperational
WebsiteOperational
PaymentsDegraded

Alerts where you already are

Slack, Lark, Telegram, PagerDuty, email and webhooks. Choose which channels each monitor alerts.

Slack#incidentsLarkOps groupTelegram@oncallSlack#incidentsLarkOps groupTelegram@oncall
PagerDutyOn-callEmailteam@acme.devWebhookPOSTPagerDutyOn-callEmailteam@acme.devWebhookPOST

API-first by design

Everything the UI does, the API does. Create monitors, channels and status pages with API keys.

curl -X POST /api/monitors \ -H "Authorization: Bearer $TOKEN" \ -d '{"name":"Acme","type":"http","target":"https://acme.dev"}'
Side by side

Why teams switch

Hosted SaaS
Typical self-hosted
OpenUptime
No servers to maintain
✓
—
✓
Public status pages included
✓
½
✓
Complete REST API
✓
½
✓
Your data stays with you
—
✓
✓
Free to self-host
—
✓
✓
Built-in MCP server for AI agents
½
—
✓
Built in the open

Code, roadmap and discussions are all public

A monitoring tool has to be trustworthy on your worst day. So every decision happens where you can see it.

MITLicensed for commercial use, modification and redistribution.
0Telemetry or tracking. Nothing phones home.
Freeto self-host. Bring your own Cloudflare account and Postgres.
// to be filled in

GitHub stars, early-user stories and a logo wall will live here. There is no real data yet, so there are no placeholder numbers.

Be an early contributor
A different morning

From being told by users to knowing first

Before

  • You find out at 2 a.m. because a customer pings you
  • The status page is updated by hand, if at all
  • Your self-hosted monitor goes down with the server it runs on
  • The monitoring bill arrives at month end

With OpenUptime

  • Slack lights up the moment the failure threshold is hit
  • The status page flips on its own, with a timeline
  • Monitors as code, shipped with the service
  • Workers plus a Postgres you own. You decide what it costs.

Monitoring that stays up when your servers don’t

Deploy it to your own Cloudflare account. Don’t like it? Delete the Worker and nothing is left behind.