Skip to main content
Glama

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"
ca_cert_path: "path_to_your_ssl_cert" # if the url is https, otherwise leave it empty ("")

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.

Related MCP server: mcp-centreon

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.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    C
    maintenance
    MCP server for Centreon IT monitoring that enables querying host/service status, managing acknowledgements and downtimes, and retrieving performance metrics via natural language.
    17
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server to access the Zabbix API, providing tools to list hosts, problems, triggers, items, history, and events.
    -