MCP Server for Nagios Core
Project description
nagios-mcp
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
- 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"
- Linux or MacOS or WSL:
Or installing using pip:
pip install uv
- Installing the PyPI package
# Using pip
pip install nagios-mcp # or pipx install nagios-mcp
# Using uv (Recommended)
uv tool install nagios-mcp
- Creating a config file
Create a
nagios_config.yamlornagios_config.jsonfile 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
- MacOS:
- 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
- Official setup guide
- For setting up the server in Windsurf, add the following lines to the
~/.codeium/windsurf/mcp_config.jsonfile.
{
"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 thecline_mcp_settings.jsonfile. 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.
- Tool Key:
Nagios - Name:
NagiosMCP - 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-binorsbinsub-directory in your Nagios main directory. - The Status Tools and Config Tools use the
cgi-bin/statusjson.cgiandcgi-bin/objectjson.cgifiles respectively for retrieving the information.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nagios_mcp-0.1.3.tar.gz.
File metadata
- Download URL: nagios_mcp-0.1.3.tar.gz
- Upload date:
- Size: 19.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddf6d25b447efd4e24cc90b86fcb811dcb16d2d6c4ef5090ce1264b7f4674fb2
|
|
| MD5 |
77961a35e51448e635293344da49bf3d
|
|
| BLAKE2b-256 |
f2705fbaf94472fdeb02e5715246e6b8ccb8a9c950f707fd1973787a4e32e244
|
File details
Details for the file nagios_mcp-0.1.3-py3-none-any.whl.
File metadata
- Download URL: nagios_mcp-0.1.3-py3-none-any.whl
- Upload date:
- Size: 20.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a221bf9e21b15afe172df52b6a52e756104ea52d290f109354b710ff40af83c
|
|
| MD5 |
a80849c785a7f1412cff049a871d60ae
|
|
| BLAKE2b-256 |
f1ecfc555e565fc9090c9b2bb5b976632fbaf2befabc4e890da315fbddd08b31
|