MCP Health Monitor
mcp-health-monitor
MCPサーバーのヘルス監視、稼働時間追跡、Azure DevOpsパイプラインのステータス確認、および自然言語ツールによるアラート評価を行います。
機能概要
mcp-health-monitorは、監視対象のMCPサーバーのレジストリを保持し、それらに対して実際のMCPハンドシェイクを実行し、ヘルス履歴をSQLiteに記録します。また、稼働時間、レイテンシ、アラートしきい値をMCPツールを通じて報告します。さらに、Azure DevOpsパイプラインも追跡するため、アプリのヘルスとデリバリーの健全性を同じ場所から確認できます。
クイックスタート
stdio経由でモニターを実行します:
npx -y mcp-health-monitorClaude 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"]
}ツールリファレンス
ツール | 目的 | プロンプト例 |
| 監視対象のMCPサーバーを登録する |
|
| 特定サーバーのライブヘルスチェックを実行する |
|
| 登録済み全サーバーをチェックする |
|
| 稼働時間とレイテンシ統計を返す |
|
| JSON形式のダッシュボードデータを返す |
|
| Markdown形式のレポートを返す |
|
| 登録済みサーバーを表示する |
|
| サーバーの登録を解除する |
|
| しきい値を設定する |
|
| モニターレベルの統計を表示する |
|
| Azureパイプライングループを登録する |
|
| 最新のAzureパイプライン実行状況を読み取る |
|
| Azureビルドログを取得する |
|
| MCPとAzureのヘルスを統合してチェックする |
|
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を使用してサーバーを設定します:
フィールド | 意味 |
| このレイテンシを超えた場合にアラートを出す |
| 選択した期間の稼働率がこの値を下回った場合にアラートを出す |
| この回数連続で失敗した場合にアラートを出す |
アラートはcheck_server、check_all、get_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=1HTTPサーバーヘルスエンドポイント:
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
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