Skip to content

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

7 stars

Watchers

1 watching

Forks

Centreon MCP Server

This project offers an MCP server for Centreon. Built in Python with the FastMCP library, it enables users to perform operations on a Centreon instance using natural language commands.

Features

Using natural language, you can ask the Centreon MCP server to:

Keep an eye on your infrastructure

  • Check the real-time status of your hosts and services, filtering by state, group, category, poller, and more.
  • Get an instant count of how many resources are up, down, or in trouble, without digging through dashboards.
  • Look back at what happened on a host or service recently — outages, notifications, downtimes, acknowledgements, and comments.

Manage your monitoring configuration

  • Browse, create, update, and delete hosts, services, and their categories, groups, severities, and templates.
  • Manage commands, time periods and monitoring servers (pollers).
  • Push configuration changes to your pollers by generating or reloading them on demand.

React to incidents

  • Acknowledge an alert, schedule a downtime, add a comment, or trigger an immediate check.
  • Review current acknowledgements and downtimes, and cancel them when they're no longer needed.

Analyze performance

  • Retrieve a service's metrics along with their current values and warning/critical thresholds.

Control access with pluggable authentication

  • Choose how MCP clients authenticate and which Centreon instance each request targets by selecting an authentication plugin.
  • Restrict tools by role: readers can list and inspect, editors can create, update and act on alerts, admins can also delete and push configuration to pollers.

For the exact list of underlying tools, see TOOLS.md.

Quick Start

  1. Clone the repository
git clone https://github.com/centreon/centreon-mcp.git
cd centreon-mcp
  1. Set up authentication by choosing a plugin and setting its environment variables, as described in the Authentication section.

  2. Ensure all required environment variables are set. Default values are used for optional variables.

Name Required Default Description
CENTREON_AUTH_PLUGIN False none Authentication plugin to load, see Authentication.
CENTREON_CLIENT_TIMEOUT False 30 Timeout, in seconds, for requests to the Centreon API.
CENTREON_TLS_SECURE False True Whether to verify the Centreon server's TLS certificate.
CENTREON_CA_BUNDLE False None Path to a custom CA bundle used to verify the TLS certificate.
CENTREON_MCP_HOST False localhost Network interface the MCP HTTP server binds to.
CENTREON_MCP_PORT False 8000 TCP port the MCP HTTP server listens on.
CENTREON_MCP_LOG_LEVEL False INFO Lowest severity level emitted by the MCP service logs.
CENTREON_MCP_WEBSITE_URL False None Website with more information about your server, shown in client apps.

Setting CENTREON_TLS_SECURE to False disables TLS certificate verification and is not recommended in production.

If CENTREON_CA_BUNDLE is None, the system default CA store is used to verify the TLS certificate. If CENTREON_CA_BUNDLE is set while TLS verification is enabled but the path does not exist, the server refuses to start.

Available log level for Centreon service are: DEBUG, INFO, WARNING, ERROR, CRITICAL

Using UV

  1. Start the MCP server
uv run centreon-mcp-server
  1. If the MCP server is not reachable from the internet, expose it using a tunneling tool such as Ngrok:
ngrok http 8000

Replace 8000 with the value of CENTREON_MCP_PORT if you changed the default.

Using Docker

  1. Build Docker image
docker build -t centreon/mcp .
  1. Start the MCP server
docker compose up
  1. To make it reachable from the internet, export NGROK_AUTHTOKEN in the environment and enable ngrok profile.
docker compose --profile ngrok up

Use curl http://localhost:4040/api/tunnels to retrieve public URL

Authentication

Authentication is handled by a plugin, selected with the CENTREON_AUTH_PLUGIN environment variable. The plugin decides:

  • how MCP clients authenticate to the MCP server;
  • which Centreon instance, and with which API token, each request targets;
  • which role the user is granted, and therefore which tools they can call.
Role Granted tools
READER List, get and count tools.
EDITOR READER tools, plus create/update tools and setting or cancelling monitoring actions.
ADMIN EDITOR tools, plus delete tools and poller generate/reload.

Each plugin reads its own settings from CENTREON_* environment variables, described in its section below.

none (default)

Leaves the MCP server unauthenticated and serves a single Centreon instance. Every client is granted the ADMIN role: what a client can actually do is bounded by the rights of the Centreon API token in use.

Name Required Default Description
CENTREON_BASE_URL True Base URL of the Centreon instance to connect to.
CENTREON_API_TOKEN False None Fallback API token, used when the MCP client sends none.

The server refuses to start if CENTREON_BASE_URL is not set.

A token sent by the MCP client in the centreon-api-token header takes precedence over CENTREON_API_TOKEN, so each client can act with its own Centreon rights.

Only use this plugin when the MCP server is not exposed to untrusted clients, or when every client provides its own Centreon API token.

Integration

ChatGPT
  1. Open ChatGPT and sign in.
  2. Click on your profile picture in the bottom-left corner, then select Settings.
  3. Go to the Connectors section and click Create.
  4. Fill in the form:
    • Name: Centreon (or any name you prefer)
    • URL: the address of your running MCP server, e.g. https://<ngrok-subdomain>.ngrok-free.app/mcp
    • Headers: Optionally, provide a valid Centreon API token in the centreon-api-token header. This token takes precedence over the token specified through the CENTREON_API_TOKEN environment variable.
  5. Click Save to register the connector.

Once the connector is added, ChatGPT will automatically discover and use the Centreon MCP tools in your conversations.

Mistral Le Chat
  1. Open Le Chat and sign in.
  2. Click on Intelligence in the left sidebar, then select Connectors.
  3. Click Add a connector, then choose Custom MCP connector.
  4. Fill in the form:
    • Name: Centreon (or any name you prefer)
    • URL: the address of your running MCP server, e.g. https://<ngrok-subdomain>.ngrok-free.app/mcp
    • Headers: Optionally, provide a valid Centreon API token in the centreon-api-token header. This token takes precedence over the token specified through the CENTREON_API_TOKEN environment variable.
  5. Click Save to register the connector.

Once the connector is added, Le Chat will automatically discover and use the Centreon MCP tools in your conversations.

Claude Code

Register your MCP server using the HTTP transport with the local address and Centreon API token in headers

claude mcp add -t http centreon http://localhost:8000/mcp -H "centreon-api-token: <token>"

Replace 8000 with the value of CENTREON_MCP_PORT if you changed the default.

Don't set -H "centreon-api-token: <token>" to use token specified through the CENTREON_API_TOKEN environment variable instead.

List configured MCP servers and confirm centreon is present:

/mcp list

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages