mcp-uptime-kuma — Claude Code MCP server: install and tools
Connects Claude Code to an Uptime Kuma 2 instance. Lets agents inspect service health, pause checks, and schedule maintenance windows directly in chat.
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-kumaWhat mcp-uptime-kuma 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.
What it helps with
- 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 for the agent
- 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.
How to install mcp-uptime-kuma
Platform CLI
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-kumaReplace <…> with your own values. 1 more environment variable is in the server README
Platform CLI
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-kumaReplace <…> with your own values. 1 more environment variable is in the server README
Config file
{
"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
Config file
{
"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
Platform CLI
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-kumaReplace <…> with your own values. 1 more environment variable is in the server README
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about mcp-uptime-kuma
How to install mcp-uptime-kuma in Claude Code?
Run: `claude mcp add --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> --transport stdio mcp-uptime-kuma -- npx -y @davidfuchs/mcp-uptime-kuma`. Replace placeholders with your instance URL and login credentials.
Which Uptime Kuma versions are supported?
The server targets Uptime Kuma version 2 exclusively. It does not support version 1.
How does authentication work for the server?
Credentials are passed via environment variables using username and password, with optional two-factor tokens, or via a JWT token.