AI 運用エージェントの構築: SSL、DNS、MCP 経由のアップタイム
4 つの MCP ツールを Claude Code または Cursor に接続して、SSL の有効期限、DNS の変更、稼働時間、および自然言語プロンプトからのアクセシビリティを監視します。
本番サイトは午前 2 時にダウンします。 顧客がツイートするまで誰も気づきません。 SSL 証明書の有効期限が 3 日前に切れました。 先週実行した DNS 移行では、MX レコードがサイレントに削除されました。 前回のデプロイによるアクセシビリティの低下により、スクリーン リーダーのナビゲーションが壊れていました。
これらの障害には共通の根本原因があります。つまり、運用チェックがスケジュールどおりに実行されるか、またはまったく実行されないということです。 それを変えることができます。 Botoi MCP サーバーを Claude Code または Cursor に接続すると、AI アシスタントが運用エージェントになります。 SSL の有効期限の確認、DNS レコードの差分、稼働時間の確認、またはアクセシビリティの監査を依頼します。 ツールを呼び出して数秒で構造化された結果を返します。
MCPサーバーに接続します(30秒)
Botoi MCP サーバーは、単一のエンドポイントを通じて 49 の開発者ツールを公開します。 そのうち 4 つはインフラストラクチャの監視を処理します。 lookup_ssl_cert_expiry、 lookup_dns_monitor、 lookup_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エンドポイント。検索、テキスト処理、画像生成、開発者ユーティリティに対応。無料プラン、クレジットカード不要。