Skip to main content
Glama
oaslananka

MCP Health Monitor

mcp-health-monitor

MCPサーバーのヘルス監視、稼働時間追跡、Azure DevOpsパイプラインのステータス確認、および自然言語ツールによるアラート評価を行います。

npm version npm downloads License: MIT Node.js

機能概要

mcp-health-monitorは、監視対象のMCPサーバーのレジストリを保持し、それらに対して実際のMCPハンドシェイクを実行し、ヘルス履歴をSQLiteに記録します。また、稼働時間、レイテンシ、アラートしきい値をMCPツールを通じて報告します。さらに、Azure DevOpsパイプラインも追跡するため、アプリのヘルスとデリバリーの健全性を同じ場所から確認できます。

クイックスタート

stdio経由でモニターを実行します:

npx -y mcp-health-monitor

Claude DesktopまたはVS Code MCPの設定例:

{
  "name": "mcp-health-monitor",
  "version": "1.0.2",
  "mcpName": "io.github.oaslananka/mcp-health-monitor",
  "description": "Monitor MCP server health, uptime, response times, and Azure DevOps pipelines",
  "transport": "stdio",
  "command": "npx",
  "args": ["-y", "mcp-health-monitor"]
}

ツールリファレンス

ツール

目的

プロンプト例

register_server

監視対象のMCPサーバーを登録する

Register https://example.com/mcp as prod-gateway

check_server

特定サーバーのライブヘルスチェックを実行する

Check prod-gateway now

check_all

登録済み全サーバーをチェックする

Check all my MCP servers

get_uptime

稼働時間とレイテンシ統計を返す

Show 24h uptime for prod-gateway

get_dashboard

JSON形式のダッシュボードデータを返す

Give me a 24h dashboard

get_report

Markdown形式のレポートを返す

Generate a Markdown health report for 24h

list_servers

登録済みサーバーを表示する

List all monitored servers

unregister_server

サーバーの登録を解除する

Stop monitoring local-debugger

set_alert

しきい値を設定する

Alert if prod-gateway exceeds 500ms or drops below 99% uptime

get_monitor_stats

モニターレベルの統計を表示する

How many checks has the monitor recorded?

register_azure_pipelines

Azureパイプライングループを登録する

Track CI and Publish pipelines for my repo

check_pipeline_status

最新のAzureパイプライン実行状況を読み取る

Check pipeline status for my release group

get_pipeline_logs

Azureビルドログを取得する

Show the failed logs for the latest Publish build

check_all_projects

MCPとAzureのヘルスを統合してチェックする

Check all projects

Azure DevOps統合

組織、プロジェクト、パイプライン名、およびPATを使用してパイプライングループを登録します:

register_azure_pipelines name="mcp-health-monitor" organization="oaslananka" project="open-source" pipeline_names=["mcp-health-monitor CI","mcp-health-monitor Publish"] pat_token="..."

PATトークンはv1.0ではローカルのSQLiteデータベースにbase64で保存されます。これはエンコードであり、暗号化ではありません。資格情報ストレージに関する注意点を参照してください。

アラート設定

set_alertを使用してサーバーを設定します:

フィールド

意味

max_response_time_ms

このレイテンシを超えた場合にアラートを出す

min_uptime_percent

選択した期間の稼働率がこの値を下回った場合にアラートを出す

consecutive_failures_before_alert

この回数連続で失敗した場合にアラートを出す

アラートはcheck_servercheck_allget_dashboardによってインラインで評価されます。Webhook配信はv1.1で予定されており、v1.0.xにはWebhook用のMCPツールは含まれていません。

データストレージ

  • デフォルトのデータベースパス: ~/.mcp-health-monitor/health.db

  • パスのオーバーライド: HEALTH_MONITOR_DB=/custom/path/health.db

  • オプションのバックグラウンドスケジューラ: HEALTH_MONITOR_AUTO_CHECK=1

  • HTTPサーバーヘルスエンドポイント: GET /health

  • 設定例: .env.example

データベースはファイルベースのデータベースでWALモードを使用し、起動時に自動的にスキーマ移行を適用します。

Docker

ビルドと実行:

docker build -t mcp-health-monitor .
docker run --rm -p 3000:3000 -e HEALTH_MONITOR_AUTO_CHECK=1 mcp-health-monitor

確認:

curl http://localhost:3000/health

開発

npm install
npm run build
npm test
npm run test:integration
npm run lint
npm run lint:test
npm run format:check

デフォルトのNodeランタイムがプロジェクトのターゲットより新しいワークステーションでは、npx --yes -p node@20.19.0 -p npm@10.8.2 npm <command>を使用してください。

アーキテクチャ

高レベルのモジュールマップ:

  • src/app.ts: MCPツールの登録とレスポンスのフォーマット

  • src/checker.ts: リトライ/バックオフを備えたライブMCP接続プローブ

  • src/registry.ts: サーバー、チェック、パイプライン記録のためのSQLite読み書きパス

  • src/db.ts + src/migrations.ts: 接続設定とスキーマアップグレード

  • src/server-http.ts + src/mcp.ts: HTTPおよびstdioのエントリポイント

  • src/scheduler.ts: オプションのバックグラウンド自動チェックループ

詳細はarchitecture.mdを参照してください。

ロードマップ

詳細なマイルストーン計画はROADMAP.mdにあります。

  • [x] v1.0: コア監視、稼働時間、アラート、Azureパイプライン、Markdownレポート

  • [ ] v1.1: Slack、Discord、カスタムエンドポイントへのWebhook通知

  • [ ] v1.2: マルチプロバイダーパイプラインおよび汎用HTTP監視

  • [ ] v2.0: 暗号化されたPATストレージとマルチユーザーサポート

セキュリティ

脆弱性報告についてはSECURITY.mdを、実装固有のストレージ詳細についてはdocs/security.mdを参照してください。

貢献

セットアップ、標準、PRの期待事項についてはcontributing.mdを参照してください。

ライセンス

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/oaslananka/mcp-health-monitor'

If you have feedback or need assistance with the MCP directory API, please join our Discord server