Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Centreon Mcp Go

БесплатноНе проверен

MCP server for Centreon monitoring — 73 tools for hosts, services, downtimes, acknowledgements, and platform administration

GitHubEmbed

Описание

MCP server for Centreon monitoring — 73 tools for hosts, services, downtimes, acknowledgements, and platform administration

README

An MCP (Model Context Protocol) server for Centreon monitoring, written in Go.

Exposes 88 tools covering real-time monitoring, host and service configuration, downtime and acknowledgement management, infrastructure, users, and notifications. Integrates with any MCP-compatible AI client such as Claude Code or Claude Desktop.

Features

  • 88 tools across 11 categories: monitoring, operations, downtimes, acknowledgements, host config, service config, infrastructure, users, notifications, platform status, and connection testing
  • Three transport modes: stdio (default), HTTP (streamable), and HTTP gateway mode
  • Structured JSON logging via log/slog with configurable levels
  • Gateway mode with token cache: per-request Centreon credentials via HTTP headers, with a 50-minute token cache to avoid repeated logins
  • Self-signed certificate support: opt-in via CENTREON_ALLOW_SELF_SIGNED

Requirements

  • Go 1.26 or later
  • A Centreon instance with REST API v2 access
  • API credentials (username/password or API token)

Installation

go install

go install github.com/tphakala/centreon-mcp-go@latest

Build from source

git clone https://github.com/tphakala/centreon-mcp-go
cd centreon-mcp-go
go build -o centreon-mcp-go .

Container (Podman / Docker)

# Build the image (or: task image:build)
podman build -t centreon-mcp .

# Run in HTTP mode
podman run -d \
  -e CENTREON_HOST=https://centreon.example.com \
  -e CENTREON_USERNAME=apiuser \
  -e CENTREON_PASSWORD=secret \
  -e MCP_TRANSPORT=http \
  -p 8080:8080 \
  centreon-mcp

Configuration

All configuration is via environment variables.

