MCP ExplorerExplorer

Nagios Mcp

1 Apache-2.0
FreeCommunity
AI Systems
MCP Server for Nagios Core

Overview

What is Nagios Mcp

nagios-mcp is an MCP Server designed specifically for Nagios Core, facilitating enhanced monitoring and management through a web-client interface.

Use cases

Use cases for nagios-mcp include real-time monitoring of server statuses, automated alerts for system issues, and configuration management for Nagios Core environments.

How to use

To use nagios-mcp, install the required dependencies, set up a configuration file with your Nagios credentials, and start the server using the command: uvx nagios-mcp --config NAGIOS_CONFIG_FILE --transport sse --host localhost --port 8000.

Key features

Key features of nagios-mcp include integration with Nagios Core, support for Server-Sent Events (SSE), and the ability to utilize CGI binaries for status and configuration management.

Where to use

nagios-mcp can be used in IT infrastructure monitoring, application performance management, and any environment where Nagios Core is deployed for system monitoring.

Content

nagios-mcp


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 the PyPI package
# Using pip
pip install nagios-mcp # or pipx install nagios-mcp

# Using uv (Recommended)
uv tool install nagios-mcp
  1. Creating a config file
    Create a nagios_config.yaml or nagios_config.json file with the configuration parameters given below.
nagios_url: "http://localhost/nagios"
nagios_user: "your_nagios_core_username"
nagios_pass: "your_nagios_core_password"

Starting the SSE server

  • The mcp server by default runs on STDIO transport. If you do not require SSE transport, you can skip this section.
  • Command: uvx nagios-mcp --config NAGIOS_CONFIG_FILE --transport sse --host localhost --port 8000

For Claude Desktop

  • Official setup guide
  • For setting up in Claude Desktop, go to Settings -> Developer -> Edit Config. Or directly modify the config file,
    • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Add the following block to the config file,
{
  "mcpServers": {
    "nagios": {
      "command": "uvx",
      "args": [
        "nagios-mcp",
        "--config",
        "PATH_TO_THE_NAGIOS_CONFIG_FILE",
      ],
    },
  },
}
  • For SSE transport:
{
    "mcpServers": {
        "nagios": {
            "url": "http://localhost:8000/sse" # change this if you are using different port
        }
    }
}

For Cursor

  • Official setup guide
  • To setup the server in Cursor, go to Setting -> MCP -> Add new global MCP server, and add the following:
    For STDIO transport:
{
  "mcpServers": {
    "nagios": {
        "command": "uvx",
        "args": [
                "nagios-mcp",
                "--config", "PATH_TO_THE_NAGIOS_CONFIG_FILE"
            ],
        }
    }
}
  • For SSE Transport:
{
    "mcpServers": {
        "nagios": {
            "url": "http://localhost:8000/sse" # change this if you are using different port
        }
    }
}

For Windsurf

{
    "mcpServers": {
        "nagios": {
            "command": "uvx",
            "args": [
                "nagios-mcp",
                "--config", "PATH_TO_THE_NAGIOS_CONFIG_FILE"
            ],
        }
    }
}
  • For SSE Transport:
{
    "mcpServers": {
        "nagios": {
            "serverUrl": "http://localhost:8000/sse" # change this if you are using different port
        }
    }
}

For Cline

  • Official setup guide
  • For setting up the server in Cline, go to MCP Servers -> Installed -> Configure MCP Servers, this will open the cline_mcp_settings.json file. Add the following code block to the file.
{
    "mcpServers": {
        "nagios": {
            "command": "uvx",
            "args": [
                "nagios-mcp",
                "--config", "PATH_TO_THE_NAGIOS_CONFIG_FILE"
            ],
        }
    }
}
  • For SSE Transport:
{
    "mcpServers": {
        "nagios": {
            "url": "http://localhost:8000/sse" # change this if you are using different port
        }
    }
}

For 5ire

5ire is another MCP client. For setting up in 5ire, go to Tools -> New and add the following configuration.

  1. Tool Key: Nagios
  2. Name: NagiosMCP
  3. Command: uvx nagios-mcp --config PATH_TO_THE_NAGIOS_CONFIG_FILE

List of Tools:

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.

How the MCP server works?

  • Nagios Core web-client is typically hosted on http://YOUR_HOST/nagios/
  • The MCP server reads the details about the processes and services using the CGI binaries, they can be found in the cgi-bin or sbin sub-directory in your Nagios main directory.
  • The Status Tools and Config Tools use the cgi-bin/statusjson.cgi and cgi-bin/objectjson.cgi files respectively for retrieving the information.

Tools

No tools

Comments