mcpField
L
Logicmonitor MCP

Logicmonitor MCP

ローカル
github.com/monitoringartistクラウド・インフラ1337 週間前に更新

Logicmonitor MCP について

LogicMonitor MCPは、AIアシスタントからLogicMonitorの操作を行うためのサーバーです。幅広いツールを備え、既定で読み取り専用となっており、認証を設定してローカル・リモート接続に対応します。

主な機能

  1. 01LogicMonitor操作用の125ツール
  2. 02STDIO、SSE、HTTPトランスポート
  3. 03既定で読み取り専用
  4. 04Bearer tokenとOAuth/OIDCの選択肢
  5. 05バッチ処理と適応型並行処理
  6. 06ツール選択とレート制限時の再試行

活用シーン

  1. 01アシスタントでLogicMonitorのリソースを調査
  2. 02Claude Desktopからローカル接続
  3. 03複数ユーザー向けにリモートMCP接続を提供
  4. 04連携を読み取り専用ツールに限定

MCP 対応

LogicMonitorの操作をMCPツールとして公開します。クライアントはSTDIO、SSE、streamable HTTPで接続でき、リモート接続ではBearer tokenやOAuth/OIDCによる認証を選べます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"logicmonitor": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"LM_COMPANY",
"-e",
"LM_BEARER_TOKEN",
"monitoringartist/logicmonitor-mcp-server"
],
"env": {
"LM_COMPANY": "<LM_COMPANY>",
"LM_BEARER_TOKEN": "<LM_BEARER_TOKEN>"
}
}
}
}
起動コマンドdocker run -i --rm -e LM_COMPANY -e LM_BEARER_TOKEN monitoringartist/logicmonitor-mcp-server
設定が必要な環境変数
LM_COMPANY
LM_BEARER_TOKENシークレット

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocimonitoringartist/logicmonitor-mcp-server

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

LogicMonitor MCP サーバー

LogicMonitor 用の Model Context Protocol(MCP)サーバーです。AI アシスタントが LogicMonitor を操作できるようにします。

CI Release npm version License TypeScript Node

重要

🛠️ Monitoring Artist が管理・サポートしています

この MCP サーバーは、Monitoring Artist による独立したコミュニティ主導のイノベーションです。

公式サポートに関する免責事項: このプロジェクトは LogicMonitor の公式製品ではなく、LogicMonitor の標準サポートプランの対象外です。

エンタープライズレベルの信頼性が必要ですか? > Monitoring Artist は、この統合に関する専門的な実装、カスタム機能の開発、専用サポートを提供しています。専門的なソリューションについては、こちらからお問い合わせください。

機能

  • 125 個の MCP ツール:LogicMonitor の幅広い操作に対応(読み取り専用 73 個、書き込み 52 個)
  • 統合サーバー:すべてのトランスポートモード(STDIO、SSE、HTTP)に対応する単一のサーバー実装
  • 複数のトランスポートモード:ローカル利用には STDIO、リモートアクセスには SSE/HTTP を使用
  • 柔軟な認証:認証なし(開発用)、ベアラートークン、または OAuth/OIDC
  • CSRF 保護:セッションベース認証で CSRF 保護を自動適用
  • 読み取り専用モード:変更機能なしで安全に監視(デフォルトで有効)
  • 柔軟な設定:CLI フラグ、環境変数、または .env ファイル
  • デバッグログ:詳細なリクエスト/レスポンスログを JSON または人間が読みやすい形式で記録
  • ツールのフィルタリング:特定のツールを有効化するか、検索機能を無効化
  • レート制限:指数バックオフによる自動再試行
  • 一括操作:複数のリソースを効率的に処理
  • スマートな一括処理:API のレート制限に応じて自動調整する適応型並行処理
  • TLS/HTTPS 対応:安全なリモートアクセスのためのオプションの TLS

画像

Cursor プロンプト - リソースチェックのデモ

Cursor で LogicMonitor MCP サーバーを使用し、MCP プロンプトに引数「www.google.com」(LogicMonitor のリソース)を指定して LogicMonitor リソースチェックを実行する方法の概要デモです。 エージェントは利用可能な MCP ツールを把握し、自己修正しながら使用します。

Cursor Prompt Resource Check

Cursor ツール

Cursor で利用できる LogicMonitor MCP ツールを示すスクリーンショット:

