Nagios MCP について
Nagios MCPは、Nagios CoreのWebクライアント向けMCPサーバーです。NagiosのCGIバイナリを通じて、ホスト、サービス、アラート、プロセス、設定情報を取得します。
主な機能
- 01ホストとサービスの状態取得
- 02アラートと未処理問題の確認
- 03ヘルス概要とプログラム状態の確認
- 04オブジェクト一覧と設定の取得
- 05依存関係、連絡先、コメント、ダウンタイムの確認
活用シーン
- 01監視対象ホストの状態確認
- 02サービスのアラートと未解決問題の確認
- 03Nagiosオブジェクト設定の調査
- 04依存関係と予定されたダウンタイムの確認
MCP 対応
`statusjson.cgi`と`objectjson.cgi`を使用して、Nagios Coreの状態および設定を照会するツールをMCPクライアントに提供します。標準ではSTDIOを使い、SSEトランスポートでも実行できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
http://localhost:8000/sseclaude mcp add --transport http nagios http://localhost:8000/sse{"mcpServers":{"nagios":{"type":"http","url":"http://localhost:8000/sse"}}}Cursor で開く{"servers":{"nagios":{"type":"http","url":"http://localhost:8000/sse"}}}VS Code で開く{"mcpServers":{"nagios":{"type":"http","url":"http://localhost:8000/sse"}}}{"mcpServers":{"nagios":{"serverUrl":"http://localhost:8000/sse"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
nagios-mcp
Nagios Core 用の MCP サーバーです。
このサーバーは、Nagios Core のウェブクライアント向けに私たちが構築しました。
サーバーのコードはこちらにあります。
このサーバーは、Nagios フォルダー内の cgi-bin または sbin フォルダーにある CGI バイナリを利用します。
具体的には、ステータスおよび設定ツールのために statusjson.cgi と objectjson.cgi ファイルを使用します。
インストール方法:
セットアップ
- PyPI パッケージをインストールする
# Using pip
pip install nagios-mcp # or pipx install nagios-mcp
# Using uv (Recommended)
uv tool install nagios-mcp
- 設定ファイルを作成する
以下の設定パラメーターを含む
nagios_config.yamlまたはnagios_config.jsonファイルを作成します。
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 ("")
SSE サーバーの起動
- MCP サーバーはデフォルトで STDIO トランスポートを使用して実行されます。SSE トランスポートが不要な場合は、このセクションをスキップできます。
- コマンド:
uvx nagios-mcp --config NAGIOS_CONFIG_FILE --transport sse --host localhost --port 8000
Claude Desktop の場合
- 公式セットアップガイド
- Claude Desktop で設定するには、
Settings->Developer->Edit Configに移動します。または、設定ファイルを直接編集します。- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- MacOS:
- 設定ファイルに以下のブロックを追加します。
{
"mcpServers": {
"nagios": {
"command": "uvx",
"args": [
"nagios-mcp",
"--config",
"PATH_TO_THE_NAGIOS_CONFIG_FILE",
],
},
},
}
- SSE トランスポートの場合:
{
"mcpServers": {
"nagios": {
"url": "http://localhost:8000/sse" # change this if you are using different port
}
}
}
Cursor の場合
- 公式セットアップガイド
- Cursor でサーバーをセットアップするには、
Setting->MCP->Add new global MCP serverに移動し、以下を追加します。 STDIO トランスポートの場合:
{
"mcpServers": {
"nagios": {
"command": "uvx",
"args": [
"nagios-mcp",
"--config", "PATH_TO_THE_NAGIOS_CONFIG_FILE"
],
}
}
}
- SSE トランスポートの場合:
{
"mcpServers": {
"nagios": {
"url": "http://localhost:8000/sse" # change this if you are using different port
}
}
}
Windsurf の場合
- 公式セットアップガイド
- Windsurf でサーバーをセットアップするには、以下の行を
~/.codeium/windsurf/mcp_config.jsonファイルに追加します。
{
"mcpServers": {
"nagios": {
"command": "uvx",
"args": [
"nagios-mcp",
"--config", "PATH_TO_THE_NAGIOS_CONFIG_FILE"
],
}
}
}
- SSE トランスポートの場合:
{
"mcpServers": {
"nagios": {
"serverUrl": "http://localhost:8000/sse" # change this if you are using different port
}
}
}
Cline の場合
- 公式セットアップガイド
- Cline でサーバーをセットアップするには、
MCP Servers->Installed->Configure MCP Serversに移動します。cline_mcp_settings.jsonファイルが開きます。以下のコードブロックをファイルに追加します。
{
"mcpServers": {
"nagios": {
"command": "uvx",
"args": [
"nagios-mcp",
"--config", "PATH_TO_THE_NAGIOS_CONFIG_FILE"
],
}
}
}
- SSE トランスポートの場合:
{
"mcpServers": {
"nagios": {
"url": "http://localhost:8000/sse" # change this if you are using different port
}
}
}
5ire の場合
5ire は別の MCP クライアントです。5ire でセットアップするには、Tools -> New に移動し、以下の設定を追加します。
- ツールキー:
Nagios - 名前:
NagiosMCP - コマンド:
uvx nagios-mcp --config PATH_TO_THE_NAGIOS_CONFIG_FILE
ツール一覧:
| ツール名 | ツールの説明 |
|---|---|
get_host_status | すべてのホスト、または特定のホストのステータスを取得します。 |
get_service_status | statusjson.cgi を使用してサービスのステータスを取得します。 |
get_alerts | 現在問題が発生しているホストとサービスの状態(アラート)を取得します。 |
get_program_status | statusjson.cgi から Nagios Core プログラムのステータスを取得します |
get_hosts_in_group_status | 特定のホストグループ内にあるすべてのホストのステータスを取得します。 |
get_services_in_group_status | 特定のサービスグループ内にあるすべてのサービスのステータスを取得します。 |
get_services_on_host_in_group_status | 特定のホストグループに属するすべてのサービスのステータスを取得します。 |
get_overall_health_summary | すべてのホストとサービスの全体的なヘルスサマリーを取得します。 |
get_unhandled_problems | すべてのホストとサービスについて、未処理の問題をすべて取得します。 |
get_object_list_config | 「hosts」、「services」、「hostgroups」などのオブジェクトタイプの設定一覧を取得します。 |
get_single_object_config | 特定の単一オブジェクトの設定を取得します。 |
get_host_dependencies | 指定されたホストの依存関係を取得します。 |
get_service_dependencies | 指定されたホストのサービス依存関係を取得します。 |
get_contacts_for_object | オブジェクトについて通知する連絡先の一覧を取得します。 |
get_comments | ホストとサービスに基づいてコメントを取得します。 |
get_comment_by_id | 指定されたコメント ID のコメントを取得します。 |
get_downtimes | Nagios ホストプロセスのダウンタイム情報を取得します。 |
get_nagios_process_info | Nagios プロセスの情報を返します。(get_program_status 関数のエイリアス) |
- 現在、すべてのツールは GET リクエストを使用します。その他の便利なツールや POST リクエストが必要なツールは、近日中に追加される予定です。
MCP サーバーの仕組み
- Nagios Core のウェブクライアントは通常、
http://YOUR_HOST/nagios/でホストされます。 - MCP サーバーは CGI バイナリを使用してプロセスとサービスの詳細を読み取ります。これらは、Nagios のメインディレクトリにある
cgi-binまたはsbinサブディレクトリにあります。 - ステータスツールと設定ツールは、それぞれ
cgi-bin/statusjson.cgiファイルとcgi-bin/objectjson.cgiファイルを使用して情報を取得します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。