Skip to main content
Glama
chexma
by chexma
README.md
# vibeMK ๐Ÿš€

**CheckMK Monitoring via LLM - Professional MCP Server**

[![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/)
[![CheckMK 2.1+](https://img.shields.io/badge/CheckMK-2.1+-green.svg)](https://checkmk.com/)
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-purple.svg)](https://spec.modelcontextprotocol.io/)
[![No Dependencies](https://img.shields.io/badge/dependencies-none-brightgreen.svg)](https://github.com/your-username/vibemk)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Typed](https://img.shields.io/badge/typed-mypy-blue.svg)](https://mypy-lang.org/)

## ๐ŸŽฏ 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

```bash
1. git clone https://github.com/chexma/vibeMK.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](INSTALL.md) for detailed step-by-step instructions.
**More Examples**: See `examples/llm_configs/` and [INSTALL.md](INSTALL.md)  
**Visual Examples**: See `examples/Screenshots/` for example prompts and usage patterns  


## ๐Ÿ’ก Practical Prompt Examples

```bash
# 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.4.x** | โœ… Full     | All features available |
| **2.3.x** | โœ… Full     | All features available |
| **2.2.x** | โš ๏ธ Untested | |
| **2.1.x** | โš ๏ธ Untested | |
| **2.0.x** | โš ๏ธ Untested | |
| **1.6.x** | ๐Ÿ”ด Unsupported| | 

## Checkmk Edition Support

- **Raw Edition**: Basic functions available
- **Enterprise Edition**: All features including BI, Agent Bakery, Metrics
- **Cloud Edition**: All Enterprise features

## Security considerations

- 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](LICENSE).

---

**Happy Monitoring with CheckMK and LLMs!** ๐ŸŽ‰

TDQS

C2.6/5.0

Scored across 111 tools

Disambiguation2/5

Many tools have overlapping or ambiguous purposes, such as get_rulesets, list_rulesets, show_ruleset, and search_rulesets, which could confuse an agent. The distinction between 'debug', 'test', and 'get' is not consistently clear.

Naming Consistency2/5

Tool names mix verbs like 'get', 'list', 'show', 'search', 'debug', and 'test' without a consistent pattern. Also, some use 'create' while others use 'add' (e.g., add_comment vs create_rule), and 'bulk' variants are not uniformly named.

Tool Count2/5

111 tools is excessive for a single MCP server, even for a complex system like CheckMK. Many tools are redundant or could be combined, making the surface area overwhelming and prone to errors.

Completeness3/5

The toolset covers many major CheckMK domains (hosts, services, groups, rules, downtimes, metrics), but there are inconsistencies and gaps, such as missing update operations for some entities (e.g., no update for host groups beyond creation/deletion) and redundancy in discovery tools.

Maintenance

ActivityInactive
ResponsivenessUnresponsive