Overview
What is Uptime Kuma MCP Server?
It is a FastMCP server that acts as an intermediary to interact with an Uptime Kuma instance. It exposes tools to manage monitors, tags, status pages, and retrieve heartbeat data.
How to use Uptime Kuma MCP Server?
Install dependencies, configure environment variables (KUMA_URL, KUMA_USERNAME, KUMA_PASSWORD) in a .env file, and run python main.py in STDIO mode. To use SSE mode, modify the __main__ block to call main_sse() and set MCP_HOST/MCP_PORT.
Key features of Uptime Kuma MCP Server
- Provides tools for full CRUD on monitors.
- Supports adding, editing, pausing, and resuming monitors.
- Retrieves heartbeats and status pages.
- Manages tags on monitors.
- Runs in both STDIO and SSE modes.
Use cases of Uptime Kuma MCP Server
- Automating monitor creation and deletion from external scripts.
- Integrating Uptime Kuma with AI assistants via MCP.
- Programmatically pausing/resuming monitors during maintenance windows.
- Retrieving heartbeat data for analysis or alerting pipelines.
FAQ from Uptime Kuma MCP Server
What Python version is required?
Python 3.7+ is required due to asyncio.get_running_loop().
What environment variables are needed?
KUMA_URL, KUMA_USERNAME, and KUMA_PASSWORD must be set for the server to start.
How does the server handle synchronous API calls?
It wraps the synchronous uptime-kuma-api calls in loop.run_in_executor to avoid blocking the async event loop.
Does the server support authentication or custom transports?
No authentication or custom transports are mentioned. Communication uses STDIO or SSE based on mode.