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.
Using natural language, you can ask the Centreon MCP server to:
- 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.
- 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.
- 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.
- Retrieve a service's metrics along with their current values and warning/critical thresholds.
- 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.
- Clone the repository
git clone https://github.com/centreon/centreon-mcp.git
cd centreon-mcp-
Set up authentication by choosing a plugin and setting its environment variables, as described in the Authentication section.
-
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_SECUREtoFalsedisables TLS certificate verification and is not recommended in production.
If
CENTREON_CA_BUNDLEisNone, the system default CA store is used to verify the TLS certificate. IfCENTREON_CA_BUNDLEis 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
- Start the MCP server
uv run centreon-mcp-server- If the MCP server is not reachable from the internet, expose it using a tunneling tool such as Ngrok:
ngrok http 8000Replace
8000with the value ofCENTREON_MCP_PORTif you changed the default.
- Build Docker image
docker build -t centreon/mcp .- Start the MCP server
docker compose up- To make it reachable from the internet, export
NGROK_AUTHTOKENin the environment and enablengrokprofile.
docker compose --profile ngrok upUse
curl http://localhost:4040/api/tunnelsto retrieve public URL
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.
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_URLis not set.
A token sent by the MCP client in the
centreon-api-tokenheader takes precedence overCENTREON_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.
ChatGPT
- Open ChatGPT and sign in.
- Click on your profile picture in the bottom-left corner, then select Settings.
- Go to the Connectors section and click Create.
- 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-tokenheader. This token takes precedence over the token specified through theCENTREON_API_TOKENenvironment variable.
- Name:
- 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
- Open Le Chat and sign in.
- Click on Intelligence in the left sidebar, then select Connectors.
- Click Add a connector, then choose Custom MCP connector.
- 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-tokenheader. This token takes precedence over the token specified through theCENTREON_API_TOKENenvironment variable.
- Name:
- 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
8000with the value ofCENTREON_MCP_PORTif you changed the default.
Don't set
-H "centreon-api-token: <token>"to use token specified through theCENTREON_API_TOKENenvironment variable instead.
List configured MCP servers and confirm centreon is present:
/mcp list