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
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
Install
- Works in
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 reviewBroad 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_URLrequired- Uptime Kuma instance URL
UPTIME_KUMA_USERNAME- Username, unless a JWT token is used or login is disabled
UPTIME_KUMA_PASSWORDsecret- Uptime Kuma user password
UPTIME_KUMA_JWT_TOKENsecret- 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.
Related
MCP serversMonitoring and status page service with an MCP server: an agent reads check state and manages incidents.
The built-in OneUptime MCP: an agent works incidents, reads logs and traces, acknowledges alerts and sets up monitors.
maintenant monitoring MCP server: an agent reads container logs, check history and alerts but never touches the containers
A skill that teaches an agent to create monitors, run incidents and build public status pages in OpenUptime over MCP
Datadog MCP Server (winor30)
Datadog MCP Server
Independent Datadog MCP server: an agent reads incidents, monitors, logs, metrics, traces and RUM and schedules downtimes.
A single-container web dashboard for monitoring and controlling a fleet of 1C MCP servers: status, indexing progress, VRAM and license checks
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| mcp-uptime-kuma: MCP server for Uptime Kuma 2 (this card) | no | key is optional | 70 | |
| OneUptime | yes | OAuth | 7,816 | a separate monitoring platform with its own MCP, unrelated to Uptime Kuma |
| Grafana MCP Server | yes | API key | 3,663 | Grafana 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.