Cursor Tools

Grafana Assistant ツール

Grafana Assistant で利用できる LogicMonitor MCP ツールを示すスクリーンショット:

Grafana Assistant Tools

VS Code ツール

Visual Studio Code で利用できる LogicMonitor MCP ツールを示すスクリーンショット:

VS Code Tools

インストール方法

ローカルの LogicMonitor MCP サーバー

Claude Desktop 用に STDIO トランスポートを使用して、LogicMonitor MCP サーバーをローカルで実行します。 Install with Docker in VS Code Install with npx in VS Code Install with Docker in WSL in VS Code Install with npx in WSL in VS Code Install with Docker in Cursor Install with npx in Cursor Install with Docker in WSL in Cursor Install with npx in WSL in Cursor npm Claude Desktop

# Quick start with npx (no installation needed)
npx logicmonitor-mcp-server

# Or install globally
npm install -g logicmonitor-mcp-server
logicmonitor-mcp-server

Claude Desktop に追加(macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "logicmonitor": {
      "command": "npx",
      "args": ["-y", "logicmonitor-mcp-server"],
      "env": {
        "LM_COMPANY": "mycompany",
        "LM_BEARER_TOKEN": "your-bearer-token-here"
      },
      "type": "stdio"
    }
  }
}

最適な用途:個人利用、Claude Desktop との統合、ローカル開発

LogicMonitor MCP サーバーのリモート構成例

SSE または HTTP トランスポートを使用して LogicMonitor MCP Server をリモートで実行し、Web ベースでアクセスできます:

VS Code にリモート MCP としてインストール

# Quick start with Docker
docker run -d -p 3000:3000 \
  -e LM_COMPANY=mycompany \
  -e LM_BEARER_TOKEN=your-token \
  -e MCP_TRANSPORT=streamable-http \
  -e OAUTH_PROVIDER=none \
  monitoringartist/logicmonitor-mcp-server

# Available container images

| Registry | Pull command | Notes |
| --- | --- | --- |
| GitHub Container Registry | `docker pull ghcr.io/monitoringartist/logicmonitor-mcp-server:<tag>` | Tags include `latest`, `vX.Y.Z`, `X.Y`, and `X`. |
| Docker Hub | `docker pull monitoringartist/logicmonitor-mcp-server:<tag>` | Mirrors the same tags as GHCR. |

# Or use Docker Compose for production
curl -o docker-compose.yml https://raw.githubusercontent.com/monitoringartist/logicmonitor-mcp-server/main/docker-compose.yml
cp env.example .env  # Configure your credentials
docker-compose up -d logicmonitor-mcp-http

最適な用途:Web アプリケーション、リモートアクセス、複数ユーザー、管理者がアクセスを制御するエンタープライズ環境へのデプロイ

クイックスタート

前提条件
  • Node.js >= 18(または Docker)
  • API アクセスが可能な LogicMonitor アカウント
  • LogicMonitor API Bearer Token
インストール
オプション A:Node.js
# Clone the repository
git clone https://github.com/monitoringartist/logicmonitor-mcp-server.git
cd logicmonitor-mcp-server

# Install dependencies
npm install

# Build the project
npm run build
オプション B:Docker
# Clone the repository
git clone https://github.com/monitoringartist/logicmonitor-mcp-server.git
cd logicmonitor-mcp-server

# Build Docker image
docker build -t logicmonitor-mcp-server .

# Or use Docker Compose
cp env.example .env
# Edit .env with your credentials
docker-compose up -d logicmonitor-mcp-http
設定

以下の 3 つの方法から選んで設定します(優先順位の高い順):

オプション 1:環境変数(推奨)
export LM_COMPANY=mycompany
export LM_BEARER_TOKEN=your-bearer-token-here
npm start
オプション 2:.env ファイル
# Copy the example file
cp env.example .env

# Edit .env with your credentials
nano .env

# Run the server
npm start
オプション 3:CLI フラグ
npm start -- --lm-company mycompany --lm-bearer-token "your-token"

CLI リファレンス

