About vibeMK
vibeMK is an MCP server for managing and inspecting CheckMK monitoring through natural-language LLM clients. It covers live status, incidents, configuration, users, and downtimes, and can run locally over stdio or centrally over authenticated Streamable HTTP.
Key features
- 01Host and service status with metrics
- 02Downtime and acknowledgement management
- 03Folders, rules, schedules, and host groups
- 04User, contact group, and tag management
- 05Read-only mode for analysis
Use cases
- 01Review current host and service issues
- 02Schedule maintenance downtime
- 03Create monitoring rules and host groups
- 04Inspect CheckMK in read-only mode
MCP support
Exposes CheckMK monitoring and configuration operations as tools for MCP clients. It supports local stdio and authenticated Streamable HTTP connections.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
uvx vibemkCHECKMK_SERVER_URLCheckMK server URL, e.g. https://monitoring.example.comCHECKMK_SITECheckMK site name, e.g. cmkCHECKMK_USERNAMECheckMK automation userCHECKMK_PASSWORDSecretAutomation secret of that userCHECKMK_VERIFY_SSLVerify the server's TLS certificateNEVER_ACTIVATE_CHANGESNever activate configuration changes in CheckMKVIBEMK_READ_ONLYOffer only the tools that read and refuse every writeLocal servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
154Saved tool list · updated 2w ago
This tool takes no parameters.
Details
From the project READMEvibeMK 🚀
CheckMK Monitoring via LLM - Professional MCP Server
🎯 Overview
vibeMK enables complete management of your CheckMK monitoring environment directly through LLM interfaces using natural language. This project is in the alpha stage and under development. I accept no liability for any damage resulting from the use of this software.
vibeMK - Current Features
Live Monitoring ✅
- Host Status: Real-time host state (UP/DOWN/UNREACHABLE) with hard state detection
- Service Status: Live service monitoring (OK/WARNING/CRITICAL/UNKNOWN)
- Performance Metrics: Retrieve metrics data with automatic discovery
- Current Problems: Auto-detect all active monitoring issues
Downtime Management ✅
- Schedule Downtimes: Create host/service downtimes with flexible duration parsing ("2h", "1h30m")
- List & Filter: View all downtimes or filter for active ones only
Problem Management ✅
- Acknowledge Problems: Set acknowledgements for host/service issues (sticky/persistent options)
- List Acknowledgements: View all current problem acknowledgements
- Remove Acknowledgements: Delete by pattern or individual removal
Configuration Management ✅
- Folders: Create/delete monitoring folder structures
- Rules: Create rules for 2000+ CheckMK ruleset types with proper format handling
- Time Periods: Create custom notification schedules (business hours, 24/7, etc.)
- Host Groups: Organize hosts into logical groups
User & Security ✅
- User Accounts: Create/manage user accounts with role assignment
- Password Management: Set passwords with policy enforcement
- Contact Groups: Manage notification groups
- Host/Service Tags: Comprehensive tagging system
🚀 Quick Start
1. pipx install vibemk (or: uv tool install vibemk, or pip install vibemk into a virtual environment)
2. Edit the configuration file of your LLM Client, e.g. Claude Desktop - claude_desktop_config.json (See examples)
3. Start your LLM Client
4. CheckMK automation user setup (Administrator permissions or a customized role if changes are to be made, read-only if only analyses are to be performed.)
5. voila - configure checkmk using natural language
Complete Installation Guide: See INSTALL.md for detailed step-by-step instructions.
Upgrading from 0.3.x or older: git pull is not enough, see Upgrading.
More Examples: See examples/llm_configs/ and INSTALL.md
Visual Examples: See examples/Screenshots/ for example prompts and usage patterns
🔌 Running it
Locally (default). The LLM client starts vibeMK itself over stdio. Nothing to host, nothing to secure -- the client already owns the process.
Centrally. One instance can serve many clients over Streamable HTTP, so they need neither Python nor vibeMK installed:
export VIBEMK_HTTP_TOKEN="$(python -c 'import secrets; print(secrets.token_urlsafe(32))')"
vibemk --transport http --port 8765
Clients connect to http://<host>:8765/mcp and send Authorization: Bearer <token>.
The token is mandatory, and vibeMK binds to localhost unless told otherwise:
the CheckMK account lives on the server, so whoever reaches the port inherits
it. See INSTALL.md for what that means before you expose it.
💡 Practical Prompt Examples
# Add new server
"Create a new host 'web-server-05' in folder 'Servers' with IP 192.168.1.105 and discover all services"
# Schedule maintenance
"Schedule a 2-hour downtime for the service Check_MK on 'cephnode01' starting at 22:00 tomorrow for 'Debian Updates'"
# Downtimes
"show me all current scheduled downtimes."
# Metric analysis
"Compare the “response_time” metric of the “HTTPS Webservice” service of the two hosts www.google.de and www.heise.de for the last ten minutes."
# Ruleset analysis
"analyze and compare the rulesets "Filesystems (used space and growth)" and see, if there are duplicates or if rules can be combined."
Advanced Usage: See examples/ExamplePrompts.md for complex scenarios and tips
📚 Checkmk version compatibility
| CheckMK Version | Compatibility | Features |
|---|---|---|
| 2.5.x | ✅ Full | All features available, tested against 2.5.0p14 (Raw and Ultimate) |
| 2.4.x | ✅ Full | All features available |
| 2.3.x | ✅ Full | All features available |
| 2.2.x and older | 🔴 Unsupported |
Checkmk Edition Support
- Raw Edition: Fully supported, including the BI and Event Console endpoints
- Enterprise Edition: Adds the Agent Bakery and custom graphs
- Cloud Edition: All Enterprise features
Edition availability follows the operationId of each endpoint in the Checkmk
OpenAPI document: cmk.gui.cee.* is Enterprise-only, everything else is served
by every edition including Raw.
Security considerations
- To let a model look without touching, start vibeMK read-only:
--read-onlyorVIBEMK_READ_ONLY=1. Only the tools that read are offered, and a call to any other is refused before it reaches CheckMK - Be aware of the potential security risks when you unleash AI on your checkmk
- Use at your own risk
- I accept no responsibility for actions performed by an AI
📄 License
This project is licensed under the GNU General Public License v3.0.
Happy Monitoring with CheckMK and LLMs! 🎉
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.