1. Conduid
  2. Developer Tools
  3. uptime-kuma
MCP server · Developer Tools

uptime-kuma

A Model Context Protocol (MCP) server for Uptime Kuma version 2, supporting both stdio and streamable HTTP transports.

Unclaimed ai
39Low

Scored 4 months ago · breakdown

About uptime-kuma

uptime-kuma is an MCP server published by git+DavidFuchs in the Developer Tools category: a Model Context Protocol (MCP) server for Uptime Kuma version 2, supporting both stdio and streamable HTTP transports. It has been installed 0 times through Conduid.

Install

Install
npx @davidfuchs/mcp-uptime-kuma
Claude Code
claude mcp add uptime-kuma -- npx -y @davidfuchs/mcp-uptime-kuma
npx
npx -y @davidfuchs/mcp-uptime-kuma

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

Ask AI about uptime-kuma

Powered by Claude · Grounded in docs

I know everything about uptime-kuma. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

  • ·README presentNot checked yet.
  • ·License declaredNot checked yet.
  • ·Tests presentNot checked yet.
  • ·Dependencies pinnedNot checked yet.
  • ·No dynamic code executionNot checked yet.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

README

mcp-uptime-kuma

A Model Context Protocol (MCP) server for Uptime Kuma version 2. Supports stdio and streamable HTTP transports.

GitHub Stars GitHub Last Commit GitHub Repo Size

GitHub Actions - npmjs npmjs Version npmjs Downloads

GitHub Actions - DockerHub Docker Version Docker Pulls

Features

  • Real-time Monitoring: Access monitors, heartbeats, uptime, and responsiveness metrics via Socket.IO with instant status change notifications.
  • Context-Friendly: Returns only essential data by default to avoid overwhelming LLM context windows.
  • Multiple Transports: Supports stdio (local) and streamable HTTP (remote) transports.

Quick Start

Using npx (stdio transport)

Add this to your MCP client configuration:

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

Using Docker (streamable HTTP transport)

Option 1: Docker Run

docker run -d \
  --name mcp-uptime-kuma \
  -p 3000:3000 \
  -e UPTIME_KUMA_URL=http://your-uptime-kuma-instance:3001 \
  -e UPTIME_KUMA_USERNAME=your_username \
  -e UPTIME_KUMA_PASSWORD=your_password \
  davidfuchs/mcp-uptime-kuma:latest \
  -t streamable-http

Option 2: Docker Compose

A docker-compose.yml file is provided in the repository. Download it, configure your environment variables, and run:

docker compose up -d

Then configure your MCP client to connect to the endpoint:

{
  "mcpServers": {
    "uptime-kuma": {
      "url": "http://localhost:3000/mcp"
    }
  }
}

See Authentication Methods for JWT token and anonymous authentication options.

Example Conversation

MCP server answering questions about Uptime Kuma monitors Conversation in LibreChat where the mcp-uptime-kuma server is providing real-time information from Uptime Kuma.

Available Tools

Monitors

Tool Purpose
getMonitorSummary Get a quick overview of all monitors with their current status. Supports filtering.
listMonitors Get the full list of all monitors with configurations. Supports filtering.
listMonitorTypes Get all available monitor types supported by Uptime Kuma.
getMonitor Get detailed configuration for a specific monitor by ID.
createMonitor Create a new monitor (requires name and type at minimum).
updateMonitor Update an existing monitor's configuration.
deleteMonitor Permanently delete a monitor and all its heartbeat history.
pauseMonitor Pause a monitor to stop performing checks.
resumeMonitor Resume a paused monitor to restart checks.

Heartbeats

Tool Purpose
listHeartbeats Get status check history for all monitors.
getHeartbeats Get status check history for a specific monitor.

Notifications

Tool Purpose
listNotifications List all configured notification channels (Slack, Discord, email, webhooks, etc.).
addNotification Create a new notification channel.
updateNotification Update an existing notification channel.
deleteNotification Permanently delete a notification channel.

Tags

Tool Purpose
listTags List all tags defined in Uptime Kuma.
addTag Create a new tag that can be assigned to monitors.
deleteTag Permanently delete a tag (removes it from all monitors).

Maintenance

Tool Purpose
getMaintenanceWindows List all scheduled maintenance windows.
createMaintenance Schedule a new maintenance window.

Status Pages & Settings

Tool Purpose
listStatusPages List all configured status pages.
getSettings Get Uptime Kuma server settings.

Filtering

getMonitorSummary and listMonitors support filtering by:

  • keywords: Space-separated keywords for fuzzy matching against monitor pathNames
  • type: Monitor type(s), comma-separated (e.g., "http", "http,ping,dns")
  • active: Filter by active (true) or inactive (false) monitors
  • maintenance: Filter by maintenance mode status
  • tags: Tag name and optional value, comma-separated (e.g., "production", "env=staging")
  • status (getMonitorSummary only): Heartbeat status ("0"=DOWN, "1"=UP, "2"=PENDING, "3"=MAINTENANCE)

Examples:

getMonitorSummary({ status: "0" })                    // All DOWN monitors
getMonitorSummary({ type: "http", maintenance: true }) // HTTP monitors in maintenance
listMonitors({ tags: "production,region=us-east" })    // Monitors with specific tags

Authentication Methods

Anonymous Authentication

If authentication is disabled on your Uptime Kuma instance, only UPTIME_KUMA_URL is required.

Username/Password Authentication

UPTIME_KUMA_URL=http://your-instance:3001
UPTIME_KUMA_USERNAME=your_username
UPTIME_KUMA_PASSWORD=your_password
UPTIME_KUMA_2FA_TOKEN=123456  # Optional, only if 2FA is enabled

JWT Token Authentication

Recommended for 2FA users. Takes precedence over username/password if both are provided.

UPTIME_KUMA_URL=http://your-instance:3001
UPTIME_KUMA_JWT_TOKEN=your_jwt_token

Obtaining Your JWT Token

Using the CLI utility (recommended):

npx -p @davidfuchs/mcp-uptime-kuma mcp-uptime-kuma-get-jwt http://localhost:3001 admin mypassword

Using Docker:

docker run --rm davidfuchs/mcp-uptime-kuma:latest get-jwt http://host.docker.internal:3001 admin mypassword

From browser: Open Developer Tools → Storage/Application → Local Storage → find token key.

LibreChat Configuration

stdio transport:

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

streamable HTTP transport:

Update the allowed domains to whatever domain you're using in the URL (e.g., localhost or host.docker.internal for Docker setups):

mcpServers:
  uptime-kuma:
    type: streamable-http
    url: "http://mcp-uptime-kuma:3000/mcp"
    serverInstructions: true

mcpSettings:
  allowedDomains:
    - 'mcp-uptime-kuma'

Contributing

For development setup, building, testing, and project structure, see CONTRIBUTING.md.

Learn More

README mirrored from the source repository 4 months ago. The original is authoritative.

Questions

About uptime-kuma

How do I install uptime-kuma?

Run npx @davidfuchs/mcp-uptime-kuma, then add the server to your MCP client's configuration. Conduid has recorded 0 installs, so the command is known to work with current clients.

Is uptime-kuma safe to use with an AI agent?

Its trust score is 39 out of 100 (low). It passes 0 of 1 static security checks; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is uptime-kuma still maintained?

Conduid hasn't recorded a commit date for this repository yet. Check the repository directly for recent activity.