Logicmonitor MCP について
LogicMonitor MCPは、AIアシスタントからLogicMonitorの操作を行うためのサーバーです。幅広いツールを備え、既定で読み取り専用となっており、認証を設定してローカル・リモート接続に対応します。
主な機能
- 01LogicMonitor操作用の125ツール
- 02STDIO、SSE、HTTPトランスポート
- 03既定で読み取り専用
- 04Bearer tokenとOAuth/OIDCの選択肢
- 05バッチ処理と適応型並行処理
- 06ツール選択とレート制限時の再試行
活用シーン
- 01アシスタントでLogicMonitorのリソースを調査
- 02Claude Desktopからローカル接続
- 03複数ユーザー向けにリモートMCP接続を提供
- 04連携を読み取り専用ツールに限定
MCP 対応
LogicMonitorの操作をMCPツールとして公開します。クライアントはSTDIO、SSE、streamable HTTPで接続でき、リモート接続ではBearer tokenやOAuth/OIDCによる認証を選べます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
LogicMonitor MCP サーバー
LogicMonitor 用の Model Context Protocol(MCP)サーバーです。AI アシスタントが LogicMonitor を操作できるようにします。
重要
🛠️ 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 ツール
Cursor で利用できる LogicMonitor MCP ツールを示すスクリーンショット:

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

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

インストール方法
ローカルの LogicMonitor MCP サーバー
Claude Desktop 用に STDIO トランスポートを使用して、LogicMonitor MCP サーバーをローカルで実行します。
# 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 ベースでアクセスできます:
# 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_TRANSPORT | stdio | トランスポートの種類:stdio、sse、または streamable-http |
--address <host:port> | MCP_ADDRESS | localhost:3000 | SSE/HTTP トランスポート用のサーバーアドレス |
--base-path <path> | MCP_BASE_PATH | - | サーバーのベースパス |
--endpoint-path <path> | MCP_ENDPOINT_PATH | /mcp | streamable-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 プロトコルのみを使用するよう自動的に切り替わります。
デバッグとログ
| フラグ | 環境変数 | デフォルト | 説明 |
|---|---|---|---|
--debug | MCP_DEBUG=true | false | 詳細なログを出力するデバッグモードを有効にします |
--log-format <format> | MCP_LOG_FORMAT | human | ログ形式:json または human |
--log-level <level> | MCP_LOG_LEVEL | info | ログレベル:debug、info、warn、または error |
ツール設定
| フラグ | 環境変数 | デフォルト | 説明 |
|---|---|---|---|
--enabled-tools <list> | MCP_ENABLED_TOOLS | all | 有効にするツールのカンマ区切りリスト |
--read-only | MCP_READ_ONLY | true | 読み取り専用ツールのみを有効にします(より安全です)。書き込み操作を有効にするには MCP_READ_ONLY=false を設定します |
LogicMonitor API(必須)
| フラグ | 環境変数 | 説明 |
|---|---|---|
--lm-company <name> | LM_COMPANY | LogicMonitor の会社名/アカウント名(サブドメイン)。例:ポータルが mycompany.logicmonitor.com の場合は、mycompany を使用します |
--lm-bearer-token <token> | LM_BEARER_TOKEN | LogicMonitor API Bearer Token。次の場所で生成できます:Settings > Users & Roles > API Tokens |
MCP サーバーの認証(任意 — SSE/HTTP トランスポートのみ)
| フラグ | 環境変数 | デフォルト | 説明 |
|---|---|---|---|
--mcp-bearer-token <token> | MCP_BEARER_TOKEN | - | MCP サーバーに接続するクライアントを認証するための静的ベアラートークンです。SSE/HTTP トランスポート経由でリモートアクセスする場合、OAuth の代替または追加手段として使用します。STDIO トランスポートでは不要です。 |
| - | OAUTH_PROVIDER | none | OAuth プロバイダーの種類です。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"
レート制限
サーバーは指数バックオフによってレート制限を自動的に処理します。レート制限が継続して発生する場合:
- 同時リクエスト数を減らす
--debugを有効にして、レート制限の詳細を確認する- 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)
コントリビューション
コントリビューションを歓迎します。以下の手順に従ってください。
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更を加えます
npm run lintとnpm run buildを実行します- プルリクエストを送信します
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。