{"name":"io.github.DavidFuchs/mcp-uptime-kuma","slug":"davidfuchs-mcp-uptime-kuma","title":null,"description":"A Model Context Protocol (MCP) server for Uptime Kuma version 2.","url":"https://mcp.market/server/davidfuchs-mcp-uptime-kuma","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":44,"stars":49,"forks":21,"downloads_week":357,"last_push_at":"2026-09-13T15:06:57.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/DavidFuchs/mcp-uptime-kuma","website":null,"version":"0.11.18","remotes":[],"packages":[{"registryType":"npm","identifier":"@davidfuchs/mcp-uptime-kuma","version":"0.11.18","transport":{"type":"stdio"},"environmentVariables":[{"description":"The URL of your Uptime Kuma instance","isRequired":true,"format":"string","name":"UPTIME_KUMA_URL"},{"description":"Your Uptime Kuma username (not required if using JWT token authentication or if authentication is disabled)","format":"string","name":"UPTIME_KUMA_USERNAME"},{"description":"Your Uptime Kuma password (not required if using JWT token authentication or if authentication is disabled)","format":"string","isSecret":true,"name":"UPTIME_KUMA_PASSWORD"},{"description":"Your 2FA token (only required if two-factor authentication is enabled on your account)","format":"string","isSecret":true,"name":"UPTIME_KUMA_2FA_TOKEN"},{"description":"Your JWT token for authentication (takes precedence over username/password if provided)","format":"string","isSecret":true,"name":"UPTIME_KUMA_JWT_TOKEN"},{"description":"JSON object of extra HTTP headers sent on every request to Uptime Kuma, for reaching it through an authenticating proxy such as Cloudflare Access (e.g. {\"CF-Access-Client-Id\":\"...\",\"CF-Access-Client-Secret\":\"...\"})","format":"string","isSecret":true,"name":"UPTIME_KUMA_HEADERS"}]}],"tools":[{"name":"addDockerHost","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"addNotification","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"addTag","description":"Creates a new tag that can be assigned to monitors.","write_action":false,"price_micros":0,"input_schema":null},{"name":"createMaintenance","description":"Schedules a new maintenance window. During maintenance, affected monitors are suppressed and show MAINTENANCE status instead of DOWN.","write_action":false,"price_micros":0,"input_schema":null},{"name":"createMonitor","description":"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 i","write_action":false,"price_micros":0,"input_schema":null},{"name":"createStatusPage","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"deleteDockerHost","description":"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).","write_action":false,"price_micros":0,"input_schema":null},{"name":"deleteMonitor","description":"Permanently deletes a monitor and all its heartbeat history. This action cannot be undone.","write_action":false,"price_micros":0,"input_schema":null},{"name":"deleteNotification","description":"Permanently deletes a notification channel. Monitors that used this channel will no longer send alerts through it.","write_action":false,"price_micros":0,"input_schema":null},{"name":"deleteStatusPage","description":"Permanently deletes a status page by slug. The status page URL will no longer be accessible.","write_action":false,"price_micros":0,"input_schema":null},{"name":"deleteTag","description":"Permanently deletes a tag. It will be removed from all monitors that use it. Use listTags to find the tag ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"getHeartbeats","description":"Retrieves historical heartbeat data for a specific monitor (response times, status changes over time). Use this for analyzing patterns or history for one monitor. Beats are returned NEWEST-FIRST. By default returns only the most recent heartbeat; set maxHeartbeats (up to 100) for historical analysis. Keep maxHeartbeats ≤10 unless user requests more. Set important:true for the status CHANGES only (","write_action":false,"price_micros":0,"input_schema":null},{"name":"getMaintenanceWindows","description":"Returns all scheduled maintenance windows defined in Uptime Kuma.","write_action":false,"price_micros":0,"input_schema":null},{"name":"getMonitor","description":"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","write_action":false,"price_micros":0,"input_schema":null},{"name":"getMonitorSummary","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"getSettings","description":"Retrieves the current Uptime Kuma server settings including timezone, authentication status, primary base URL, and other configuration options.","write_action":false,"price_micros":0,"input_schema":null},{"name":"getStatusPage","description":"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 `/api/status-page/{slug}` endpoint).","write_action":false,"price_micros":0,"input_schema":null},{"name":"listDockerHosts","description":"Returns all docker daemon connections configured in Uptime Kuma. These are referenced by docker container monitors via docker_host.","write_action":false,"price_micros":0,"input_schema":null},{"name":"listHeartbeats","description":"Retrieves historical heartbeat data for ALL monitors (response times, status changes over time). Use this for analyzing patterns across multiple monitors or correlating events. Beats are returned NEWEST-FIRST. 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","write_action":false,"price_micros":0,"input_schema":null},{"name":"listMonitorTypes","description":"Returns a list of all available monitor types supported by Uptime Kuma. Use this to discover valid values for type filters in other tools.","write_action":false,"price_micros":0,"input_schema":null},{"name":"listMonitors","description":"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 fi","write_action":false,"price_micros":0,"input_schema":null},{"name":"listNotifications","description":"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 `config` are withheld by default and the names of the withheld fields are listed in `redactedConfigKeys`.","write_action":true,"price_micros":0,"input_schema":null},{"name":"listStatusPages","description":"Returns all configured status pages with their slug, title, visibility, and custom domain settings.","write_action":false,"price_micros":0,"input_schema":null},{"name":"listTags","description":"Returns all tags defined in Uptime Kuma (name, color, and ID).","write_action":false,"price_micros":0,"input_schema":null},{"name":"pauseMonitor","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"resumeMonitor","description":"Resumes a paused monitor, restarting all checks. Use this to re-enable monitoring after pausing.","write_action":false,"price_micros":0,"input_schema":null},{"name":"testDockerHost","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"updateDockerHost","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"updateMonitor","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"updateNotification","description":"Updates an existing notification channel. Use listNotifications to find the notification ID.","write_action":false,"price_micros":0,"input_schema":null},{"name":"updateStatusPage","description":"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.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-19T20:16:06.173Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T20:16:06.128Z","components":{"code":{"score":25,"max":25,"notes":["47 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 6 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@davidfuchs/mcp-uptime-kuma","version":"0.11.18","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":10,"publishedAt":"2026-09-11T06:06:16.795Z","repositoryUrl":"git+https://github.com/DavidFuchs/mcp-uptime-kuma.git","weeklyDownloads":357}],"repo":{"found":true,"owner":"DavidFuchs","repo":"mcp-uptime-kuma","archived":false,"pushedAt":"2026-09-13T15:06:57Z","stars":49,"forks":21,"openIssues":2,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/749615?v=4","ownerCreatedAt":"2011-04-25T03:24:32Z","license":"MIT"},"icon":{"url":"https://avatars.githubusercontent.com/u/749615?v=4&s=128","source":"registry","width":128,"height":128},"presence":{"stars":49,"forks":21,"downloadsWeek":357,"license":"MIT","lastPushAt":"2026-09-13T15:06:57.000Z","score":44}}}},"grade_history":[],"reviews":[]}