mcpField
M
mcp-server-health-monitor

mcp-server-health-monitor

ローカル
github.com/dbsectrainer開発ツール05 週間前に更新

mcp-server-health-monitor について

mcp-server-health-monitorは、MCPサーバーのプロトコルレベルの稼働確認と履歴管理を行うMCPサーバーです。開発者向けに、list_toolsで対象を確認し、監視データをローカルのSQLiteに保存します。

主な機能

  1. 01list_toolsによるプロトコル確認
  2. 02クライアント設定からサーバーを自動検出
  3. 03ツールスキーマの変更検出
  4. 04SQLiteへの遅延・稼働履歴の保存
  5. 05HTMLステータスダッシュボードの生成
  6. 06バックグラウンドでの定期ポーリング

活用シーン

  1. 01設定済みMCPサーバーの応答確認
  2. 02遅延増加やサーバー劣化の調査
  3. 03更新後のツールスキーマ変更の検出

MCP 対応

MCPサーバーとして、稼働確認、状態、履歴、サーバー登録、更新検出、ダッシュボード出力のツールを公開します。対象サーバーにはlist_toolsを読み取り専用で呼び出して確認します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"dbsectrainer-mcp-server-health-monitor": {
"command": "npx",
"args": [
"-y",
"mcp-server-health-monitor"
],
"env": {
"YOUR_API_KEY": "<YOUR_API_KEY>"
}
}
}
}
起動コマンドnpx -y mcp-server-health-monitor
設定が必要な環境変数
YOUR_API_KEYシークレットYour API key for the service

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

パッケージ
npmmcp-server-health-monitor1.0.0

ツール

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

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

詳細

MCP サーバー ヘルスモニター

npm mcp-server-health-monitor パッケージ

HTTP だけではなく、プロトコルを通じて動作する、MCP ネイティブのヘルスモニタリングです。ポートに ping を送る代わりに、各サーバーで list_tools を呼び出します。これはエージェントが使用するものと同じハンドシェイクであり、ステータスが緑色なら、サーバーが実際に MCP リクエストを処理できる状態であることを意味します。すべてのヘルス履歴はローカルの SQLite に保存されるため、外部の監視サービスは必要ありません。

ツールのリファレンス | 設定 | コントリビューション | トラブルシューティング

主な機能

  • 自動検出:既存の MCP 設定ファイル(Claude Desktop、Cursor、VS Code)を追加設定なしで読み込みます。
  • 非侵襲的なプローブ:対象サーバーで list_tools のみを呼び出します。読み取り専用で、副作用はありません。
  • バージョン差分の検出:チェック間でツールスキーマを比較し、サーバーが更新されたことを検出します。
  • 履歴トレンド:レイテンシ履歴を SQLite に保存します。保存された履歴から p50/p95 をオンデマンドで算出し、障害になる前に性能低下を把握できます。
  • HTML ダッシュボード:サーバーごとの稼働時間をスパークラインで表示する、自己完結型のヘルスダッシュボードを生成します。
  • バックグラウンドポーリング:デーモンとして実行されるため、必要なときにいつでも最新のヘルスデータを取得できます。

汎用稼働監視ツールではなく、これを選ぶ理由

汎用稼働監視ツール(UptimeRobot、Pingdom、BetterStack)は、ポートが開いているか、HTTP エンドポイントが 200 を返すかをチェックします。MCP サーバーにはそれだけでは不十分です。サーバーが稼働中でも、MCP プロトコルのネゴシエーションに失敗したり、壊れたツールスキーマを返したりすることがあります。

mcp-server-health-monitor汎用稼働監視ツール
プローブ方法MCP list_tools 呼び出し — 実際のプロトコルをテストしますHTTP ping または TCP ポートチェック
スキーマ差分の検出バージョン間でツールのシグネチャが変化したことを検出しますプロトコルを認識しない限り不可能です
設定の自動検出Claude Desktop、Cursor、VS Code の設定を自動的に読み込みますサーバーごとに URL を手動で入力
データの保存場所ローカルの SQLite。外部サービスは不要ヘルスデータはベンダーのクラウドに保存
費用無料、セルフホスト可能無料プランには制限あり。履歴/アラートには有料プランが必要

MCP サーバーが本当に正常であることを知りたい場合、つまり単に「プロセスが実行中」であること以上を確認したい場合は、このツールが最適です。

要件

  • Node.js v20.19 以降。
  • npm。

はじめに

以下の設定を MCP クライアントに追加します。

{
  "mcpServers": {
    "health-monitor": {
      "command": "npx",
      "args": ["-y", "mcp-server-health-monitor@latest"]
    }
  }
}

モニターは、登録先と同じ設定ファイルから他の MCP サーバーを自動検出します。追加の設定は必要ありません。

MCP クライアントの設定

Amp · Claude Code · Cline · Cursor · VS Code · Windsurf · Zed

最初のプロンプト

すべてが動作していることを確認するには、MCP クライアントで以下を入力します。

Check the health of all my MCP servers.

クライアントには、各サーバーの現在のレイテンシとヘルス状態を示すステータステーブルが表示されます。

ツール

