Skip to main content
Glama
SirTificate

vibeMK-MCP

by SirTificate

vibeMK-MCP πŸš€

CheckMK Monitoring via LLM - Professional MCP Server

Python 3.9+ CheckMK 2.4 License: GPL v3 MCP Compatible No Dependencies Code style: black

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 language

Complete 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.yaml

That 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 -v

Checkmk 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! πŸŽ‰

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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
    -
  • A
    license
    C
    quality
    D
    maintenance
    Enables complete management of CheckMK monitoring environments through natural language, including live monitoring, downtime scheduling, problem management, and configuration.
    115
    17
    GPL 3.0
  • A
    license
    C
    quality
    B
    maintenance
    Enables natural language interaction with Thruk monitoring systems, allowing users to query hosts/services, schedule downtimes, acknowledge problems, and more via MCP-compatible clients.
    65
    1
    MIT