mcp-uptime-kuma
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| UPTIME_KUMA_URL | No | URL of the Uptime Kuma instance | |
| UPTIME_KUMA_PASSWORD | No | Password for authentication | |
| UPTIME_KUMA_USERNAME | No | Username for authentication | |
| UPTIME_KUMA_2FA_TOKEN | No | Optional 2FA token if 2FA is enabled | |
| UPTIME_KUMA_JWT_TOKEN | No | JWT token for authentication (takes precedence over username/password) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| getMonitorA | Retrieves configuration details for a specific monitor by ID (URL, check interval, notification settings, etc.). Use this when you need to examine or modify settings for a specific monitor. For current status, use getMonitorSummary instead. By default returns only common fields plus runtime data (uptime, avgPing); set includeTypeSpecificFields to true to include type-specific fields (e.g., url for HTTP, hostname/port for TCP). |
| listMonitorsA | Retrieves configuration details for all monitors (URLs, check intervals, notification settings, etc.). Use this when you need to examine or modify monitor settings. For status checks ("how is everything doing?", "what's down?"), use getMonitorSummary instead. By default returns only common fields plus runtime data (uptime, avgPing); set includeTypeSpecificFields to true to include type-specific fields (e.g., url for HTTP, hostname/port for TCP). Supports filtering by keywords, type, active/maintenance status, and tags. |
| listMonitorTypesA | Returns a list of all available monitor types supported by Uptime Kuma. Use this to discover valid values for type filters in other tools. |
| getMonitorSummaryA | START HERE for status overview questions. Retrieves current status for all monitors showing UP/DOWN/PENDING/MAINTENANCE states with the most recent heartbeat message. Use this when asked "how is everything doing?", "what's down?", "what's up?", or for any general status overview. Returns essential information (ID, name, pathName, active state, maintenance state, status, message, type, tags). Supports filtering by keywords, type, active/maintenance status, tags, and current status. |
| getHeartbeatsA | Retrieves historical heartbeat data for a specific monitor (response times, status changes over time). Use this for analyzing patterns or history for one monitor. By default returns only the most recent heartbeat; set maxHeartbeats (up to 100) for historical analysis. Keep maxHeartbeats ≤10 unless user requests more. Credentials embedded in a status message URL (user:pass@host) read "***" unless includeSecrets is set. |
| getSettingsA | Retrieves the current Uptime Kuma server settings including timezone, authentication status, primary base URL, and other configuration options. |
| listHeartbeatsA | Retrieves historical heartbeat data for ALL monitors (response times, status changes over time). Use this for analyzing patterns across multiple monitors or correlating events. By default returns only the most recent heartbeat per monitor; set maxHeartbeats (up to 100) for historical analysis. Keep maxHeartbeats ≤5 unless user requests more. Credentials embedded in a status message URL (user:pass@host) read "***" unless includeSecrets is set. |
| pauseMonitorA | Pauses a monitor, stopping it from performing checks. The monitor will remain in the system but will not send notifications or collect data until resumed. |
| resumeMonitorA | Resumes a paused monitor, restarting all checks. Use this to re-enable monitoring after pausing. |
| createMonitorA | Creates a new monitor in Uptime Kuma. Requires at minimum a name and type. Use listMonitorTypes to see supported types. For HTTP monitors include url; for TCP/port monitors include hostname and port; for json-query include url, jsonPath, jsonPathOperator and expectedValue. A push monitor is given a generated push token (Uptime Kuma only generates one in its own web UI) and the resulting ping URL is returned. timeout defaults to 0.8 x interval seconds for polled types. |
| updateMonitorA | Updates an existing monitor configuration. You must include the monitorID. Only the fields you provide will be changed (the server merges your changes with the existing config). Use getMonitor first to get the current config. |
| deleteMonitorA | Permanently deletes a monitor and all its heartbeat history. This action cannot be undone. |
| listNotificationsA | Returns all configured notification channels (Slack, ntfy, Discord, email, webhooks, etc.). To attach a channel to a monitor you only need its id — the credentials in |
| addNotificationA | Creates a new notification channel. The configuration fields depend on the notification type (e.g., for slack: webhookURL; for ntfy: ntfyTopic, ntfyServerUrl; for discord: discordWebhookUrl). |
| updateNotificationA | Updates an existing notification channel. Use listNotifications to find the notification ID. |
| deleteNotificationA | Permanently deletes a notification channel. Monitors that used this channel will no longer send alerts through it. |
| listDockerHostsA | Returns all docker daemon connections configured in Uptime Kuma. These are referenced by docker container monitors via docker_host. |
| addDockerHostA | Creates a new docker daemon connection. For a unix socket use dockerType="socket" and dockerDaemon="/var/run/docker.sock". For a TCP proxy (e.g. tecnativa/docker-socket-proxy) use dockerType="tcp" and dockerDaemon="http://host:2375". Consider calling testDockerHost first to verify reachability. |
| updateDockerHostA | Updates an existing docker daemon connection. Use listDockerHosts to find the docker host ID. Only the fields you pass are changed — the others are preserved. |
| deleteDockerHostA | Permanently deletes a docker daemon connection. Any monitors referencing it will have their docker_host cleared by Uptime Kuma (the monitors themselves are not deleted). |
| testDockerHostA | Tests connectivity to a docker daemon without persisting it. On success the message includes the number of containers. Use this before addDockerHost to avoid saving a broken configuration. |
| listTagsA | Returns all tags defined in Uptime Kuma (name, color, and ID). |
| addTagA | Creates a new tag that can be assigned to monitors. |
| deleteTagA | Permanently deletes a tag. It will be removed from all monitors that use it. Use listTags to find the tag ID. |
| getMaintenanceWindowsA | Returns all scheduled maintenance windows defined in Uptime Kuma. |
| createMaintenanceA | Schedules a new maintenance window. During maintenance, affected monitors are suppressed and show MAINTENANCE status instead of DOWN. |
| listStatusPagesA | Returns all configured status pages with their slug, title, visibility, and custom domain settings. |
| getStatusPageA | Returns the full configuration of a status page by slug, including the ordered list of groups, the monitors inside each group, and active incidents. Only works for published status pages (fetches the public |
| createStatusPageA | Creates a new (empty) status page with the given title and slug. After creating, call updateStatusPage to set the description, theme, groups, and monitors. Slug must be lowercase letters, digits, and dashes only. |
| updateStatusPageA | Updates an existing status page. Pass the full config (title, description, theme, published, etc.) and the full publicGroupList — both are replaced wholesale. Each group has a name, weight, and monitorList of [{id}]. Use getStatusPage first to read current state before modifying. |
| deleteStatusPageA | Permanently deletes a status page by slug. The status page URL will no longer be accessible. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/DavidFuchs/mcp-uptime-kuma'
If you have feedback or need assistance with the MCP directory API, please join our Discord server