ヘルスチェック(3 つのツール)
  • health_check_all — list_tools を通じて、設定済みのすべてのサーバーを並列にプローブし、レイテンシを測定して結果を保存します。省略可能な timeout_ms パラメーターを受け付けます(デフォルト:5000)。
  • get_server_status — レイテンシ、最終確認時刻、過去 24 時間のエラー数、最新のエラーメッセージ、p50/p95 のレイテンシパーセンタイルなど、サーバーごとの詳細を返します。server_name が必要です。
  • list_degraded — オフラインのサーバー、またはレイテンシがしきい値を超えているサーバーを絞り込みます。省略可能な latency_threshold による上書きを受け付けます。
履歴(1 つのツール)
  • get_history — 特定のサーバーの生のヘルスチェック履歴を、最新のものから順に返します。server_name が必要です。省略可能な limit を受け付けます(デフォルト:50、最大:500)。
サーバーレジストリ(2 個のツール)
  • configure_server — 監視対象として新しい MCP サーバーを登録します。この方法で追加したサーバーは ~/.mcp/extra-servers.json に保存され、自動検出されたサーバーと統合されます。必須:name、command。任意:args、env。
  • remove_server — 手動で登録したサーバーを監視対象から削除します。configure_server で追加したサーバーだけに影響し、自動検出されたサーバーには影響しません。name が必要です。
更新(1 個のツール)
  • check_updates — 各プローブでツールスキーマをハッシュ化し、最後に保存されたハッシュと比較してバージョンの不一致を検出します。サーバーごとに has_changed、previous_hash、current_hash、changed_at を返します。
エクスポート(1 個のツール)
  • export_dashboard — 概要カード、サーバーごとの状態テーブル(p50/p95 レイテンシ付き)、インライン SVG の稼働時間スパークラインを含む、自己完結型の単一ファイル HTML ダッシュボードを生成します。省略可能な output_path を指定すると、ディスクに書き込みます。

サーバーレジストリの手動登録

MCP 設定ファイルからの自動検出に加えて、configure_server ツールを使用すると、Claude Desktop の設定に含まれていないサーバーを登録できます。手動登録したサーバーは ~/.mcp/extra-servers.json(正常性データベースと同じ場所)に書き込まれ、各プローブで自動検出されたサーバーと統合されます。

Add a server named "my-internal-tool" running with command "node" and args ["/opt/tools/server.js"]

手動登録したサーバーの監視を停止するには:

Remove the server named "my-internal-tool" from monitoring

Claude Desktop の設定から検出されたサーバーは remove_server で削除できません。削除するには、MCP 設定ファイルを直接編集してください。

設定

--interval / --interval-seconds

各 MCP サーバーをポーリングする間隔(秒)です。

型:number デフォルト:60

--latency-threshold

サーバーを劣化状態と判定するレイテンシのしきい値(ミリ秒)です。

型:number デフォルト:1000

--db / --db-path

正常性の履歴を保存する SQLite データベースファイルのパスです。

型:string デフォルト:~/.mcp/health.db

--daemon

バックグラウンドポーリングデーモンとして実行します。正常性データはオンデマンドではなく、継続的に収集されます。

型:boolean デフォルト:false

--startup-grace-seconds

新しく起動したサーバーを異常と見なすまでの猶予期間(秒)です。

型:number デフォルト:10

JSON 設定の args プロパティでフラグを渡します:

{
  "mcpServers": {
    "health-monitor": {
      "command": "npx",
      "args": ["-y", "mcp-server-health-monitor@latest", "--interval=30", "--latency-threshold=500"]
    }
  }
}

掲載先

  • MCP Registry に掲載されています — mcp-server-health-monitor を検索してください。
  • MCP Market に掲載されています — mcp-server-health-monitor を検索してください。

検証

新しいバージョンを公開する前に、MCP Inspector でサーバーを検証し、すべてのツールが正しく公開され、プロトコルのハンドシェイクが成功することを確認してください。

対話型 UI(ブラウザーを開きます):

npm run build && npm run inspect

CLI モード(スクリプト/CI 向け):

# List all tools
npx @modelcontextprotocol/inspector --cli node dist/index.js --method tools/list

# List resources and prompts
npx @modelcontextprotocol/inspector --cli node dist/index.js --method resources/list
npx @modelcontextprotocol/inspector --cli node dist/index.js --method prompts/list

# Call a tool (example — replace with a relevant read-only tool for this plugin)
npx @modelcontextprotocol/inspector --cli node dist/index.js \
  --method tools/call --tool-name health_check_all

# Call a tool with arguments
npx @modelcontextprotocol/inspector --cli node dist/index.js \
  --method tools/call --tool-name health_check_all --tool-arg key=value

公開前に実行して、ツール登録やランタイム起動のリグレッションを検出してください。

コントリビューション

プローブモジュールは src/probes/ にあります。各プローブは status、latencyMs、および省略可能な message を含む ProbeResult を返す必要があります。すべてのプローブは読み取り専用にしてください。監視対象のサーバーで副作用を引き起こしてはいけません。

npm install && npm test

コメント

MCP は初めてですか?

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

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