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
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
Install
- Works in
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-stdioLocal stdio mode; the volume and socket are needed for reading data and logs.
Access and checks
How we reviewExtended 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 brokeMCP
- 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.
Related
MCP serversAn MCP server in Go: an agent reads pods, logs and events of a Kubernetes cluster, changes resources and runs commands in pods
MCP server for managing Docker in natural language: containers, images, networks and volumes, including remote hosts over SSH
A secure MCP runtime through which an agent operates local machines, servers and containers
A Docker MCP server: agents inspect containers and logs, restarts need a flag and a deny list, variable values stay hidden.
A self-hosted gateway that merges several MCP servers into one endpoint with auth and tool selection
The built-in OneUptime MCP: an agent works incidents, reads logs and traces, acknowledges alerts and sets up monitors.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| maintenant (this card) | no | OAuth | 548 | |
| Docker MCP server | no | not required | 756 | manages Docker in natural language: containers, images, networks and volumes, with no monitoring or alerts |
| Kubernetes MCP Server | no | not required | 2,244 | works 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.