Variable Required Default Description
CENTREON_HOST Yes (none) Centreon server base URL (e.g. https://centreon.example.com)
CENTREON_USERNAME * (none) Username for session-based authentication
CENTREON_PASSWORD * (none) Password for session-based authentication
CENTREON_TOKEN * (none) API token (alternative to username + password)
CENTREON_ALLOW_SELF_SIGNED No false Accept self-signed TLS certificates
MCP_TRANSPORT No stdio Transport mode: stdio or http
MCP_HTTP_PORT No 8080 HTTP listen port (HTTP transport only)
MCP_HTTP_HOST No 0.0.0.0 HTTP listen address (HTTP transport only)
AUTH_MODE No env Authentication mode: env or gateway
LOG_LEVEL No info Log level: debug, info, warn, or error

* Either CENTREON_TOKEN or both CENTREON_USERNAME and CENTREON_PASSWORD must be set. In gateway auth mode, credentials are supplied per-request via headers instead.

Usage with Claude Code

Add the server to your Claude Code settings (typically ~/.claude/settings.json):

{
  "mcpServers": {
    "centreon": {
      "command": "centreon-mcp-go",
      "env": {
        "CENTREON_HOST": "https://centreon.example.com",
        "CENTREON_USERNAME": "apiuser",
        "CENTREON_PASSWORD": "secret"
      }
    }
  }
}

To use an API token instead:

{
  "mcpServers": {
    "centreon": {
      "command": "centreon-mcp-go",
      "env": {
        "CENTREON_HOST": "https://centreon.example.com",
        "CENTREON_TOKEN": "your-api-token"
      }
    }
  }
}

Usage with Claude Desktop

Add the server to claude_desktop_config.json (location varies by OS, so check the Claude Desktop documentation):

{
  "mcpServers": {
    "centreon": {
      "command": "/usr/local/bin/centreon-mcp-go",
      "env": {
        "CENTREON_HOST": "https://centreon.example.com",
        "CENTREON_USERNAME": "apiuser",
        "CENTREON_PASSWORD": "secret"
      }
    }
  }
}

HTTP Transport Mode

HTTP mode runs the server as a persistent process with a Streamable HTTP endpoint at /mcp and a health endpoint at /health.

export CENTREON_HOST=https://centreon.example.com
export CENTREON_USERNAME=apiuser
export CENTREON_PASSWORD=secret
export MCP_TRANSPORT=http
export MCP_HTTP_PORT=8080
./centreon-mcp-go

Health check:

curl http://localhost:8080/health
# {"authMode":"env","status":"ok","transport":"http","version":"dev"}

Configure your MCP client to connect to http://localhost:8080/mcp.

Gateway Mode

Gateway mode is for multi-tenant or shared deployments where each request carries its own Centreon credentials. The server creates a per-request Centreon client authenticated with the supplied credentials.

Enable it with AUTH_MODE=gateway alongside MCP_TRANSPORT=http. In this mode, CENTREON_HOST, CENTREON_USERNAME, CENTREON_PASSWORD, and CENTREON_TOKEN are not required at startup; they are provided per request via HTTP headers.

Header Description
X-Centreon-Host Required. Centreon server URL
X-Centreon-Username Username (use with X-Centreon-Password)
X-Centreon-Password Password (use with X-Centreon-Username)
X-Centreon-Token API token (alternative to username + password)

Acquired session tokens are cached for 50 minutes per (host, username) pair to avoid repeated logins.

Note: Deploy behind a reverse proxy (nginx, Caddy, Traefik, etc.) in production. Do not expose gateway mode directly to untrusted clients, as it accepts arbitrary Centreon credentials.

export MCP_TRANSPORT=http
export AUTH_MODE=gateway
./centreon-mcp-go

Tool Reference

File Category Count Example tools
monitoring_tools.go Real-time monitoring 10 centreon_monitoring_host_list, centreon_monitoring_service_list, centreon_monitoring_resource_list
operations_tools.go Bulk resource operations 5 centreon_resource_acknowledge, centreon_resource_downtime, centreon_resource_check
downtime_tools.go Downtime management 9 centreon_downtime_list, centreon_downtime_host_create, centreon_downtime_service_cancel
acknowledgement_tools.go Acknowledgements 8 centreon_acknowledgement_list, centreon_acknowledgement_host_create, centreon_acknowledgement_service_cancel
host_config_tools.go Host configuration 21 centreon_host_create, centreon_host_group_list, centreon_host_template_list
service_config_tools.go Service configuration 16 centreon_service_create, centreon_service_group_list, centreon_service_template_list
infra_tools.go Infrastructure 9 centreon_server_list, centreon_command_list, centreon_poller_apply, centreon_poller_apply_all
user_tools.go Users and contacts 6 centreon_user_list, centreon_contact_group_list, centreon_user_filter_create
notification_tools.go Notification policies 2 centreon_notification_policy_host_get, centreon_notification_policy_service_get
status_tools.go Platform status 1 centreon_platform_status
connection_tools.go Connection testing 1 centreon_connection_test

Total: 88 tools

Centreon API Permissions

The Centreon user account used by this server requires access to the Centreon REST API v2. The required permissions depend on which tools you use:

  • Read-only monitoring (list/get tools): standard user access with monitoring visibility
  • Acknowledgements and downtimes: permission to create and cancel acknowledgements and downtimes on monitored resources
  • Configuration tools (host_create, service_create, etc.): configuration administrator access
  • User/contact management: user administration access
  • Platform status: administrator or operator access

For a minimal read-only deployment, a standard monitoring user with API access is sufficient. For full tool coverage, an administrator account is recommended.

Development

This project uses Task for development commands.

Command Description
task check Run all local checks: fmt, tidy, vet, lint, test
task ci Full CI pipeline: check then build
task go:build Build the binary
task go:run Run the server in stdio mode
task go:test Run tests with race detector
task go:lint Run golangci-lint
task go:fmt Format code with goimports
task go:tidy Tidy go modules
task go:clean Remove build artifacts
task image:build Build container image (default: podman)

To use Docker instead of Podman for image builds:

task image:build CONTAINER_TOOL=docker

License

Apache-2.0. See LICENSE for details.

from github.com/tphakala/centreon-mcp-go

Установка Centreon Mcp Go

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/tphakala/centreon-mcp-go

FAQ

Centreon Mcp Go MCP бесплатный?

Да, Centreon Mcp Go MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Centreon Mcp Go?

Нет, Centreon Mcp Go работает без API-ключей и переменных окружения.

Centreon Mcp Go — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Centreon Mcp Go в Claude Desktop, Claude Code или Cursor?

Открой Centreon Mcp Go на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Centreon Mcp Go with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development