# vibeMK

vibeMK connects Claude Code to CheckMK for monitoring queries, metrics, rules, problems, and maintenance windows. It works through natural-language requests.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 19
- Author: chexma
- License: GPL-3.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/chexma/vibeMK
- Updated: 2026-10-03
- HTML: https://affpapa.org/en/nevibecode/mcp/vibemk

## What it does

vibeMK exposes CheckMK operations to an MCP client. With Claude Code, you can inspect host and service states, detect active incidents, retrieve performance metrics, and review rules. It can also schedule downtimes, acknowledge problems, manage folders and host groups, and maintain users, tags, and notification periods.

The server handles CheckMK ruleset types, including more than 2000 rule types. It can run locally over `stdio` or serve several clients through Streamable HTTP; the HTTP mode requires `VIBEMK_HTTP_TOKEN`. The setup needs Python 3.10+, CheckMK 2.3+, and a CheckMK automation account.

Write access requires administrator permissions or a tailored role. Read-only analysis can use a read-only account or `--read-only` / `VIBEMK_READ_ONLY=1`. Without `CHECKMK_SERVER_URL`, `CHECKMK_SITE`, `CHECKMK_USERNAME`, and `CHECKMK_PASSWORD`, the connection cannot be configured.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Environment variables: `CHECKMK_SERVER_URL`, `CHECKMK_SITE`, `CHECKMK_USERNAME`, `CHECKMK_PASSWORD`, `CHECKMK_VERIFY_SSL`, `NEVER_ACTIVATE_CHANGES`, `VIBEMK_READ_ONLY` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env CHECKMK_SERVER_URL=<CHECKMK_SERVER_URL> --env CHECKMK_SITE=<CHECKMK_SITE> --env CHECKMK_USERNAME=<CHECKMK_USERNAME> --env CHECKMK_PASSWORD=<CHECKMK_PASSWORD> --env CHECKMK_VERIFY_SSL=<CHECKMK_VERIFY_SSL> --transport stdio vibemk -- uvx vibemk
```
Replace <…> with your own values. 2 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from vibemk <command>

### Codex

**Platform CLI**
```bash
codex mcp add vibemk --env CHECKMK_SERVER_URL=<CHECKMK_SERVER_URL> --env CHECKMK_SITE=<CHECKMK_SITE> --env CHECKMK_USERNAME=<CHECKMK_USERNAME> --env CHECKMK_PASSWORD=<CHECKMK_PASSWORD> --env CHECKMK_VERIFY_SSL=<CHECKMK_VERIFY_SSL> -- uvx vibemk
```
Replace <…> with your own values. 2 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from vibemk <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "vibemk": {
            "command": "uvx",
            "args": [
                "vibemk"
            ],
            "env": {
                "CHECKMK_SERVER_URL": "<CHECKMK_SERVER_URL>",
                "CHECKMK_SITE": "<CHECKMK_SITE>",
                "CHECKMK_USERNAME": "<CHECKMK_USERNAME>",
                "CHECKMK_PASSWORD": "<CHECKMK_PASSWORD>",
                "CHECKMK_VERIFY_SSL": "<CHECKMK_VERIFY_SSL>"
            }
        }
    }
}
```
Replace <…> with your own values. 2 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from vibemk <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "vibemk": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "vibemk"
            ],
            "env": {
                "CHECKMK_SERVER_URL": "<CHECKMK_SERVER_URL>",
                "CHECKMK_SITE": "<CHECKMK_SITE>",
                "CHECKMK_USERNAME": "<CHECKMK_USERNAME>",
                "CHECKMK_PASSWORD": "<CHECKMK_PASSWORD>",
                "CHECKMK_VERIFY_SSL": "<CHECKMK_VERIFY_SSL>"
            }
        }
    }
}
```
Replace <…> with your own values. 2 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from vibemk <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e CHECKMK_SERVER_URL=<CHECKMK_SERVER_URL> -e CHECKMK_SITE=<CHECKMK_SITE> -e CHECKMK_USERNAME=<CHECKMK_USERNAME> -e CHECKMK_PASSWORD=<CHECKMK_PASSWORD> -e CHECKMK_VERIFY_SSL=<CHECKMK_VERIFY_SSL> vibemk uvx vibemk
```
Replace <…> with your own values. 2 more environment variables are in the server README. uvx runs the command named after the package; if the README names another one, use uvx --from vibemk <command>

## When to use it
- inspect CheckMK host and service states
- detect active monitoring problems
- schedule a maintenance window
- compare service performance metrics
- create or update CheckMK rules

## Example prompts
- Show the state of host `web-server-05` and its services.
- Schedule a two-hour downtime for `Check_MK` on `cephnode01`, starting tomorrow at 22:00.
- Compare the `response_time` metric for `HTTPS Webservice` across two hosts over the last ten minutes.

## Similar
- [GitHub](https://affpapa.org/en/nevibecode/mcp/github.md) — MCP server · ★ 33918
- [Netdata](https://affpapa.org/en/nevibecode/mcp/netdata.md) — MCP server · ★ 81115
- [Oh My Posh Validator](https://affpapa.org/en/nevibecode/mcp/oh-my-posh-validator.md) — MCP server · ★ 23643
- [Keploy](https://affpapa.org/en/nevibecode/mcp/keploy.md) — MCP server · ★ 18727
- [Coder](https://affpapa.org/en/nevibecode/mcp/coder.md) — MCP server · ★ 17160
- [mcp](https://affpapa.org/en/nevibecode/mcp/kubeshark-mcp.md) — MCP server · ★ 12109

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