トランスポートオプション
フラグ環境変数デフォルト説明
-t, --transport <type>MCP_TRANSPORTstdioトランスポートの種類:stdio、sse、または streamable-http
--address <host:port>MCP_ADDRESSlocalhost:3000SSE/HTTP トランスポート用のサーバーアドレス
--base-path <path>MCP_BASE_PATH-サーバーのベースパス
--endpoint-path <path>MCP_ENDPOINT_PATH/mcpstreamable-http 用のエンドポイントパス
TLS 設定(streamable-http トランスポートのみ)
フラグ環境変数デフォルト説明
--server.tls-cert-file <path>MCP_TLS_CERT_FILE-HTTPS 用の TLS 証明書ファイルのパス。証明書とキーの両方が設定されている場合、サーバーは HTTPS を使用します
--server.tls-key-file <path>MCP_TLS_KEY_FILE-HTTPS 用の TLS 秘密鍵ファイルのパス。HTTPS には証明書とキーの両方が必要です

注: デフォルトでは(TLS が設定されていない場合)、サーバーは HTTP プロトコルでリッスンします。証明書ファイルとキー ファイルの両方が指定されると、サーバーは HTTPS プロトコルのみを使用するよう自動的に切り替わります。

デバッグとログ
フラグ環境変数デフォルト説明
--debugMCP_DEBUG=truefalse詳細なログを出力するデバッグモードを有効にします
--log-format <format>MCP_LOG_FORMAThumanログ形式:json または human
--log-level <level>MCP_LOG_LEVELinfoログレベル:debug、info、warn、または error
ツール設定
フラグ環境変数デフォルト説明
--enabled-tools <list>MCP_ENABLED_TOOLSall有効にするツールのカンマ区切りリスト
--read-onlyMCP_READ_ONLYtrue読み取り専用ツールのみを有効にします(より安全です)。書き込み操作を有効にするには MCP_READ_ONLY=false を設定します
LogicMonitor API(必須)
フラグ環境変数説明
--lm-company <name>LM_COMPANYLogicMonitor の会社名/アカウント名(サブドメイン)。例:ポータルが mycompany.logicmonitor.com の場合は、mycompany を使用します
--lm-bearer-token <token>LM_BEARER_TOKENLogicMonitor API Bearer Token。次の場所で生成できます:Settings > Users & Roles > API Tokens
MCP サーバーの認証(任意 — SSE/HTTP トランスポートのみ)
フラグ環境変数デフォルト説明
--mcp-bearer-token <token>MCP_BEARER_TOKEN-MCP サーバーに接続するクライアントを認証するための静的ベアラートークンです。SSE/HTTP トランスポート経由でリモートアクセスする場合、OAuth の代替または追加手段として使用します。STDIO トランスポートでは不要です。
-OAUTH_PROVIDERnoneOAuth プロバイダーの種類です。none(無効)、github、google、azure、okta、auth0、custom のいずれかを指定します。OAuth 認証を無効にするには、none を設定するか、値を設定しないでください。

注: これは MCP サーバーへの認証であり、LogicMonitor API へのアクセス認証ではありません。

認証モード:

  • 認証なし(デフォルト):MCP_BEARER_TOKENもOAuthも設定されていない場合(OAUTH_PROVIDER=none)、認証なしでアクセスできます。開発やテストでのみ使用してください。
  • ベアラートークン:シンプルな静的トークン認証です。MCP_BEARER_TOKENを設定してください。
  • OAuth/OIDC:エンタープライズ認証です。OAUTH_PROVIDERと関連設定を構成してください(env.exampleを参照)。
  • 両方:両方の認証方式を同時に使用できます。

使用例

Claude Desktop(STDIO — 推奨)

Claude Desktopの設定に追加します(macOSの場合は~/Library/Application Support/Claude/claude_desktop_config.json)。

{
  "mcpServers": {
    "logicmonitor": {
      "command": "node",
      "args": [
        "/path/to/logicmonitor-mcp-server/build/servers/index.js"
      ],
      "env": {
        "LM_COMPANY": "mycompany",
        "LM_BEARER_TOKEN": "your-bearer-token",
        "MCP_TRANSPORT": "stdio"
      }
    }
  }
}

注: MCP_TRANSPORT=stdioはデフォルト値なので省略できますが、明確にするために記載しています。

SSEトランスポート(リモートアクセス)
# Start SSE server with debug logging
npm start -- --transport sse --address localhost:3000 --debug

# Or using environment variables
export MCP_TRANSPORT=sse
export MCP_ADDRESS=localhost:3000
export MCP_DEBUG=true
npm start

