vibeMK — Claude Code MCP server: what it does and setup
vibeMK connects Claude Code to CheckMK for monitoring queries, metrics, rules, problems, and maintenance windows. It works through natural-language requests.
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 vibemkWhat vibeMK 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.
What it helps with
- 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 for the agent
- Show the state of host
web-server-05and its services. - Schedule a two-hour downtime for
Check_MKoncephnode01, starting tomorrow at 22:00. - Compare the
response_timemetric forHTTPS Webserviceacross two hosts over the last ten minutes.
How to install vibeMK
Platform CLI
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 vibemkReplace <…> 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>
Platform CLI
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 vibemkReplace <…> 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>
Config file
{
"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>
Config file
{
"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>
Platform CLI
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 vibemkReplace <…> 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>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about vibeMK
How do I install vibeMK in Claude Code?
Run `claude mcp add vibemk -e CHECKMK_SERVER_URL=<CHECKMK_SERVER_URL> -e CHECKMK_SITE=<CHECKMK_SITE> -e CHECKMK_USERNAME=<CHECKMK_USERNAME> -e CHECKMK_PASSWORD=<CHECKMK_PASSWORD> -- uvx vibemk`, then start Claude Code.
What does vibeMK do?
It connects Claude Code with CheckMK so the model can query states and metrics, handle incidents and downtimes, and work with monitoring configuration through natural-language requests.
Which CheckMK versions work with vibeMK?
Full support covers CheckMK 2.3.x, 2.4.x, and 2.5.x. CheckMK 2.2.x and older versions are unsupported.