コンテンツへスキップ
Integration

AI 運用エージェントの構築: SSL、DNS、MCP 経由のアップタイム

| 8 min read

4 つの MCP ツールを Claude Code または Cursor に接続して、SSL の有効期限、DNS の変更、稼働時間、および自然言語プロンプトからのアクセシビリティを監視します。

Engineer monitoring multiple screens in a control room
Photo by ThisisEngineering on Unsplash

本番サイトは午前 2 時にダウンします。 顧客がツイートするまで誰も気づきません。 SSL 証明書の有効期限が 3 日前に切れました。 先週実行した DNS 移行では、MX レコードがサイレントに削除されました。 前回のデプロイによるアクセシビリティの低下により、スクリーン リーダーのナビゲーションが壊れていました。

これらの障害には共通の根本原因があります。つまり、運用チェックがスケジュールどおりに実行されるか、またはまったく実行されないということです。 それを変えることができます。 Botoi MCP サーバーを Claude Code または Cursor に接続すると、AI アシスタントが運用エージェントになります。 SSL の有効期限の確認、DNS レコードの差分、稼働時間の確認、またはアクセシビリティの監査を依頼します。 ツールを呼び出して数秒で構造化された結果を返します。

MCPサーバーに接続します(30秒)

Botoi MCP サーバーは、単一のエンドポイントを通じて 49 の開発者ツールを公開します。 そのうち 4 つはインフラストラクチャの監視を処理します。 lookup_ssl_cert_expirylookup_dns_monitorlookup_accessibility、そして /v1/uptime/check REST エンドポイント。

クロード・コード

ターミナルでこれを実行します。

claude mcp add botoi --transport streamable-http https://api.botoi.com/mcp

終わり。 Claude Code は、次の会話でツールを発見します。

クロード デスクトップまたはカーソル

これを構成ファイルに追加します (claude_desktop_config.json クロードデスクトップの場合、 .cursor/mcp.json カーソルの場合):

{
  "mcpServers": {
    "botoi": {
      "type": "streamable-http",
      "url": "https://api.botoi.com/mcp"
    }
  }
}

アプリを再起動します。 49 個のツールがツール ピッカーに表示されます。

ツール 1: SSL 証明書の有効期限を確認する

lookup_ssl_cert_expiry MCP ツールは、ドメインに発行された最新の証明書について crt.sh をクエリします。 発行者、有効期限、残り日数、およびブール値フラグを返します。 expired そして expiring_soon (30 日以内)。

クロードに尋ねてください: 「stripe.com の SSL 証明書の有効期限が 30 日以内に切れるかどうかを確認してください。」

You: "Check if stripe.com's SSL certificate expires within 30 days"

Tool call: lookup_ssl_cert_expiry
Input: { "domain": "stripe.com" }

Result:
{
  "success": true,
  "data": {
    "domain": "stripe.com",
    "issuer": "Let's Encrypt",
    "subject": "stripe.com",
    "valid_from": "2026-02-18T00:00:00.000Z",
    "valid_to": "2026-05-19T00:00:00.000Z",
    "days_remaining": 44,
    "expired": false,
    "expiring_soon": false
  }
}

クロードが読むのは、 days_remaining フィールド (44) と expiring_soon フラグ (false) を設定すると、証明書がさらに 44 日間有効であることがわかります。 いいえ openssl s_client コマンド。 ブラウザ証明書インスペクタはありません。

expiring_soon フラグは 30 日以内にトリガーされます。 Let's Encrypt は有効期限が切れる 30 日前に自動更新されます。 このフラグが true、更新プロセスに問題があります。

ツール 2: DNS レコードの変更を監視する

lookup_dns_monitor MCP ツールは、ドメインの A、AAAA、MX、TXT、NS、および CNAME レコードをクエリします。 各チェック後にスナップショットを KV に保存し (7 日間保持)、現在の結果を前のスナップショットと比較します。 変更されたレコードは changed: true フラグ。

クロードに尋ねます: 「acme.com の DNS レコードを確認し、最後の確認以降の変更があればフラグを立ててください。」

You: "Check DNS records for acme.com and flag any changes since last check"

Tool call: lookup_dns_monitor
Input: { "domain": "acme.com" }

