Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Openuptime MCP

by becoolmeversion 1.0.0i★ –iRuns in the cloud
Registry nameapp.openuptime/mcp

Install

Overview

Description from the maker (original English)

Manage uptime monitors, incidents and status pages from any MCP client.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • The registry lists no key to fill in.

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://openuptime.app/api/mcp

Run this in your terminal

claude mcp add --transport http openuptime https://openuptime.app/api/mcp

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "openuptime": {
      "url": "https://openuptime.app/api/mcp"
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "openuptime": {
      "type": "http",
      "url": "https://openuptime.app/api/mcp"
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://openuptime.app/api/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

We have not read this server’s tool list yet; we check endpoints in rotation.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified against the domain openuptime.app (the registry checks domain ownership)

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • … Not checked yet

    Endpoint responds

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    Sign-in with OAuth

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Otheri

  • More stars than 0% of the other 32558 servers in this category
  • Published to the registry more recently than 63% of the other 32558 servers in this category
  • Basic checks equal to or better than 100% of the other 32558 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Openuptime MCP safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.0.0) reached the registry 23 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, FactLot

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated yesterday
Install

FactLot

by 9mp96ygnbk-alt

Cited CRE facts and deterministic calculators for agents: rent, CAM, debt sizing, IRR, parcel IDs.

Computer or cloudUpdated today
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

OpenUptime

Open-source uptime monitoring and status pages. Runs on Cloudflare Workers with Postgres, or in one Docker container.

Hosted version · Docs · Reference · MIT license

Features

Monitoring

  • HTTP / HTTPS with keyword matching and slow-response alerts
  • TCP, DNS and WebSocket
  • Heartbeat (push) monitors for cron jobs and background workers
  • PostgreSQL, MySQL and Redis
  • Domain expiry
  • EVM and Solana RPC node health
  • MCP server checks
  • Multi-region checks, with your own probes
  • Monitor dependencies, so a downstream outage doesn't page you twice

Incidents and status pages

  • Incidents with acknowledgement, assignment and postmortems
  • Maintenance windows, one-off or recurring
  • Public status pages
  • Email and RSS subscriptions for status page visitors
  • Status badges and embeds for your site or README

Alerts

  • Slack, Discord, Microsoft Teams, Telegram, Lark / Feishu and ntfy
  • PagerDuty, webhooks and email
  • Push notifications to the iOS app
  • Repeat reminders and escalation

Teams and automation

  • Workspaces, projects and roles
  • GitHub sign-in and two-factor authentication
  • REST API with API keys
  • MCP server so your AI agent can manage monitors, incidents and status pages
  • JSON import / export
PartStack
apps/apiHono, better-auth, Cloudflare Worker (cron + queue consumer)
apps/webAstro (static pages, SSR for status pages) + React islands
packages/repoStorage interface (Repo) and entity types
packages/db-pgPostgres implementation of Repo: Drizzle schema, migrations

Deploy to Cloudflare

The site is two Workers on one domain:

WorkerServesAlso does
openuptime-apiyour-domain/api/* (a Worker route on your zone)minute cron, queue consumer that runs the checks
openuptime-webeverything else on your-domain (a Worker custom domain)status pages (SSR); reaches the API through a service binding

Keeping the API under /api/* of the same domain means session cookies stay same-origin. You need no separate API hostname.

Before you start

  • A Cloudflare account and a domain whose DNS is on Cloudflare (the zone).
  • A Postgres database reachable from the internet (Neon, Supabase, RDS, your own). Workers connect through Hyperdrive.
  • Node.js 22+ and pnpm (corepack enable provides the pinned version).
  • Workers Paid plan for the Queue (default). On the Free plan, run in inline mode instead: see Reference.
1. Get the code and sign in
git clone https://github.com/becoolme/openuptime.git && cd openuptime

pnpm install cd apps/api && npx wrangler login

All npx wrangler … commands below run in apps/api unless noted.

2. Create the Queue and Hyperdrive
npx wrangler queues create openuptime-checks

npx wrangler hyperdrive create openuptime-prod --connection-string="postgres://user:pass@host:5432/db"

The second command prints an id. In apps/api/wrangler.jsonc uncomment the hyperdrive line and paste it:

"hyperdrive": [{ "binding": "HYPERDRIVE", "id": "<id printed above>" }],

The commented placement line is optional (it runs the Worker next to your database host); leave it commented unless you want that.

3. Create the schema

From the repository root:

DATABASE_URL="postgres://user:pass@host:5432/db" pnpm db:migrate

It only applies what is new, so run it again after every upgrade. It never issues CREATE SCHEMA, so a role without database-level CREATE works too.

4. Point the config at your domain

Edit two files. In both, replace status.example.com with your own domain.

apps/api/wrangler.jsonc, where zone_name is the zone (the apex domain) even when you serve from a subdomain. Uncomment routes and set:

"routes": [{ "pattern": "status.example.com/api/*", "zone_name": "example.com" }],

"vars": { "BETTER_AUTH_URL": "https://status.example.com", // public origin: cookies, OAuth, email links "WEB_ORIGIN": "https://status.example.com", // same value "EMAIL_FROM": "alerts@example.com" // sender address; optional, see below }

Email is optional: without it invitations and alerts are written to the Worker log. To send it, onboard your domain under Email Sending in the Cloudflare dashboard first (see Reference).

apps/web/wrangler.jsonc:

"routes": [{ "pattern": "status.example.com", "custom_domain": true }],

"vars": { "PRODUCT_URL": "https://status.example.com" } // target of the "Powered by" link on status pages

The custom domain creates its DNS record and certificate for you; the hostname must not already have a DNS record pointing elsewhere.

No domain on Cloudflare? Leave routes out of both files and set BETTER_AUTH_URL and WEB_ORIGIN to the web Worker's https://openuptime-web. .workers.dev address. The web Worker then forwards /api/* to the API Worker through the service binding, so cookies stay same-origin.

5. Set the secrets
npx wrangler secret put BETTER_AUTH_SECRET     # openssl rand -hex 32

npx wrangler secret put CRON_SECRET # any long random string; guards /internal/*

If wrangler asks to create the Worker first, answer yes. Optional: GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET add "Sign in with GitHub".

6. Deploy
pnpm exec wrangler deploy                     # in apps/api

cd ../web && pnpm build && pnpm exec wrangler deploy

Deploy the API first: the web Worker binds to it by name.

7. Check it
curl https://status.example.com/api/health    # {"ok":true}

Open the domain and sign up. Once your own account exists you can set "DISABLE_SIGNUP": "true" in the API vars and deploy again to close registration (invited people can still join).

Upgrade later: pull, pnpm install, pnpm db:migrate, then deploy the API and the web Worker, in that order.

Self-host with Docker

One container runs the API, the web app and the check scheduler; Postgres comes with the compose file. Either run the published image or build it from source; the settings are the same.

Option A: run the published image

Tagged releases are published to ghcr.io/becoolme/openuptime for linux/amd64 and linux/arm64. You need no clone and no build:

mkdir openuptime && cd openuptime

curl -fsSLO https://raw.githubusercontent.com/becoolme/openuptime/main/docker-compose.yml curl -fsSL https://raw.githubusercontent.com/becoolme/openuptime/main/.env.docker.example -o .env

Edit .env: set POSTGRES_PASSWORD and BETTER_AUTH_SECRET (openssl rand -hex 32), and uncomment OPENUPTIME_IMAGE. Pin a version (ghcr.io/becoolme/openuptime:0.1.0) or follow the newest release (:latest). Then:

docker compose pull && docker compose up -d     # http://localhost:8080

Upgrade: change the tag if you pinned one, then run the same two commands again. Migrations run on start.

Option B: build from source
git clone https://github.com/becoolme/openuptime.git && cd openuptime

cp .env.docker.example .env # set POSTGRES_PASSWORD and BETTER_AUTH_SECRET (openssl rand -hex 32) docker compose up -d --build # http://localhost:8080

Upgrade: git pull, then docker compose up -d --build.

Either way

The schema is migrated on start and the data lives in the pgdata volume. Set PUBLIC_URL when the app is not served from http://localhost:8080. Email is optional; see Reference.

Once your own account exists, set DISABLE_SIGNUP=true in .env and run docker compose up -d to close registration (invited people can still join).

Develop

pnpm install

cp .env.example apps/api/.dev.vars # edit DATABASE_URL and secrets DATABASE_URL=postgres://user:pass@localhost:5432/openuptime_dev pnpm db:migrate # same URL as in .dev.vars pnpm dev:api # http://localhost:8787 (checks run inline every 15s) pnpm dev:web # http://localhost:4321 (proxies /api to the API) pnpm typecheck

MCP server

Agents (Claude, Cursor, Codex and any MCP client) can manage monitors, incidents and status pages over Streamable HTTP at /api/mcp, authorizing with OAuth or an API key:

claude mcp add --transport http openuptime https://openuptime.app/api/mcp   # or https://<your-host>/api/mcp

Client setup, scopes and the tool list are in the MCP docs. An agent skill that teaches the common workflows ships in skills/openuptime: npx skills add becoolme/openuptime. The hosted server is listed in the MCP Registry as app.openuptime/mcp; server.json is its entry.

Tests, how checks run, the MCP server, alert channels and the other details are in docs/reference.md.

Open source vs hosted

The monitoring itself is the same code in both. The hosted service at openuptime.app adds plans, billing and a few features that live only in that build; it plugs into this repo through one interface (Edition, see docs/editions.md), so nothing in the core is locked or throttled.

Self-hosted (this repo, MIT)Hosted (openuptime.app)
Monitors, incidents, status pages, alert channels, API, MCPAll of itAll of it
LimitsNone: no plans, quotas or meteringFree plan, paid plans from $5/month (pricing); monitors, checks, emails and history length depend on the plan
Running itYou: Postgres, the Worker or container, a mail provider, backups, upgradesWe do; nothing to install
SSL certificate monitoring (expiry alerts, ssl monitor type)Not includedLite and above
Custom domain for a status pageNot includedEvery paid plan (Lite and above), plus early-access workspaces
Where your data livesYour databaseOurs (Postgres on managed hosting)

Pick self-hosting if you want to own the data and the infrastructure, or have no limits to worry about. Pick hosted if you would rather not run anything. Both receive the same core updates.

Contributing & security

See CONTRIBUTING.md. Report vulnerabilities privately as described in SECURITY.md, not in public issues.

License

MIT

Ask PopNx