A Model Context Protocol (MCP) server for Uptime Kuma version 2.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Inspect callable tools, capabilities, and parameters exposed to AI agents by MCP Uptime Kuma.
getMonitorSummaryGet a quick overview of all monitors with their current status. Supports filtering.
listMonitorsGet the full list of all monitors with configurations. Supports filtering.
listMonitorTypesGet all available monitor types supported by Uptime Kuma.
getMonitorGet detailed configuration for a specific monitor by ID.
createMonitorCreate a new monitor (requires name and type at minimum).
updateMonitorUpdate an existing monitor's configuration.
A Model Context Protocol (MCP) server for Uptime Kuma version 2. Supports stdio and streamable HTTP transports.
Add this to your MCP client configuration:
Option 1: Docker Run
Option 2: Docker Compose
A docker-compose.yml file is provided in the repository. Download it, configure your environment variables, and run:
Then configure your MCP client to connect to the endpoint:
See Authentication Methods for JWT token and anonymous authentication options.
The endpoint above is unauthenticated. Anyone who can reach port 3000 gets full read/write control of your Uptime Kuma instance. See Securing the HTTP Endpoint before exposing it beyond localhost.
Conversation in LibreChat where the mcp-uptime-kuma server is providing real-time information from Uptime Kuma.
| 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. |
| Tool | Purpose |
|---|---|
listHeartbeats | Get status check history for all monitors. |
getHeartbeats | Get status check history for a specific monitor. |
| 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. |
| 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). |
| Tool | Purpose |
|---|---|
getMaintenanceWindows | List all scheduled maintenance windows. |
createMaintenance | Schedule a new maintenance window. |
| Tool | Purpose |
|---|---|
listStatusPages | List all configured status pages. |
getSettings | Get Uptime Kuma server settings. |
getMonitorSummary and listMonitors support filtering by:
"http", "http,ping,dns")true) or inactive (false) monitors"production", "env=staging")null for top-level monitors (those with no parent). Not recursive β to walk deeper, use each child group's own childrenIDs."0"=DOWN, "1"=UP, "2"=PENDING, "3"=MAINTENANCE)Examples:
If authentication is disabled on your Uptime Kuma instance, only UPTIME_KUMA_URL is required.
Recommended for 2FA users. Takes precedence over username/password if both are provided.
Using the CLI utility (recommended):
Using Docker:
From browser: Open Developer Tools β Storage/Application β Local Storage β find token key.
If Uptime Kuma sits behind a proxy that demands its own credentials β a Cloudflare Zero Trust
Access application, oauth2-proxy, an API gateway β set UPTIME_KUMA_HEADERS to a JSON object of
headers to send on every request. It combines with any of the methods above, which still handle
logging in to Uptime Kuma itself.
For Cloudflare Access, create a service token, add a Service Auth policy to the application that allows it, then:
In an MCP client's JSON config the value is a string, so the inner quotes need escaping:
mcp-uptime-kuma-get-jwt reads the same variable. A malformed value stops the server at startup
with an error naming the offending header; header values are never logged.
Applies to -t streamable-http only. The stdio transport has no listener to protect and
takes its credentials from the environment, as the MCP specification prescribes.
Anyone who can reach /mcp has full read/write control of your Uptime Kuma instance,
including deleting monitors. Two settings guard it, and both default to permissive so that
upgrading cannot break an existing deployment - the server warns at startup in that state.
Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/mcp-uptime-kuma)<a href="https://allmcps.com/mcp/mcp-uptime-kuma"><img src="https://allmcps.com/api/badge/mcp-uptime-kuma?style=directory" alt="MCP Uptime Kuma on AllMCPs" /></a>