# Or use the convenience script
npm run start:sse

注: SSE/HTTPトランスポートでは、認証は任意ですが、設定を推奨します。

  • 開発/テスト:認証は不要です(OAUTH_PROVIDER=noneのデフォルト設定)。
  • 本番環境:MCP_BEARER_TOKENまたはOAuthを設定してください(以下の「認証モード」を参照)。

ヘルスチェックエンドポイント: SSEまたはストリーミング可能なHTTPトランスポートを使用する場合、ヘルスチェックエンドポイントを利用できます。

シンプルなヘルスチェック(/healthz)
# Quick health check
curl http://localhost:3000/healthz
# Response: 200 OK with body "ok"
詳細なヘルスチェック(/health)
# Detailed health information
curl http://localhost:3000/health

レスポンスには以下が含まれます。

{
  "status": "healthy",
  "version": "1.0.0",
  "uptime": 3600.5,
  "memory": {
    "rss": 52428800,
    "heapTotal": 20971520,
    "heapUsed": 15728640,
    "external": 1048576,
    "arrayBuffers": 262144
  },
  "connections": {
    "mcp": 5,
    "http": 3
  },
  "timestamp": "2025-11-02T12:00:00.000Z",
  "transport": {
    "mode": "both",
    "http": true,
    "sse": true
  }
}

これらのエンドポイントは、次の用途で使用できます。

  • ロードバランサー(シンプルなチェックには/healthzを使用)
  • 監視システム(詳細なメトリクスには/healthを使用)
  • オーケストレーションプラットフォーム(Docker、Kubernetes)
  • CI/CDのヘルスチェック
  • APMおよびオブザーバビリティツール

注: STDIOトランスポートを使用する場合、ヘルスチェックエンドポイントは利用できません。

HTTPS/TLSの設定(セキュアなトランスポート)

SSEまたはストリーミング可能なHTTPトランスポートでHTTPSを有効にするには、証明書ファイルと鍵ファイルの両方を指定します。

# Using environment variables (recommended)
export MCP_TLS_CERT_FILE=/path/to/cert.pem
export MCP_TLS_KEY_FILE=/path/to/key.pem
export MCP_TRANSPORT=sse
npm start

# Using CLI flags
npm start -- --transport sse \
  --server.tls-cert-file /path/to/cert.pem \
  --server.tls-key-file /path/to/key.pem

# Access via HTTPS
curl https://localhost:3000/healthz

動作:

  • TLS未設定(デフォルト):サーバーはHTTPプロトコルを使用します。
  • TLS設定済み(証明書ファイルと鍵ファイルの両方を指定):サーバーはHTTPSプロトコルのみを使用します。
  • TLSの設定が不完全(証明書ファイルまたは鍵ファイルのどちらか一方のみを指定):サーバーはHTTPプロトコルを使用します(両方が必要です)。

テスト用の自己署名証明書を生成する:

# Generate self-signed certificate (for development/testing only)
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes \
  -subj "/CN=localhost"

# Start server with TLS
npm start -- --transport sse \
  --server.tls-cert-file ./cert.pem \
  --server.tls-key-file ./key.pem

