Skip to main content
Glama
crunchtools

mcp-nagios-crunchtools

by crunchtools

mcp-nagios-crunchtools

Secure MCP server for Nagios Core monitoring. Query host and service status, acknowledge problems, add comments, schedule forced checks, and read notification history.

Installation

uvx mcp-nagios-crunchtools

Related MCP server: thruk-mcp

Configuration

Variable

Required

Description

NAGIOS_URL

Yes

Base URL (e.g., https://nagios.example.com)

NAGIOS_USER

Yes

HTTP Basic Auth username

NAGIOS_PASS

Yes

HTTP Basic Auth password

NAGIOS_COMMENT_AUTHOR

No

Author recorded on acknowledgements and comments. Defaults to NAGIOS_USER. Not a tool parameter.

NAGIOS_CGI_PREFIX

No

Path under NAGIOS_URL where the CGI scripts are served. Defaults to /nagios/cgi-bin. Set to /cgi-bin for a Nagios served at the web root. A trailing slash is ignored.

TZ

Effectively yes

The container's local timezone. Must match the Nagios server's own timezone.

Why TZ matters

schedule_check submits a start_time to cmd.cgi, which parses it as naive wall-clock time in the Nagios server's local timezone — there is no offset field to send. The value is therefore built with time.localtime(), so this container must run in the same timezone as the Nagios server.

When it does not, forced checks are silently scheduled into the future by the offset between the two — four hours against an EDT server — and "check now" appears to do nothing at all. No error is raised. This was a real defect, fixed in 0.1.2 by switching from gmtime() to localtime(); the timezone assumption it introduced is why TZ belongs in this table rather than being left implicit.

Tools

Tool

Description

nagios_host_status

Query a single host's status

nagios_service_status

Query a single service's status

nagios_current_problems

All hosts/services not in OK state, with duration, attempt, acknowledgement and plugin output

nagios_program_status

Health check on the monitoring path itself (wedged daemon, disabled notifications, stale status) -- not the same as no current problems

nagios_acknowledge

Acknowledge a host or service problem

nagios_add_comment

Add a comment to a host or service

nagios_schedule_check

Force an immediate re-check

nagios_notification_history

Recent notifications

nagios_alert_history

State changes rolled up per host/service, including warnings and problems that recovered by themselves

License

AGPL-3.0-or-later

Available Tools

9 tools
nagios_acknowledge_toolNagios Acknowledge ToolC

Acknowledge a host or service problem in Nagios.

NameRequiredDescriptionDefault
notifyNoSend notification about the acknowledgement. Default True.
stickyNoKeep acknowledged even if state changes. Default True.
commentYesAcknowledgement comment (e.g., 'Hermes is investigating').
host_nameYesThe hostname with the problem.
service_descriptionNoService name. Omit for host acknowledgement.

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden and it does not deliver. It never states that acknowledging suppresses alerting/notifications until the problem resolves or that the sticky/notify defaults change subsequent behavior — the single most important thing an agent needs to know before calling this mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no wasted words. It is efficient, though the brevity edges into under-specification rather than deliberate conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, but for a state-changing Nagios operation with zero annotations the description omits effect, prerequisites, and alternatives. Too little context for an agent to call it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with 5 documented parameters, including defaults for notify and sticky and the semantics of omitting service_description, so the baseline is 3. The description adds no parameter meaning of its own.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (acknowledge) and resource (host or service problem) and covers both object types the tool targets. It does not distinguish itself from siblings like nagios_add_comment_tool or the status tools, so an agent must infer which one applies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to acknowledge versus alternatives such as nagios_add_comment_tool, nor any note about prerequisites or state requirements. The agent is left to infer usage entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nagios_add_comment_toolNagios Add Comment ToolB

Add a persistent comment to a host or service in Nagios.

NameRequiredDescriptionDefault
commentYesComment text (e.g., 'Restarting service to resolve issue').
host_nameYesThe hostname.
service_descriptionNoService name. Omit for host comment.

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It says the comment is 'persistent' but does not disclose permissions required, whether the comment is visible to users, how long it persists, or how to remove it. No output schema exists, so return behavior is also left undocumented.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It delivers the core action immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description is minimal. It names the action and target but lacks essential context about permissions, persistence semantics, and return behavior that an agent needs to invoke it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters, including using service_description to target a service. The description only restates that a comment targets a host or service, adding minimal meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb (add) and resource (persistent comment) and target (host or service). It is clear, but it does not explicitly differentiate from siblings like nagios_acknowledge_tool, which also creates persistent annotations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives, such as nagios_acknowledge_tool for acknowledging problems or when a comment is appropriate. The schema implies host vs. service via service_description, but the description does not expand on that.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nagios_alert_history_toolNagios Alert History ToolA
Read-only

Roll up Nagios state changes per host and service over a period.

Unlike notification history, this includes warnings, soft states and problems that recovered without paging anyone, so it is where flapping shows.

NameRequiredDescriptionDefault
hoursNoHow many hours of history to roll up, 1 to 744. Default 168 (one week).
host_nameNoFilter to a specific host. Omit for all hosts.

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds real behavioral context beyond that: the rollup includes warnings, soft states, and self-recovered problems, making flapping visible — information an agent cannot derive from the annotations or schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler; the scope statement is front-loaded and the differentiator follows immediately. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists and the input schema is fully documented, so return values need not be described. With annotations covering safety and the description covering scope and sibling differentiation, nothing an agent needs in order to invoke this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters (hours, host_name) already carry format, range, and default details in the schema. The description adds no additional meaning about parameter usage, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Roll up Nagios state changes per host and service') plus the time scope ('over a period'). It also explicitly distinguishes itself from the sibling notification-history tool, so an agent can pick between them without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the alternative ('Unlike notification history') and gives the condition that selects this tool: warnings, soft states, and problems that recovered without paging. That is strong routing guidance, though it stops short of stating explicit exclusions or prerequisites for calling it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nagios_current_problems_toolNagios Current Problems ToolA
Read-only

List all hosts and services currently in a non-OK state.

Returns: One line per problem with its state, how long it has been in that state, attempt count, acknowledgement and plugin output, or confirmation that everything is OK.

NameRequiredDescriptionDefault

No parameters

Output Schema

NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already establishes the safety profile, and the description adds genuine behavioral context beyond that: the per-problem fields returned (state, duration, attempt count, acknowledgement, plugin output) and the explicit note that it may return confirmation everything is OK instead. It does not mention limits, counts, or pagination, which keeps it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler. The core purpose is front-loaded in sentence one and the return shape is contained in a short, clearly-labeled block.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A parameterless read tool with an output schema needs only to say what it selects and roughly what comes back, and the description does both. Nothing an agent needs in order to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. The description correctly adds no parameter discussion, which would be noise here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ("List") and resource ("all hosts and services currently in a non-OK state"), with a scope qualifier that separates it from the status siblings that report full state. It does not, however, name any sibling or explicitly contrast itself with nagios_host_status_tool or nagios_program_status_tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the "currently in a non-OK state" scope suggests triage/alerting use, but there is no explicit when-to-use, when-not-to-use, or pointer to an alternative tool. With nine siblings in the namespace, an agent gets no routing help.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nagios_host_status_toolNagios Host Status ToolB
Read-only

Get the current status of a Nagios host.

NameRequiredDescriptionDefault
host_nameYesThe Nagios hostname to query.

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safe-read profile is covered. Beyond the word 'current' (implying a live, non-cached lookup), the description adds no behavioral context such as authentication requirements, rate limits, or how unreachable hosts are reported.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence with zero filler; the verb and resource come first. Nothing is padded or redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is unnecessary, and the lone parameter is fully documented in the schema. What is missing is sibling differentiation and any hint of the read's behavior on unknown or unreachable hosts, which matters given eight related Nagios tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With a single parameter at 100% schema description coverage, the schema fully documents host_name and its length constraints. The description offers no additional semantics beyond confirming the target is a host.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Get) and resource (current status of a Nagios host), so the operation is unambiguous. However, it does not differentiate itself from close siblings such as nagios_service_status_tool, nagios_program_status_tool, or nagios_current_problems_tool, leaving the agent to infer scope from the name alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus the sibling status tools (host vs service vs program vs current problems), nor any prerequisites or exclusions. Usage is only weakly implied by the word 'host'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nagios_notification_history_toolNagios Notification History ToolB
Read-only

Retrieve recent notification history from Nagios.

NameRequiredDescriptionDefault
hoursNoHow many hours of history to retrieve, 1 to 744. Default 24.
host_nameNoFilter to a specific host. Omit for all hosts.

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already establishes this is a safe read operation, so the description's main remaining job is to add context beyond that. It adds only 'recent' and 'notification history,' with no mention of source, scope, pagination, or freshness beyond what the schema/annotations imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no redundant or filler content. It is appropriately sized for a simple two-parameter retrieval tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists and annotations cover the safety profile, so return values and safety need not be explained. However, the description omits any routing guidance relative to the overlapping alert-history sibling, leaving an agent to infer usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both the hours range/default and the host_name filter are fully documented in the schema. The description adds no parameter detail beyond that, which is the expected baseline when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Retrieve recent notification history from Nagios'), so the agent knows it fetches notification events. It does not, however, distinguish this from the sibling nagios_alert_history_tool or clarify the notification-vs-alert distinction, leaving potential sibling confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus nagios_alert_history_tool or nagios_current_problems_tool, and no exclusions or prerequisites. 'Recent' is the only contextual hint, and it is already implicit in the hours parameter.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nagios_program_status_toolNagios Program Status ToolA
Read-only