Result:
{
  "success": true,
  "data": {
    "domain": "acme.com",
    "checked_at": "2026-04-05T14:22:01.000Z",
    "previous_check": "2026-04-04T09:15:33.000Z",
    "changes_detected": true,
    "records": {
      "A": {
        "current": ["104.21.32.1", "172.67.180.1"],
        "previous": ["93.184.216.34"],
        "changed": true
      },
      "MX": {
        "current": ["10 mail.acme.com."],
        "previous": ["10 mail.acme.com."],
        "changed": false
      },
      "TXT": {
        "current": ["v=spf1 include:_spf.google.com ~all"],
        "previous": ["v=spf1 include:_spf.google.com ~all"],
        "changed": false
      }
    }
  }
}

クロードは、A レコードが 1 つの IP から 2 つの新しい IP に変更された一方、MX レコードと TXT レコードは同じままであることを発見しました。 昨日 Cloudflare に移行した場合、これらの新しい A レコードにより、伝播が機能したことが確認されます。 そうでない場合は、何かが間違っています。

同じプロンプトを毎日、または DNS 移行後に実行します。 各チェックでは、次の比較のための新しいベースラインが作成されます。

ツール 3: エンドポイントの稼働時間を確認する

稼働時間チェックは次の場所にあります /v1/uptime/check REST エンドポイントとして。 HEAD リクエストを任意の URL に送信し、応答時間を測定し、最大 10 件の履歴チェックを KV に保存します。

curl -X POST https://api.botoi.com/v1/uptime/check \\
  -H "Content-Type: application/json" \\
  -d '{"url": "https://api.acme.com/health"}'

応答には、現在のステータス、応答時間、履歴が含まれます。

{
  "success": true,
  "data": {
    "url": "https://api.acme.com/health",
    "status": 200,
    "response_time_ms": 142,
    "is_up": true,
    "checked_at": "2026-04-05T14:30:00.000Z",
    "history": [
      { "status": 200, "response_time_ms": 138, "checked_at": "2026-04-05T08:00:00.000Z" },
      { "status": 200, "response_time_ms": 155, "checked_at": "2026-04-04T20:00:00.000Z" },
      { "status": 503, "response_time_ms": 5012, "checked_at": "2026-04-04T12:00:00.000Z" }
    ]
  }
}

履歴配列には、昨日の正午の 503 エラーが表示されます。 サービスがサーバー エラーを返すまでの応答時間は 5,012 ミリ秒に急増しました。 クロードはこの履歴を読み取って、ダッシュボードをスキャンしなくてもインシデントにフラグを立てます。

クロードに直接「https://api.acme.com/health が稼働しているかどうかを確認し、応答時間の履歴を表示してください」と尋ねることもできます。 クロードはエンドポイントを呼び出し、結果を要約します。

ツール 4: ページのアクセシビリティを監査する

lookup_accessibility MCP ツールは Web ページを取得し、画像の代替テキスト、lang 属性、ページ タイトル、空のリンク、空のボタン、見出し順序、ビューポート メタ タグ、フォーム ラベル、スキップ ナビゲーション リンク、重複 ID の 10 個のチェックを実行します。 スコア (0 ~ 100)、問題リスト、および概要を返します。

You: "Run an accessibility audit on https://acme.com"

Tool call: lookup_accessibility
Input: { "url": "https://acme.com" }

Result:
{
  "success": true,
  "data": {
    "url": "https://acme.com",
    "score": 70,
    "issues": [
      { "rule": "img-alt", "severity": "error", "count": 3, "description": "Images missing alt text" },
      { "rule": "heading-order", "severity": "warning", "count": 1, "description": "Heading levels skip one or more levels" },
      { "rule": "skip-nav", "severity": "warning", "count": 1, "description": "Missing skip navigation link" }
    ],
    "summary": {
      "errors": 1,
      "warnings": 2,
      "passes": 7,
      "total_checks": 10
    }
  }
}

Claude は、3 つの画像に代替テキストが欠落し、見出しレベルのスキップがあり、スキップ ナビゲーション リンクがないというスコア 70/100 を報告しました。 応答にはルール名と説明が含まれるため、問題ごとに特定の修正を提案できます。

4 つすべてを 1 つのプロンプトにチェーンする

AI 運用エージェントの真の価値は、チェックを組み合わせたときに現れます。 これを試してください:

You: "Full ops check on acme.com: SSL expiry, DNS changes,
uptime for https://acme.com/health, and accessibility audit"

