maintenant MCP

maintenant monitoring MCP server: an agent reads container logs, check history and alerts but never touches the containers

  • 548 ★ on the repository
  • Last commit
  • Apache-2.0
MCP server

Extended access

Why this level

  • The agent reads container logs, which can hold tokens and personal data
  • The server gets the Docker socket, even if read-only, and remote mode opens a port outward
All reasons and checks

kolapsis/maintenant

Install

Manual install

claude mcp add maintenant -- docker run -i --rm -v maintenant-data:/data -v /var/run/docker.sock:/var/run/docker.sock:ro ghcr.io/kolapsis/maintenant:latest --mcp-stdio

Local stdio mode; the volume and socket are needed for reading data and logs.

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The agent reads container logs, which can hold tokens and personal data
  • The server gets the Docker socket, even if read-only, and remote mode opens a port outward

This is third-party code. Review the repository files before installing.

What it does

maintenant is a self-hosted monitor for Docker, Kubernetes and service uptime in a single Go binary. It finds containers by itself, tracks state, restarts, resources and logs, checks TLS certificates and cron jobs and sends alerts. The built-in MCP server with 51 tools gives an agent what monitoring sees: container logs, endpoint check history, CPU and memory load and the alert queue. The MCP registry describes the server as Docker monitoring for agents: logs, history and alerts, with acknowledging an alert allowed and containers left alone. The server also opens incidents. Locally it starts over stdio inside a container with the `--mcp-stdio` flag and needs a volume with the database and a read-only Docker socket. Remotely it is served at your instance's `/mcp` with `MAINTENANT_MCP` enabled and OAuth2 credentials.

Who it is for. Administrators of small Docker or Kubernetes stacks who want an agent to diagnose a service failure from logs and history while they sleep.

Good fit when

  • An alert says a container is down and the agent collects logs, check history and neighboring alerts on the same host
  • You need to know why an endpoint flaps: the agent looks at the check history over time
  • A memory leak is chased through container resource charts the agent pulls on request
  • In the morning the agent acknowledges alerts that already have a decision

Not a fit when

  • You need to restart a container or change configuration: the server reads and acknowledges alerts but does not manage containers
  • You do not run maintenant monitoring: the server works only together with its instance
  • Logs contain secrets and personal data: the agent will read them in full

Example request

Look at the active maintenant alerts, pull the container logs for the most recent one over the last 30 minutes and describe what broke

MCP

Transport
stdio, http
Authentication
OAuth

Environment variables

MAINTENANT_MCP
Set to true to enable remote MCP at the instance's `/mcp`

Limitations

The server works only with a running maintenant instance. Local mode needs read-only access to the Docker socket and a volume with the database, remote mode is enabled with `MAINTENANT_MCP=true` and OAuth2 client credentials are configured. The application's own interface and API listen with no authentication by default, so bind port 8080 to `127.0.0.1` or put a reverse proxy in front. The license is Apache-2.0 and the Pro version has a commercial license. The MCP registry version is 1.11.0.

How to disable. Remove the maintenant block from the client config and, if you enabled remote access, set `MAINTENANT_MCP=false` and revoke the OAuth2 credentials.

FAQ

How do I run maintenant?

Copy the `docker-compose.yml` from the README, run `docker compose up -d` and open http://localhost:8080. Containers are picked up automatically. For Kubernetes there are manifests: `kubectl apply -f deploy/kubernetes/`.

Which MCP tools can I give an agent as read-only?

The Claude Code example allows `list_alerts`, `get_container_logs`, `get_endpoint_history` and `get_resources`. That way the agent analyzes alerts without changing monitoring state.

Can the agent restart containers?

No, by the server's description it does not touch containers: it reads data, acknowledges alerts and opens incidents.

How does the agent receive alerts on its own?

A small Python receiver runs next to maintenant and every fired alert starts a Claude Code session that can call read-only tools only. The diagnosis is saved into the `reports` directory.

Is there an install without Docker?

Yes, for Linux with systemd there is the script `curl -fsSL https://install.maintenant.dev | sudo bash`. Endpoint, certificate and heartbeat checks work without a container runtime.

Discussion

No questions or reviews yet.

An MCP server in Go: an agent reads pods, logs and events of a Kubernetes cluster, changes resources and runs commands in pods

MCP serverBroad access382Repository stars

MCP server for managing Docker in natural language: containers, images, networks and volumes, including remote hosts over SSH

MCP serverBroad access756Repository stars

A secure MCP runtime through which an agent operates local machines, servers and containers

MCP serverBroad access1.3KRepository stars

A Docker MCP server: agents inspect containers and logs, restarts need a flag and a deny list, variable values stay hidden.

MCP serverExtended access108Repository stars

A self-hosted gateway that merges several MCP servers into one endpoint with auth and tool selection

MCP serverBroad access2.8KRepository stars
Official

The built-in OneUptime MCP: an agent works incidents, reads logs and traces, acknowledges alerts and sets up monitors.

MCP serverExtended access7.8KRepository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
maintenant (this card)noOAuth548
Docker MCP servernonot required756manages Docker in natural language: containers, images, networks and volumes, with no monitoring or alerts
Kubernetes MCP Servernonot required2,244works with cluster resources, pods and Helm directly rather than with ready-made monitoring, alerts and check history

README in short

The text promises monitoring where you drop a container and it is watched, with no PromQL or exporters. Next come a quick start with Compose and Kubernetes, installation on bare Linux, cloud-init templates, a comparison with Prometheus and Grafana and a scenario where an agent analyzes an alert through MCP.

README badge

Report a problem