Check whether the Nagios daemon itself is alive and actually working.

Use this to verify the monitoring system, NOT to find outages. It is the right tool for a watchdog asking "is Nagios still able to tell me about problems?" -- nagios_current_problems_tool answers a different question and returns "no problems" both when all is well and when Nagios has silently stopped working.

Detects a wedged daemon (CGI still returns 200 but status data is stale), globally disabled notifications (monitoring everything, alerting nobody), and disabled check execution. Raises on connection failure, so a dead Nagios can never be read as healthy.

NameRequiredDescriptionDefault
max_staleness_secondsNoHow old Nagios's status data may be before the daemon is considered wedged. Default 60 (it refreshes every ~10s).

Output Schema

NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=true, but the description adds substantial behavior: it detects wedged daemons where the CGI returns 200 with stale data, globally disabled notifications, and disabled check execution, and it raises on connection failure so a dead Nagios cannot be read as healthy. This is exactly the operational context the annotation cannot supply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, then the routing distinction, then the specific failure modes it catches. Every sentence carries information; nothing is restated or padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation in prose, and the description covers the remaining burden: what it detects, how failure surfaces (raises on connection failure), and how it differs from the sibling. An agent has everything needed to call and interpret it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single parameter (max_staleness_seconds) is fully documented in the schema, including its default and the ~10s refresh rationale. The description's mention of stale status data is thematic rather than additional parameter guidance, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (check whether the Nagios daemon is alive and working) and explicitly carves out the scope: it verifies the monitoring system, not outages. It contrasts directly with the sibling nagios_current_problems_tool, so an agent can pick between them without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use ('watchdog asking is Nagios still able to tell me about problems?') and when-not ('NOT to find outages'), and names the alternative tool plus the exact failure mode that makes the alternative misleading. Routing is fully determined.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nagios_schedule_check_toolNagios Schedule Check ToolC

