Nagios MCP

by PROSPIRE-TECHNOLOGY-SERVICES

438 downloads Not rated yet
GitHub

About

Nagios MCP is an MCP server for Nagios Core that integrates with the Nagios Core web‑client via its CGI binaries (statusjson.cgi and objectjson.cgi) to provide status and configuration tooling.

Explore

- Retrieves host and service status from Nagios Core.
- Fetches program status and overall health summary.
- Lists host/service group status and configurations.
- Retrieves unhandled problems, alerts, and down­times.
- Provides object configuration and dependency details.

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Nagios MCP
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install the nagios-mcp package using pip or uv. Create a YAML or JSON config file with your Nagios URL, username, and password. Start the server via uvx nagios-mcp --config (default STDIO transport) or optionally with --transport sse. Configure the server in MCP clients such as Claude Desktop, Cursor, Windsurf, Cline, or 5ire by adding the appropriate command or SSE URL.

get_host_status

Retrieves status for all hosts or a specific host.

get_service_status

Retrieves status for services using `statusjson.cgi`.

get_alerts

Retrieves current problematic host and service states (alerts).

get_program_status

Retrieves the Nagios Core program status from statusjson.cgi

get_hosts_in_group_status

Retrieves status for all hosts within a specific host group.

get_services_in_group_status

Retrieves status for all services within a specific service group.

get_services_on_host_in_group_status

Retrieves status for all the services with a specific host group.

get_overall_health_summary

Retrieves overall health summary for all the hosts and services.

get_unhandled_problems

Retrieves all the unhandled problems for all the hosts and services.

get_object_list_config

Retrieves configuration list for object types like "hosts", "services", "hostgroups", etc.

get_single_object_config

Retrieves configuration for a single specific object.

get_host_dependencies

Retrieves host dependencies for the given host.

get_service_dependencies

Retrieves service dependencies for the given host.

get_contacts_for_object

Retrieves the list of contacts to inform for an object.

get_comments

Retrieves comments based on the host and service.

get_comment_by_id

Retrieves comments for the given comment id.

get_downtimes

Retrieves the information for the downtimes in the Nagios Host Process.

get_nagios_process_info

Returns the information for the Nagios process. (Alias for get_program_status function)

| Tool Name | Tool Description |
| -------------------------------------- | ------------------------------------------------------------------------------------------ |
| get_host_status | Retrieves status for all hosts or a specific host. |
| get_service_status | Retrieves status for services using statusjson.cgi. |
| get_alerts | Retrieves current problematic host and service states (alerts). |
| get_program_status | Retrieves the Nagios Core program status from statusjson.cgi |
| get_hosts_in_group_status | Retrieves status for all hosts within a specific host group. |
| get_services_in_group_status | Retrieves status for all services within a specific service group. |
| get_services_on_host_in_group_status | Retrieves status for all the services with a specific host group. |
| get_overall_health_summary | Retrieves overall health summary for all the hosts and services. |
| get_unhandled_problems | Retrieves all the unhandled problems for all the hosts and services. |
| get_object_list_config | Retrieves configuration list for object types like "hosts", "services", "hostgroups", etc. |
| get_single_object_config | Retrieves configuration for a single specific object. |
| get_host_dependencies | Retrieves host dependencies for the given host. |
| get_service_dependencies | Retrieves service dependencies for the given host. |
| get_contacts_for_object | Retrieves the list of contacts to inform for an object. |
| get_comments | Retrieves comments based on the host and service. |
| get_comment_by_id | Retrieves comments for the given comment id. |
| get_downtimes | Retrieves the information for the downtimes in the Nagios Host Process. |
| get_nagios_process_info | Returns the information for the Nagios process. (Alias for get_program_status function) |

- Currently all the tools use GET requests. Other useful tools and tools requiring POST requests will be added soon.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "nagios mcp": {
            "nagios-mcp-stdio": {
                "command": "uvx",
                "args": [
                    "nagios-mcp",
                    "--config",
                    "ABSOLUTE_PATH_TO/nagios_config.yaml"
                ]
            },
            "nagios-mcp-sse": {
                "url": "http://localhost:8000/sse"
            }
        }
    }
}

McpServers

{
    "nagios-mcp-stdio": {
        "command": "uvx",
        "args": [
            "nagios-mcp",
            "--config",
            "ABSOLUTE_PATH_TO/nagios_config.yaml"
        ]
    },
    "nagios-mcp-sse": {
        "url": "http://localhost:8000/sse"
    }
}
PyPI - Version Python Version from PEP 621 TOML

MCP Server for Nagios Core.

This server is built by us for the Nagios Core web-client.
The code for the server can be found here.
The server utilizes the CGI binaries located at the cgi-bin or sbin folder in your Nagios folder.
More specifically the statusjson.cgi and objectjson.cgi files for the purpose of the status and configuration tooling.

How to install:

Setting up

1. Installing uv
- Linux or MacOS or WSL:

     curl -LsSf https://astral.sh/uv/install.sh | sh

- Windows:
     powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Or installing using pip:

pip install uv

2. Installing the PyPI package

```

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.