mcp-uptime-kuma: MCP server for Uptime Kuma 2

mcp-uptime-kuma

An MCP server for agents: read Uptime Kuma 2 monitors and checks, create or edit monitors and maintenance windows

  • 70 ★ on the repository
  • Last commit
MCP server

Broad access

Why this level

  • The token or password allows creating, changing and deleting monitors, notification channels and maintenance windows
  • The HTTP variant without a key hands control of the instance to anyone who can reach the port
All reasons and checks

davidfuchs/mcp-uptime-kuma

Install

Manual install

{"mcpServers":{"uptime-kuma":{"command":"npx","args":["-y","@davidfuchs/mcp-uptime-kuma@latest"],"env":{"UPTIME_KUMA_URL":"http://your-uptime-kuma-instance:3001","UPTIME_KUMA_USERNAME":"your_username","UPTIME_KUMA_PASSWORD":"your_password"}}}}

The config from the README, stdio through npx. Keep the @latest suffix, otherwise npx reuses an old cached version.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The token or password allows creating, changing and deleting monitors, notification channels and maintenance windows
  • The HTTP variant without a key hands control of the instance to anyone who can reach the port

This is third-party code. Review the repository files before installing.

What it does

The server connects an agent to your own Uptime Kuma version 2 instance over Socket.IO and returns monitor state in real time. By default it returns only the essential fields, so replies do not bloat the model context. Reading is covered by getMonitorSummary and listMonitors, which filter by keywords, type, tags, status, maintenance mode and parent group, plus getMonitor, listHeartbeats and getHeartbeats for check history. Writing uses createMonitor, updateMonitor, deleteMonitor, pauseMonitor and resumeMonitor. Fields specific to a monitor type (about 85 of them) go into a single typeFields object, and getMonitorTypeFields describes what each type accepts. Separate tool groups cover notification channels, tags, maintenance windows and status pages. You choose the transport: stdio through npx, or streamable HTTP from the Docker image.

Who it is for. Admins and DevOps engineers who watch their services in a self-hosted Uptime Kuma 2 and want to ask about failing monitors straight from an agent chat.

Good fit when

  • You need to see which monitors are DOWN right now and in which group
  • You want to create a batch of HTTP, ping or DNS monitors from a list of services
  • Before planned work you need a maintenance window attached to the right monitors
  • You want to go through the check history of one monitor over the last hours
  • Notification channels and tags need tidying

Not a fit when

  • You run Uptime Kuma version 1: the server targets version 2 only
  • Monitoring must stay strictly read-only: the server has delete tools, so give it a dedicated account or leave it out
  • You need host load metrics and graphs: Uptime Kuma checks service availability and does not measure server resources

Example request

Show all monitors in DOWN status and tell me what they share by tags and groups.

MCP

Transport
stdio, http
Authentication
key is optional

Environment variables

UPTIME_KUMA_URL required
Uptime Kuma instance URL
UPTIME_KUMA_USERNAME
Username, unless a JWT token is used or login is disabled
UPTIME_KUMA_PASSWORD secret
Uptime Kuma user password
UPTIME_KUMA_JWT_TOKEN secret
JWT token, takes precedence over username and password

Limitations

Works only with Uptime Kuma 2. It needs the instance URL and credentials: a username with a password, a JWT token, or anonymous access if login is disabled in Uptime Kuma. The Docker HTTP variant without protection gives full control of the instance to anyone who can reach the port, so do not expose it beyond localhost without a key and a proxy. The version in package.json is marked 0.0.0-dev and the release number is injected by the build, so install the package with the @latest suffix. The server does not replace Uptime Kuma itself: monitors, check schedules and notifications stay on your instance.

How to disable. Remove the uptime-kuma block from the MCP client config and restart the client. Stop and remove the container with docker stop mcp-uptime-kuma. The server stores no data of its own beyond Uptime Kuma.

FAQ

Does it work with Uptime Kuma version 1?

No, it is written for Uptime Kuma 2. If your instance is old, upgrade Uptime Kuma first and then connect the agent.

How do I get a JWT token for the server?

The bundled mcp-uptime-kuma-get-jwt utility issues it: run it through npx with the URL, username and password. A token suits accounts with two-factor authentication and takes precedence over username and password. You can also copy it from browser local storage under the token key.

Can it connect to Uptime Kuma behind Cloudflare Access?

Yes. Pass the access headers as a JSON object in UPTIME_KUMA_HEADERS: they go with every request and combine with any login method. For Cloudflare Access you create a service token and a Service Auth policy.

Can I restrict the agent to read-only?

The server has no such switch: write and delete tools are always exposed. Limit rights through the Uptime Kuma account the server signs in with, or withhold approval for createMonitor and deleteMonitor calls.

Which transports does the server support?

Two: stdio when launched through npx, and streamable HTTP when started from the Docker image with -t streamable-http. The HTTP client address is http://localhost:3000/mcp.

Discussion

No questions or reviews yet.

Official

Monitoring and status page service with an MCP server: an agent reads check state and manages incidents.

MCP serverExtended access55Repository stars
Official

The built-in OneUptime MCP: an agent works incidents, reads logs and traces, acknowledges alerts and sets up monitors.

MCP serverExtended access7.8KRepository stars

maintenant monitoring MCP server: an agent reads container logs, check history and alerts but never touches the containers

MCP serverExtended access548Repository stars

Independent Datadog MCP server: an agent reads incidents, monitors, logs, metrics, traces and RUM and schedules downtimes.

MCP serverExtended access143Repository stars
Russian stack

A single-container web dashboard for monitoring and controlling a fleet of 1C MCP servers: status, indexing progress, VRAM and license checks

CLIExtended access

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
mcp-uptime-kuma: MCP server for Uptime Kuma 2 (this card)nokey is optional70
OneUptimeyesOAuth7,816a separate monitoring platform with its own MCP, unrelated to Uptime Kuma
Grafana MCP ServeryesAPI key3,663Grafana metrics and dashboards, without service availability checks

README in short

The repository describes a quick start through npx and Docker, the tool list by group, three ways to sign in and how to protect the HTTP endpoint. A separate section covers working behind an authenticating proxy.

README badge

Report a problem