Schedule a forced immediate re-check of a host or service.

NameRequiredDescriptionDefault
host_nameYesThe hostname to check.
service_descriptionNoService name. Omit for host check.

Output Schema

NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. "Forced immediate" hints at overriding the normal check schedule, but it says nothing about side effects (notification generation, check-result overwrite), required permissions, or whether the action is reversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler or redundancy. It is efficiently sized, though its brevity is also the source of the missing context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained. However, for an action tool with zero annotations and no usage or side-effect context, the description is too thin to let an agent act confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters and their semantics are already documented in the schema. The description adds only the host-or-service dichotomy, which the schema also conveys via "Omit for host check." Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and action ("schedule a forced immediate re-check") plus the resource scope (host or service). It is distinguishable from status/acknowledge/comment siblings by its action, but it never explicitly names or contrasts with any sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as the status-checking siblings. The agent must infer that this is the tool for kicking off an on-demand check.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

nagios_service_status_toolNagios Service Status ToolB
Read-only

Get the current status of a specific service on a host.

NameRequiredDescriptionDefault
host_nameYesThe Nagios hostname.
service_descriptionYesThe service description (e.g., 'HTTPS crunchtools.com').

Output Schema

NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already establishes this as a safe read, so the description's burden is lighter. The word 'current' hints that the value is fetched live rather than cached, but nothing is said about latency, polling frequency, or freshness beyond that single adjective.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler or redundancy, well matched to a two-parameter read tool. It is arguably under-specified rather than over-long, which is a completeness concern rather than a conciseness one.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be explained, and the schema fully covers both inputs. What is missing is routing context among the many Nagios siblings, particularly the host-status tool, leaving the agent to infer the distinction.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and both parameters are documented in the schema with format hints (maxLength 255, example service description). The description adds no additional parameter semantics, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') plus a precise resource ('current status of a specific service on a host'), so an agent can tell what it returns. It does not, however, name or differentiate itself from the close sibling nagios_host_status_tool, which is the most likely confusion point.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the tool's nature: call it when you need one service's status. There is no explicit when-to-use, no statement of when to prefer nagios_host_status_tool or nagios_current_problems_tool, and no prerequisites or exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv0.5.0
    • Addednagios_alert_history_tool
    • Changednagios_host_status_tool2 fields changed
      • addedInput schema / properties / host_name / maxLength
        Added value: +255
      • addedInput schema / properties / host_name / minLength
        Added value: +1
    • Changednagios_notification_history_tool4 fields changed
      • changedInput schema / properties / host_name / anyOf
        Previous value: -[
        -  {
        -    "type": "string"
        -  },
        -  {
        -    "type": "null"
        -  }
        -]New value: +[
        +  {
        +    "maxLength": 255,
        +    "minLength": 1,
        +    "type": "string"
        +  },
        +  {
        +    "type": "null"
        +  }
        +]
      • changedInput schema / properties / hours / description
        Previous value: -"How many hours of history to retrieve. Default 24."New value: +"How many hours of history to retrieve, 1 to 744. Default 24."
      • addedInput schema / properties / hours / maximum
        Added value: +744
      • addedInput schema / properties / hours / minimum
        Added value: +1
    • Changednagios_program_status_tool1 field changed
      • addedInput schema / properties / max_staleness_seconds / minimum
        Added value: +1
    • Changednagios_service_status_tool4 fields changed
      • addedInput schema / properties / host_name / maxLength
        Added value: +255
      • addedInput schema / properties / host_name / minLength
        Added value: +1
      • addedInput schema / properties / service_description / maxLength
        Added value: +255
      • addedInput schema / properties / service_description / minLength
        Added value: +1
  2. 1 tool updatev0.2.0
    • Addednagios_program_status_tool
  3. 7 tool updatesv0.1.0
    • First observednagios_acknowledge_tool
    • First observednagios_add_comment_tool
    • First observednagios_current_problems_tool
    • First observednagios_host_status_tool
    • First observednagios_notification_history_tool
    • First observednagios_schedule_check_tool
    • First observednagios_service_status_tool