クロードは 4 つのツールすべてを順番に呼び出して、単一のレポートを作成します。

  • acme.com の SSL 証明書: 残り 44 日、まもなく期限切れになります
  • DNS レコード: 昨日から A レコードが変更されました (移行が確認されました)
  • 稼働時間: 200 OK、応答時間 142ms、昨日の正午に 503 インシデント 1 件
  • アクセシビリティ: 70/100、3 つの画像に代替テキストがありません、見出し順序の警告

4 つのツール、1 つのプロンプト、1 つの概要。 ブラウザのタブはありません。 ターミナルウィンドウはありません。 ダッシュボードはありません。

実稼働監視用の API キーを追加する

匿名アクセスでは、1 分あたり 5 件、1 日あたり 100 件のリクエストが許可されます。 これにより、開発中のアドホック チェックが処理されます。 スケジュールされた監視または頻繁な監視の場合は、API キーを追加します。

{
  "mcpServers": {
    "botoi": {
      "type": "streamable-http",
      "url": "https://api.botoi.com/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_KEY"
      }
    }
  }
}

無料の API キーを入手するには、 botoi.com/api 1 日あたり 1,000 リクエストの場合。 有料プランは、1 日あたり 10,000 リクエストの場合、月額 9 ドルから始まります。

ここから構築できるもの

これら 4 つのツールは、インフラストラクチャ監視の基礎をカバーします。 ワークフローを拡張するには次のような方法があります。

  • クロードに、1 つのプロンプトですべてのドメインの SSL 証明書を確認するように依頼します。 それは呼びます lookup_ssl_cert_expiry 各ドメインごとに、30 日以内に期限切れになるものにフラグを立てます。
  • Terraform を適用するたびに DNS 監視を実行します。 予期されるレコードをツールがレポートする内容と比較します。
  • 稼働時間エンドポイントを cron ジョブと組み合わせます。 結果をデータベースに保存し、Claude に傾向の分析を依頼します。「今週、p95 応答時間が 500 ミリ秒を超えるすべてのエンドポイントを表示してください。」
  • リリースごとにアクセシビリティ チェックを実行します。 スコアがしきい値を下回った場合、デプロイをブロックします。

Botoi MCP サーバーは、AI アシスタントに合計 49 のツールを提供します。 を探索してください 完全な MCP セットアップ ドキュメント 完全なツールのリストを確認するか、 APIドキュメント 150 を超えるすべての REST エンドポイントに適用されます。

FAQ

私の SSL 証明書が今月期限切れかどうかをクロードに確認してもらえますか?
はい。 Botoi MCP サーバーに接続し、「example.com の SSL 証明書が今月期限切れかどうかを確認してください」と依頼します。 クロードは lookup_ssl_cert_expiry ツールを呼び出し、days_remaining フィールドを読み取り、証明書の有効期限が 30 日以内に切れるかどうかを示します。
DNS モニター MCP ツールはどのように変更を検出しますか?
lookup_dns_monitor ツールは、ドメインの A、AAAA、MX、TXT、NS、および CNAME レコードをクエリし、KV に保存されている以前のスナップショットと比較します。 これは、changes_detected ブール値と、現在の値と以前の値を示すレコードごとの差分を返します。
これらの MCP 監視ツールを使用するには API キーが必要ですか?
いいえ、匿名アクセスでは 1 分あたり 5 リクエスト、1 日あたり 100 リクエストが可能です。 これにはカジュアルなモニタリングも含まれます。 CI またはスクリプトでスケジュールされたチェックを行うには、botoi.com/api で 1 日あたり 1,000 リクエストに対して無料の API キーを取得します。
どの AI クライアントが Botoi MCP サーバーをサポートしていますか?
Claude Desktop、Claude Code、Cursor、VS Code (GitHub Copilot エージェント モード)、および Windsurf はすべて MCP Streamable HTTP をサポートしています。 サーバー URL https://api.botoi.com/mcp をそれらのいずれかに追加します。
これらのチェックを AI エージェントではなく CI パイプラインで実行できますか?
はい。 すべての MCP ツールは REST エンドポイントにマップされます。 GitHub Actions、GitLab CI、または任意の自動化プラットフォームで、curl または任意の HTTP クライアントを使用して、/v1/ssl-cert/expiry、/v1/dns-monitor/check、/v1/uptime/check、または /v1/accessibility/check を呼び出します。

botoiで開発を始めよう

150以上のAPIエンドポイント。検索、テキスト処理、画像生成、開発者ユーティリティに対応。無料プラン、クレジットカード不要。