本番環境での推奨事項:

  • 信頼できる認証局(Let's Encrypt、商用CA)の証明書を使用します。
  • TLS終端にはリバースプロキシ(nginx、Caddy)の使用を検討します。
  • 有効期限が切れる前に証明書を更新します。
  • 強力なTLSプロトコル(TLS 1.2以降)を使用します。
読み取り専用モード(デフォルト — 安全な監視)

安全性を考慮し、サーバーはデフォルトで読み取り専用モードで動作します。

# Read-only mode (default)
npm start

# Explicitly enable write operations
npm start -- # with MCP_READ_ONLY=false in .env

# Or via environment
export MCP_READ_ONLY=false
npm start
カスタムツールの選択
# Enable specific tools only
npm start -- --enabled-tools "list_resources,get_resource,list_alerts,get_alert"

# Disable search functionality
npm start -- --disable-search
本番環境向けのJSONロギング
npm start -- --log-format json --log-level warn
完全な例
npm start -- \
  --lm-company mycompany \
  --lm-bearer-token "your-token" \
  --transport sse \
  --address 0.0.0.0:8080 \
  --read-only \
  --log-format json \
  --log-level info
トランスポートモードのショートカット

統合サーバーでは、各トランスポート向けに便利なnpmスクリプトを使用できます。

# STDIO transport (default, for Claude Desktop)
npm start
npm run start:stdio

# SSE transport (for web/remote clients)
npm run start:sse

# HTTP transport (for advanced integrations)
npm run start:http

利用可能なツール

サーバーは、LogicMonitorの幅広い操作に対応する122個のツールを提供します。ツールは機能別に分類され、読み取り専用(安全)または書き込み(データを変更)として示されます。

リソース/デバイス管理

読み取り専用:

  • list_resources - フィルタリングして、監視対象のすべてのリソース/デバイスを一覧表示します(query パラメーターによる簡易検索、または filter パラメーターによる高度なフィルタリングに対応)
  • get_resource - ID を指定して、デバイスの詳細情報を取得します
  • generate_resource_link - LM UI でデバイスを開く直接リンクを生成します

書き込み操作:

  • create_resource - 監視対象に新しいデバイスを追加します(一括操作に対応)
  • update_resource - 既存のデバイスを変更します(一括操作に対応)
  • delete_resource - 監視対象からデバイスを削除します(一括操作に対応)
リソース/デバイスグループ

読み取り専用:

  • list_resource_groups - すべてのデバイスグループ/フォルダーを一覧表示します
  • get_resource_group - ID を指定して、デバイスグループの詳細を取得します

書き込み操作:

  • create_resource_group - 新しいデバイスグループを作成します
  • update_resource_group - デバイスグループを変更します
  • delete_resource_group - デバイスグループを削除します
アラート管理

読み取り専用:

  • list_alerts - フィルタリングして、アクティブなアラートを一覧表示します(query パラメーターによる簡易検索、または filter パラメーターによる高度なフィルタリングに対応)
  • get_alert - アラートの詳細情報を取得します
  • generate_alert_link - LM UI でアラートを開く直接リンクを生成します
  • list_alert_rules - アラートのルーティングルールを一覧表示します
  • get_alert_rule - アラートルールの詳細を取得します

書き込み操作:

  • acknowledge_alert - アラートを確認します(エスカレーションを停止します)
  • add_alert_note - 記録用のメモをアラートに追加します
  • create_alert_rule - 新しいアラートルーティングルールを作成します
  • update_alert_rule - アラートルールを変更します
  • delete_alert_rule - アラートルールを削除します
データソースと監視

読み取り専用:

  • list_datasources - 利用可能なすべてのデータソースを一覧表示します
  • get_datasource - データソースの詳細を取得します
  • list_resource_datasources - デバイスに適用されているデータソースを一覧表示します
  • get_resource_datasource - デバイスのデータソースの詳細を取得します
  • list_resource_instances - データソースのインスタンス(ディスク、インターフェイスなど)を一覧表示します
  • get_resource_instance_data - 時系列メトリクスデータを取得します
  • list_eventsources - すべてのイベントソースを一覧表示します
  • get_eventsource - イベントソースの詳細を取得します
  • list_configsources - 構成ソースを一覧表示します
  • get_configsource - 構成ソースの詳細を取得します

書き込み操作:

  • update_resource_datasource - デバイスのデータソース構成を変更します
ダッシュボードとレポート

読み取り専用:

  • list_dashboards - すべてのダッシュボードを一覧表示します
  • get_dashboard - ダッシュボードの詳細を取得します
  • generate_dashboard_link - LM UI でダッシュボードを開く直接リンクを生成します
  • list_dashboard_groups - ダッシュボードグループを一覧表示します
  • get_dashboard_group - ダッシュボードグループの詳細を取得します
  • list_reports - すべてのレポートを一覧表示します
  • get_report - レポートの詳細を取得します
  • list_report_groups - レポートグループを一覧表示します
  • get_report_group - レポートグループの詳細を取得します

書き込み操作:

  • create_dashboard - 新しいダッシュボードを作成します
  • update_dashboard - ダッシュボードを変更します
  • delete_dashboard - ダッシュボードを削除します
  • create_report_group - レポートグループを作成します
  • update_report_group - レポートグループを変更します
  • delete_report_group - レポートグループを削除します
コレクターとインフラストラクチャ

読み取り専用:

  • list_collectors - 監視コレクター(エージェント)を一覧表示します
  • get_collector - コレクターの詳細を取得します
  • list_collector_groups - コレクターグループを一覧表示します
  • get_collector_group - コレクターグループの詳細を取得します
  • list_collector_versions - 利用可能なコレクターバージョンを一覧表示します
  • list_netscans - ネットワーク検出スキャンを一覧表示します
  • get_netscan - NetScan の詳細を取得します
  • get_topology - ネットワークトポロジー情報を取得します

書き込み操作:

  • create_netscan - NetScan を作成します
  • update_netscan - NetScan を変更します
  • delete_netscan - NetScan を削除します
Web サイトの監視

読み取り専用:

  • list_websites - Web サイトの監視項目を一覧表示します
  • get_website - Web サイトの監視項目の詳細を取得します
  • generate_website_link - LM UI の Web サイトへの直接リンクを生成します
  • list_website_groups - Web サイトのグループを一覧表示します
  • get_website_group - Web サイトグループの詳細を取得します
  • list_website_checkpoints - 利用可能な監視チェックポイントを一覧表示します

書き込み操作:

  • create_website - 新しい Web サイトの監視項目を作成します
  • update_website - Web サイトの監視項目を変更します
  • delete_website - Web サイトの監視項目を削除します
サービス(ビジネスロジック)

読み取り専用:

  • list_services - ビジネスサービスを一覧表示します
  • get_service - サービスの詳細を取得します
  • list_service_groups - サービスグループを一覧表示します
  • get_service_group - サービスグループの詳細を取得します

書き込み操作:

  • create_service - 新しいビジネスサービスを作成します
  • update_service - サービスを変更します
  • delete_service - サービスを削除します
  • create_service_group - サービスグループを作成します
  • update_service_group - サービスグループを変更します
  • delete_service_group - サービスグループを削除します
アラート設定

読み取り専用:

  • list_escalation_chains - アラートのエスカレーションチェーンを一覧表示します
  • get_escalation_chain - エスカレーションチェーンの詳細を取得します
  • list_recipients - アラートの受信者を一覧表示します
  • get_recipient - 受信者の詳細を取得します
  • list_recipient_groups - 受信者グループを一覧表示します
  • get_recipient_group - 受信者グループの詳細を取得します

書き込み操作:

  • create_escalation_chain - エスカレーションチェーンを作成します
  • update_escalation_chain - エスカレーションチェーンを変更します
  • delete_escalation_chain - エスカレーションチェーンを削除します
  • create_recipient - アラートの受信者を作成します
  • update_recipient - 受信者を変更します
  • delete_recipient - 受信者を削除します
  • create_recipient_group - 受信者グループを作成します
  • update_recipient_group - 受信者グループを変更します
  • delete_recipient_group - 受信者グループを削除します
インテグレーション

読み取り専用:

  • list_integrations - サードパーティ製インテグレーションを一覧表示します
  • get_integration - インテグレーションの詳細を取得します

書き込み操作:

  • create_integration - 新しいインテグレーションを作成します
  • update_integration - インテグレーションを変更します
  • delete_integration - インテグレーションを削除します
管理とセキュリティ

読み取り専用:

  • list_users - ユーザー/管理者を一覧表示します
  • get_user - ユーザーの詳細を取得します
  • list_roles - ユーザーのロールを一覧表示します
  • get_role - ロールの詳細を取得します
  • list_access_groups - アクセスグループを一覧表示します
  • get_access_group - アクセスグループの詳細を取得します
  • list_api_tokens - ユーザーの API トークンを一覧表示します

書き込み操作:

  • create_access_group - アクセスグループを作成します
  • update_access_group - アクセスグループを変更します
  • delete_access_group - アクセスグループを削除します
プロパティと設定

読み取り専用:

  • list_resource_properties - デバイスのカスタムプロパティを一覧表示します
  • list_resource_group_properties - デバイスグループのプロパティを一覧表示します

書き込み操作:

  • update_resource_property - デバイスのプロパティ値を更新します
  • update_resource_group_property - デバイスグループのプロパティ値を更新します
計画停止時間(SDT)

読み取り専用:

  • list_sdts - 計画停止時間を一覧表示します
  • get_sdt - SDT の詳細を取得します

書き込み操作:

  • create_resource_sdt - 計画停止時間を作成します
  • delete_sdt - 計画停止時間を削除します
運用メモ

読み取り専用:

  • list_opsnotes - 運用メモを一覧表示します
  • get_opsnote - 運用メモの詳細を取得します

書き込み操作:

  • create_opsnote - 運用メモを作成します
  • update_opsnote - 運用メモを変更します
  • delete_opsnote - 運用メモを削除します
監査とコンプライアンス

読み取り専用:

  • list_audit_logs - 監査証跡ログを一覧表示します(query パラメーターによる簡易検索、または filter パラメーターによる詳細なフィルタリングに対応)
  • get_audit_log - 監査ログエントリの詳細を取得します
概要
  • 読み取り専用ツール 70 個 - 本番環境の監視に安全に使用できます
  • 書き込みツール 52 個 - 注意が必要です(--read-only によりデフォルトで無効)
  • ツール合計 122 個

セキュリティに関する考慮事項

トランスポートモード別の認証
トランスポート認証セキュリティレベル使用例
STDIO不要(ローカルプロセス)✅ 安全Claude Desktop、ローカル CLI
SSE/HTTP(認証なし)なし(デフォルト:OAUTH_PROVIDER=none)⚠️ 開発環境のみローカルテスト
SSE/HTTP(ベアラートークン)MCP_BEARER_TOKEN による静的トークン✅ 安全(HTTPS 使用時)API クライアント、内部サービス
SSE/HTTP(OAuth)OAuth/OIDC プロバイダー✅ 安全(HTTPS 使用時)Web アプリケーション、エンタープライズ SSO
読み取り専用モード(推奨)

本番環境でのモニタリングでは、誤った変更を防ぐため、読み取り専用モードを有効にします。

npm start -- --read-only
# or
export MCP_READ_ONLY=true
npm start

これにより、52 個の書き込み操作がすべて無効になり、安全な読み取り専用ツール 73 個のみが使用可能になります。

認証の設定
開発環境(認証なし)
# Default configuration - no authentication required
export LM_COMPANY=mycompany
export LM_BEARER_TOKEN=your-lm-token
export MCP_TRANSPORT=sse
export OAUTH_PROVIDER=none  # or omit - this is the default
npm start

⚠️ 警告: 認証なしでアクセスできる場合、誰でも接続できます。信頼できる環境でのみ使用してください。

本番環境 - ベアラートークン(シンプル)
# Generate a strong token
export MCP_BEARER_TOKEN=$(openssl rand -base64 32)
export OAUTH_PROVIDER=none

# Enable TLS
export MCP_TLS_CERT_FILE=/path/to/cert.pem
export MCP_TLS_KEY_FILE=/path/to/key.pem

# Start server
npm start -- --transport sse

クライアントにはトークンを含める必要があります。

curl -H "Authorization: Bearer YOUR_TOKEN" https://localhost:3000/health
本番環境 - OAuth(エンタープライズ)
# Configure OAuth provider
export OAUTH_PROVIDER=github  # github, google, azure, okta, auth0, custom
export OAUTH_CLIENT_ID=your-client-id
export OAUTH_CLIENT_SECRET=your-client-secret
export OAUTH_SESSION_SECRET=$(openssl rand -hex 32)
export OAUTH_CALLBACK_URL=https://your-domain.com/auth/callback

# Enable TLS
export MCP_TLS_CERT_FILE=/path/to/cert.pem
export MCP_TLS_KEY_FILE=/path/to/key.pem

# Start server
npm start -- --transport sse

ユーザーはブラウザーで /auth/login にアクセスして認証します。

本番環境 - 組み合わせ(柔軟)
# Both OAuth and bearer token enabled
export OAUTH_PROVIDER=github
export OAUTH_CLIENT_ID=your-client-id
export OAUTH_CLIENT_SECRET=your-client-secret
export MCP_BEARER_TOKEN=$(openssl rand -base64 32)

# Users: OAuth login via browser
# APIs: Bearer token in Authorization header
API トークンのセキュリティ

LogicMonitor API トークン(LM_BEARER_TOKEN):

  • バージョン管理に絶対にコミットしないでください
  • 環境変数または .env ファイルを使用してください(.env は .gitignore に含まれています)
  • 定期的にローテーションしてください(月 1 回を推奨)
  • LogicMonitor ポータルで必要最小限の権限を使用してください

MCP サーバートークン(MCP_BEARER_TOKEN):

  • 強力なトークンを生成してください(32 バイト以上):openssl rand -base64 32
  • 安全に保管してください(環境変数、シークレット管理)
  • ログやエラーメッセージに絶対に表示しないでください
  • 定期的にローテーションしてください
  • 環境ごとに異なるトークンを使用してください
ネットワークセキュリティ

本番環境の SSE/HTTP で必須:

  • ✅ HTTPS/TLS:常に暗号化された接続を使用してください(MCP_TLS_CERT_FILE、MCP_TLS_KEY_FILE)
  • ✅ 認証:ベアラートークンまたは OAuth を有効にしてください(本番環境で認証なしの運用は絶対に行わないでください)
  • ✅ ファイアウォール:IP/ネットワークによってアクセスを制限してください
  • ✅ レート制限:自動レート制限が組み込まれています
  • ⚡ モニタリング:ヘルスチェックには /health エンドポイントを使用してください

任意(多層防御):

  • セキュリティ層を追加するためにリバースプロキシ(nginx、Caddy)を使用する
  • WAF(Web Application Firewall)を導入する
  • 機密性の高い環境では VPN または踏み台ホストを使用する
  • 監査ログを有効にする(--log-format json --log-level info)
本番環境のセキュリティチェックリスト
  • 読み取り専用モードが有効(MCP_READ_ONLY=true)
  • HTTPS/TLS が設定済み(MCP_TLS_CERT_FILE、MCP_TLS_KEY_FILE)
  • 認証が有効(MCP_BEARER_TOKEN または OAuth が設定済み)
  • CSRF 保護が有効(OAuth 使用時は自動)
  • LogicMonitor API トークンを最近ローテーションした
  • .env ファイルがバージョン管理に含まれていない
  • ファイアウォールルールで許可された IP のみにアクセスを制限している
  • ヘルスチェックエンドポイント(/health)を監視している
  • ログを定期的に確認している
  • LogicMonitor API に最小限の権限を付与している

トラブルシューティング

「LogicMonitor credentials are required」

LM_COMPANY と LM_BEARER_TOKEN が設定されていることを確認してください。

export LM_COMPANY=mycompany
export LM_BEARER_TOKEN=your-token

または CLI フラグを使用してください。

npm start -- --lm-company mycompany --lm-bearer-token "your-token"
レート制限

サーバーは指数バックオフによってレート制限を自動的に処理します。レート制限が継続して発生する場合:

  1. 同時リクエスト数を減らす
  2. --debug を有効にして、レート制限の詳細を確認する
  3. LogicMonitor サポートに連絡して、レート制限の引き上げを依頼する
接続の問題
# Test with debug logging
npm start -- --debug --log-level debug

# Verify credentials
curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://YOUR_COMPANY.logicmonitor.com/santaba/rest/device/devices?size=1
ツールが見つからない

特定のツールを有効にしてください。

npm start -- --enabled-tools "list_resources,get_resource"

または、読み取り専用モードによって書き込み操作が除外されていないか確認してください。

# Show all tools (including write operations)
export MCP_READ_ONLY=false
npm start
認証に関する問題

SSE/HTTP への接続時に「401 Unauthorized」が表示される場合:

  • MCP_BEARER_TOKEN が設定され、リクエストのトークンと一致していることを確認してください
  • OAuth の場合は、/auth/login でログインしていることを確認してください
  • トークンの有効期限が切れていないことを確認してください(OAuth トークンには有効期限がありますが、静的トークンにはありません)

「No authentication configured」という警告が表示される場合:

  • OAUTH_PROVIDER=none で MCP_BEARER_TOKEN が設定されていない場合は、想定どおりの動作です
  • 開発環境では問題ありません。サーバーは認証なしのアクセスを許可します
  • 本番環境では、認証を設定してください(上記のセキュリティに関する考慮事項を参照)

OAuth ログインが機能しない場合:

  • OAUTH_PROVIDER、OAUTH_CLIENT_ID、OAUTH_CLIENT_SECRET が正しく設定されていることを確認してください
  • コールバック URL が OAuth プロバイダーの設定と一致していることを確認してください
  • サーバーログで詳細なエラーメッセージを確認してください(--debug --log-level debug)

コントリビューション

コントリビューションを歓迎します。以下の手順に従ってください。

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. npm run lint と npm run build を実行します
  5. プルリクエストを送信します

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。