{"id":49484142,"url":"https://github.com/centreon/centreon-mcp","last_synced_at":"2026-05-01T00:02:41.819Z","repository":{"id":351496277,"uuid":"1140091206","full_name":"centreon/centreon-mcp","owner":"centreon","description":null,"archived":false,"fork":false,"pushed_at":"2026-04-23T13:41:45.000Z","size":173,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"develop","last_synced_at":"2026-04-23T15:31:47.094Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/centreon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-22T20:18:40.000Z","updated_at":"2026-04-23T13:41:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/centreon/centreon-mcp","commit_stats":null,"previous_names":["centreon/centreon-mcp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/centreon/centreon-mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/centreon%2Fcentreon-mcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/centreon%2Fcentreon-mcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/centreon%2Fcentreon-mcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/centreon%2Fcentreon-mcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/centreon","download_url":"https://codeload.github.com/centreon/centreon-mcp/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/centreon%2Fcentreon-mcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32480557,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"ssl_error","status_checked_at":"2026-04-30T13:12:06.837Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-05-01T00:02:40.880Z","updated_at":"2026-05-01T00:02:41.803Z","avatar_url":"https://github.com/centreon.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Centreon MCP Server\n\nThis project offers an MCP server for Centreon. Built in Python with the [FastMCP](https://gofastmcp.com/getting-started/welcome) library, it enables users to perform operations on a Centreon instance using natural language commands.\n\n## Features\n\nThe MCP server currently exposes 12 tools organized across five functional areas.\n\n### Resource Monitoring\n\n- **list_resources** is the central tool for querying your real-time monitoring data. It supports rich filtering across multiple dimensions simultaneously:\n- **By resource type**: filter on hosts only, services only, or both\n- **By status**: filter on OK, WARNING, CRITICAL, UNKNOWN, or PENDING states\n- **By status type**: distinguish between HARD and SOFT states\n- **By name, alias, or parent name**: substring matching on resource identifiers\n- **By output/information content**: find resources whose check output contains (or does not contain) a given string — ideal for surfacing specific error messages across your infrastructure\n- **By scope**: filter by host group, service group, host category, service category, or monitoring server (poller)\n- **Pagination and sorting**: results are paginated and sortable by host name, alias, address, or state\n\nThis combination of filters makes it possible to ask highly specific questions such as \"Show me all CRITICAL services on hosts in the 'production' host group whose output mentions 'disk full'\" and get precise, actionable results directly in the conversation.\n\nTwo dedicated counting tools provide a fast status summary without retrieving individual resources:\n- **count_hosts_by_status** — returns the total number of hosts in each state (UP, DOWN, UNREACHABLE, PENDING), optionally scoped to one or more host groups or host categories\n- **count_services_by_status** — returns the total number of services in each state (OK, WARNING, CRITICAL, UNKNOWN, PENDING), optionally scoped by host name, host group, host category, service group, or service category\n\nBoth tools accept multiple filter sets combined with OR logic, making it straightforward to answer questions like \"How many hosts are DOWN across the 'production' and 'staging' groups?\" in a single call.\n\n### Infrastructure Inventory\n\nThree read-only tools allow AI assistants to explore your monitoring topology:\n- **list_hostgroups** — List host groups, filterable by host name, alias, address, state, poller, or group ID\n- **list_servicegroups** — List service groups, filterable by host, service, host group, or poller attributes\n- **list_monitoring_servers** — List pollers, with the ability to filter by name, ID, or running status\n\nThese tools serve as natural building blocks: an AI assistant can look up the relevant groups and pollers first, then use those identifiers to scope its subsequent queries precisely.\n\n### Acknowledgements\n\nAcknowledge alerts without ever leaving your conversation:\n- **list_acknowledgements** — List current acknowledgements, with pagination and sorting (by ID, host, start time, entry time, etc.)\n- **add_acknowledgements** — Acknowledge one or more resources at once, applying a message and configuring options such as sticky acknowledgement and notifications\n- **cancel_acknowledgements** — Remove acknowledgements from one or more resources, with the option to also cancel service acknowledgements when a host is unacknowledged\n\n### Downtimes\n\nFull downtime lifecycle management through conversation:\n- **list_downtimes** — Query scheduled or active downtimes, filterable by host name, alias, address, state, poller, and downtime properties (fixed, cancelled)\n- **set_downtimes** — Schedule a downtime on one or more hosts or services, specifying start and end times, a comment, and whether the downtime is fixed or flexible\n- **cancel_downtimes** — Cancel one or more downtimes by their IDs\n\n### Comments\n\n- **add_comments** — Attach a comment to any host or service in real-time monitoring, useful for leaving context notes on an ongoing incident directly from the AI assistant\n\n## Quick Start\n\n1. Clone the repository\n\n```shell\ngit clone https://github.com/centreon/centreon-mcp.git\ncd centreon-mcp\n```\n\n2. Ensure all required environment variables are set. Default values are used for optional variables.\n\n| Name                     | Default | Description                                           |\n| ------------------------ | ------- | ----------------------------------------------------- |\n| `CENTREON_BASE_URL`      |         | Base URL of the Centreon instance.                    |\n| `CENTREON_MCP_PORT`      | `8000`  | Port used to start the Centreon MCP service.          |\n| `CENTREON_MCP_LOG_LEVEL` | `INFO`  | Minimal severity level for Centreon MCP service logs. |\n\n### Using UV \n\n3. Install dependencies and synchronize\n\n```shell\nuv sync\n```\n\n4. Start the MCP server\n\n```shell\nuv run centreon-mcp-server\n```\n\n5. If the MCP server is not reachable from the internet, expose it using a tunneling tool such as [Ngrok](https://ngrok.com):\n\n```shell\nngrok http 8000\n```\n\n\u003e Replace `8000` with the value of `CENTREON_MCP_PORT` if you changed the default.\n\n### Using Docker\n\n3. Build Docker image\n\n```shell\ndocker build -t centreon/mcp .\n```\n\n4. Start the MCP server\n\n```shell\ndocker compose up\n```\n\n5. To make it reachable from the internet, export `NGROK_AUTHTOKEN` in the environment and enable `ngrok` profile.\n\n```shell\ndocker compose --profile ngrok up\n```\n\n\u003e Use `curl http://localhost:4040/api/tunnels` to retrieve public URL\n\n## Integration\n\n\u003cdetails\u003e\n\u003csummary\u003eChatGPT\u003c/summary\u003e\n\n1. Open [ChatGPT](https://chatgpt.com) and sign in.\n2. Click on your profile picture in the bottom-left corner, then select **Settings**.\n3. Go to the **Connectors** section and click **Create**.\n4. Fill in the form:\n   - **Name**: `Centreon` (or any name you prefer)\n   - **URL**: the address of your running MCP server, e.g. `https://\u003cngrok-subdomain\u003e.ngrok-free.app/mcp`\n   - **Headers**: Add valid Centreon API token in headers under field `centreon-api-token`\n5. Click **Save** to register the connector.\n\nOnce the connector is added, ChatGPT will automatically discover and use the Centreon MCP tools in your conversations.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eMistral Le Chat\u003c/summary\u003e\n\n1. Open [Le Chat](https://chat.mistral.ai) and sign in.\n2. Click on **Intelligence** in the left sidebar, then select **Connectors**.\n3. Click **Add a connector**, then choose **Custom MCP connector**.\n4. Fill in the form:\n   - **Name**: `Centreon` (or any name you prefer)\n   - **URL**: the address of your running MCP server, e.g. `https://\u003cngrok-subdomain\u003e.ngrok-free.app/mcp`\n   - **Headers**: Add valid Centreon API token in headers under field `centreon-api-token`\n5. Click **Save** to register the connector.\n\nOnce the connector is added, Le Chat will automatically discover and use the Centreon MCP tools in your conversations.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eClaude Code\u003c/summary\u003e\n\n\nRegister your MCP server using the HTTP transport with the local address and Centreon API token in headers\n\n```shell\nclaude mcp add -t http centreon http://localhost:8000/mcp -H \"centreon-api-token: \u003ctoken\u003e\"\n```\n\n\u003e Replace `8000` with the value of `CENTREON_MCP_PORT` if you changed the default.\n\nList configured MCP servers and confirm `centreon` is present:\n\n```shell\nclaude mcp list\n```\n\n\u003c/details\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcentreon%2Fcentreon-mcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcentreon%2Fcentreon-mcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcentreon%2Fcentreon-mcp/lists"}