TDQS

A3.7/5.0

Scored across 9 tools

Disambiguation5/5

Each tool targets a distinct Nagios concept or action: current problems vs. daemon health (explicitly contrasted), host status vs. service status, notification history vs. alert history (differentiated by scope). The descriptions actively call out the tricky overlaps, leaving little room for misselection.

Naming Consistency5/5

Every tool follows the same nagios_<concept>_tool snake_case pattern with a uniform prefix and suffix. Action tools (acknowledge, add_comment, schedule_check) and query tools are all rendered in the identical convention.

Tool Count5/5

Nine tools is well-scoped for a Nagios monitoring/inspection surface, with each tool earning its place covering distinct read and light-action operations. No redundancy or filler.

Completeness4/5

Core monitoring workflows are covered: problem listing, daemon health, host/service status, acknowledgement, comments, forced checks, and two history views. Minor gaps exist around scheduled downtime and enable/disable notifications, but agents can work around these.

Maintenance

ActivityActive
ResponsivenessSlow

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI clients like Claude to triage, investigate, and operate Icinga installations through natural language, integrating with Icinga's REST APIs and providing deep awareness of monitoring plugins and historical performance data.
    5
    -
  • A
    license
    C
    quality
    B
    maintenance
    Enables natural language interaction with Thruk monitoring systems, allowing users to query hosts/services, schedule downtimes, acknowledge problems, and more via MCP-compatible clients.
    65
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for Nagios Core that enables querying host and service status, alerts, configuration, and other monitoring data through CGI binaries.
    5
    Apache 2.0
  • F
    license
    A
    quality
    D
    maintenance
    Enables querying sensors, devices, groups, channels, historical data, and system status from a PRTG Network Monitor instance via the classic PRTG HTTP API.
    9
    2
    -