vibeMK-MCP
Provides tools for managing a Checkmk monitoring environment, including live host and service status, performance metrics, downtimes, problem acknowledgements, and configuration of folders, rules, time periods, host groups, and users.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@vibeMK-MCPSchedule a 1-hour downtime on all hosts in the 'Servers' folder"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
vibeMK-MCP π
CheckMK Monitoring via LLM - Professional MCP Server
A maintained continuation of chexma/vibeMK by Andre, whose last release was in August 2025. This fork keeps the project going: it carries the original work forward under the same GPL-3.0 licence, preserves its history and authorship, and adds fixes verified against the OpenAPI document a CheckMK site publishes for itself. Tool names are unchanged (
vibemk_*), so existing client configurations keep working, with the exception of the three tools listed under Verification. If the original author resumes, everything here is offered back.
π― 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.
Related MCP server: Linuxfabrik MCP Server for Icinga
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. git clone https://github.com/SirTificate/vibemk-mcp.git
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 languageComplete Installation Guide: See INSTALL.md for detailed step-by-step instructions.
More Examples: See examples/llm_configs/ and INSTALL.md
Visual Examples: See examples/Screenshots/ for example prompts and usage patterns
π‘ 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 | Status | Notes |
2.4.x | β Verified | All 104 endpoint calls checked against the API document of a 2.4.0p36 Raw site; read-only tools additionally exercised against it |
2.3.x | β οΈ Expected to work | Same REST API version (1.0), not re-verified since the fork |
2.2.x and older | π΄ Unsupported |
The REST API is served at version 1.0 up to and including CheckMK 2.4. CheckMK 2.5 introduces a
versioned v1 path that is compatible with 1.0; support for it is not implemented yet.
π How this is verified
A test suite that mocks the HTTP client cannot tell whether an endpoint exists β a call to a path CheckMK does not serve looks exactly like one that works. Seven calls in this codebase turned out to have nothing behind them, and no test had ever noticed.
Every endpoint call is now checked against the OpenAPI document the site publishes for itself:
{server_url}/check_mk/api/1.0/openapi-doc.yamlThat document carries the exact version and edition, so it cannot describe an endpoint a given site does not have. All 104 calls match a path and a verb that 2.4.0p36 Raw serves.
Three tools were removed rather than left to fail quietly, because CheckMK's REST API offers no
equivalent: vibemk_reschedule_check, vibemk_get_custom_graph and vibemk_search_metrics. 114
tools remain.
There is also a read-only smoke test against a live instance, behind LIVE_SMOKE_TEST=true and
deliberately kept out of CI:
LIVE_SMOKE_TEST=true python -m pytest tests/test_live_smoke.py -vCheckmk Edition Support
All features in this server use REST API endpoints that CheckMK registers for every edition, including Raw (CRE). That includes Business Intelligence and the Event Console, which the original README listed as Enterprise-only β a mistake this fork corrects.
The one genuine edition restriction is the Agent Bakery (agent endpoints), which exists only in
the Enterprise and Cloud editions. It is not currently implemented here.
Security considerations
This lets a language model create and delete hosts, rules and users in your monitoring, and "activate changes" is a real button.
Start with a read-only automation user. Widen the role later, once you have seen what the model actually does with it. A custom role scoped to what you need beats an Administrator account.
Keep the log. Every tool call is recorded at INFO with its name β that log is the only record of what the model did. Arguments are deliberately not logged, since they carry host names, comment text and, for the password tools, secrets.
Check the CheckMK audit log after the first few sessions. It sees the changes from the other side.
Use at your own risk. No liability is accepted for actions performed by an AI.
To report a security issue, see SECURITY.md.
π License
This project is licensed under the GNU General Public License v3.0.
Happy Monitoring with CheckMK and LLMs! π
This server cannot be deployed
Maintenance
Related MCP Connectors
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Connect AI assistants to Xitoring monitoring: servers, uptime, incidents, metrics, SSL, and alerts.
- sentinelOAuthio.rootstuff
Uptime, SSL, DNS and domain monitoring you can talk to from Claude or any MCP client.
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables AI assistants to interact with Uptime Agent monitoring system to check uptime status, manage incidents, create new monitors, and analyze downtime through natural conversation.71-
- AlicenseNot gradedqualityBmaintenanceEnables AI clients like Claude to triage, investigate, and operate Icinga installations through natural language, integrating with Icinga's REST APIs and providing deep awareness of monitoring plugins and historical performance data.5-
- AlicenseCqualityDmaintenanceEnables complete management of CheckMK monitoring environments through natural language, including live monitoring, downtime scheduling, problem management, and configuration.11517GPL 3.0
- AlicenseCqualityBmaintenanceEnables natural language interaction with Thruk monitoring systems, allowing users to query hosts/services, schedule downtimes, acknowledge problems, and more via MCP-compatible clients.651MIT