# mcp-uptime-kuma

Connects Claude Code to an Uptime Kuma 2 instance. Lets agents inspect service health, pause checks, and schedule maintenance windows directly in chat.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 60
- Author: DavidFuchs
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/DavidFuchs/mcp-uptime-kuma
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/mcp/mcp-uptime-kuma

## What it does

The server interacts with Uptime Kuma via Socket.IO and returns compact payloads, preventing monitor histories from flooding the LLM context window. It runs locally using `stdio` via `npx` or remotely over streamable HTTP inside a Docker container.

Available tools cover checking monitor status summaries, retrieving heartbeat records, managing alert channels, and updating tags. Agents can also schedule or pause maintenance intervals to mute noise during planned downtime.

This integration functions only with Uptime Kuma version 2 and will fail on older releases. Exposing the streamable HTTP endpoint leaves port 3000 unauthenticated by default, giving anyone direct access to change monitors.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `UPTIME_KUMA_URL`, `UPTIME_KUMA_USERNAME`, `UPTIME_KUMA_PASSWORD`, `UPTIME_KUMA_2FA_TOKEN`, `UPTIME_KUMA_JWT_TOKEN`, `UPTIME_KUMA_HEADERS` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add mcp-uptime-kuma -e UPTIME_KUMA_URL=<UPTIME_KUMA_URL> -e UPTIME_KUMA_PASSWORD=<UPTIME_KUMA_PASSWORD> -e UPTIME_KUMA_2FA_TOKEN=<UPTIME_KUMA_2FA_TOKEN> -e UPTIME_KUMA_JWT_TOKEN=<UPTIME_KUMA_JWT_TOKEN> -e UPTIME_KUMA_HEADERS=<UPTIME_KUMA_HEADERS> -- npx -y @davidfuchs/mcp-uptime-kuma
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Codex

**Platform CLI**
```bash
codex mcp add mcp-uptime-kuma --env UPTIME_KUMA_URL=<UPTIME_KUMA_URL> --env UPTIME_KUMA_USERNAME=<UPTIME_KUMA_USERNAME> --env UPTIME_KUMA_PASSWORD=<UPTIME_KUMA_PASSWORD> --env UPTIME_KUMA_2FA_TOKEN=<UPTIME_KUMA_2FA_TOKEN> --env UPTIME_KUMA_JWT_TOKEN=<UPTIME_KUMA_JWT_TOKEN> -- npx -y @davidfuchs/mcp-uptime-kuma
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "mcp-uptime-kuma": {
            "command": "npx",
            "args": [
                "-y",
                "@davidfuchs/mcp-uptime-kuma"
            ],
            "env": {
                "UPTIME_KUMA_URL": "<UPTIME_KUMA_URL>",
                "UPTIME_KUMA_USERNAME": "<UPTIME_KUMA_USERNAME>",
                "UPTIME_KUMA_PASSWORD": "<UPTIME_KUMA_PASSWORD>",
                "UPTIME_KUMA_2FA_TOKEN": "<UPTIME_KUMA_2FA_TOKEN>",
                "UPTIME_KUMA_JWT_TOKEN": "<UPTIME_KUMA_JWT_TOKEN>"
            }
        }
    }
}
```
Replace <…> with your own values. 1 more environment variable is in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "mcp-uptime-kuma": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@davidfuchs/mcp-uptime-kuma"
            ],
            "env": {
                "UPTIME_KUMA_URL": "<UPTIME_KUMA_URL>",
                "UPTIME_KUMA_USERNAME": "<UPTIME_KUMA_USERNAME>",
                "UPTIME_KUMA_PASSWORD": "<UPTIME_KUMA_PASSWORD>",
                "UPTIME_KUMA_2FA_TOKEN": "<UPTIME_KUMA_2FA_TOKEN>",
                "UPTIME_KUMA_JWT_TOKEN": "<UPTIME_KUMA_JWT_TOKEN>"
            }
        }
    }
}
```
Replace <…> with your own values. 1 more environment variable is in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e UPTIME_KUMA_URL=<UPTIME_KUMA_URL> -e UPTIME_KUMA_USERNAME=<UPTIME_KUMA_USERNAME> -e UPTIME_KUMA_PASSWORD=<UPTIME_KUMA_PASSWORD> -e UPTIME_KUMA_2FA_TOKEN=<UPTIME_KUMA_2FA_TOKEN> -e UPTIME_KUMA_JWT_TOKEN=<UPTIME_KUMA_JWT_TOKEN> mcp-uptime-kuma npx -y @davidfuchs/mcp-uptime-kuma
```
Replace <…> with your own values. 1 more environment variable is in the server README

## When to use it
- inspect offline monitors and recent heartbeat failures
- pause checks during application deployment
- schedule and configure a maintenance window
- add a new HTTP or DNS monitor without leaving the IDE

## Example prompts
- List all monitors currently in DOWN status from Uptime Kuma.
- Pause the monitor with ID 12 during the database migration.
- Show active maintenance windows and which monitors they silence.

## Similar
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [Oh My Posh Validator](https://affpapa.org/en/nevibecode/mcp/oh-my-posh-validator.md) — MCP server · ★ 23643
- [Keploy](https://affpapa.org/en/nevibecode/mcp/keploy.md) — MCP server · ★ 18727
- [Coder](https://affpapa.org/en/nevibecode/mcp/coder.md) — MCP server · ★ 17160
- [mcp](https://affpapa.org/en/nevibecode/mcp/kubeshark-mcp.md) — MCP server · ★ 12109

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
